Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-05-2025, 16:13   #1
roccochioloMO
Junior Member
 
Iscritto dal: May 2025
Messaggi: 9
classe che estrae ed impagina i dati

buonasera a tutti sono nuovo del forum , ho un problema con una classe che estrae i dati da mysqli e l impagina dentro una tabella , soltanto che non capisco dove sbaglio : posto il codice cosi e tutto molto piu chiaro.
Cosi creo ed estraggo i dati dentro una tabella e li passo alla classe
Codice PHP:
$fields = array();
$fields[0]['type'] = "";
$fields[0]['name'] = "titlearticle";  //questo e il nome che deve richiamare le singole tabrlle
$fields[0]['value'] = "yyyyyyy";
$fields[0]['title'] = "titolo";
$fields[0]['align'] = "left";
$options = array();
$options['limit']     = "4";
$options['callback']='_ArticlesField';

$grid = new DataGrid;
$grid->gridstart("Articles","Articles xxx",'SELECT * FROM `articles`  $sortjoin'
                                       
'SELECT COUNT(*) AS total   FROM articles',
                                       
' SELECT * FROM article WHERE arttitle LIKE \'%$searchstr%\' $sortjoin'
$fields$options);
$grid->displaygrid("Articles"); 
cosi posto quello che estraggo :
Codice PHP:
if ($options["callback"] !='' && is_callable($options["callback"]))
{
                
$rowresult call_user_func($options["callback"], array($dbcore->Record2$fields[0]['name']));
} else {
                
$rowresult $dbcore->Record2;
}
    echo 
preg_replace_callback("/\[(.*)\]/e""\$rowresult['\\1']"$tdrow); 
dove ci sta $options["callback"] chiamo una funzione per far rendere editabile il testo.
qui postoun applicazione che serve ad rendere il testo scaricato editabbile

questo e il var_dump:
Quote:

array(16) {
["articleid"]=>
string(1) "3"
["categoryid"]=>
string(1) "0"
["staffid"]=>
string(1) "1"
["titlearticle"]=>
string(147) "
string(1) "1"
["editeddateline"]=>
string(10) "1745705801"
["editedstaffid"]=>
string(1) "1"
["views"]=>
string(1) "9"
["totalcomments"]=>
string(1) "0"
["hasattachments"]=>
string(1) "0"
["dateline"]=>
string(10) "1745461343"
["displayorder"]=>
string(1) "2"
["articlestatus"]=>
string(1) "1"
["articlerating"]=>
string(1) "1"
["ratinghits"]=>
string(1) "0"
["ratingcount"]=>
string(1) "0"
}
grazie mille a tutti
roccochioloMO è offline   Rispondi citando il messaggio o parte di esso
Old 17-05-2025, 14:52   #2
roccochioloMO
Junior Member
 
Iscritto dal: May 2025
Messaggi: 9
buongiorno per favore aiuto
roccochioloMO è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2025, 14:13   #3
Vale-85
Junior Member
 
Iscritto dal: Jun 2025
Messaggi: 1
Ciao,

Il codice che hai postato sembra ben strutturato nel flusso generale, ma ci sono un paio di punti critici da chiarire.
1. Uso di preg_replace_callback() con "/\[(.*)\]/e"

Questo è il punto più problematico:

echo preg_replace_callback("/\[(.*)\]/e", "\$rowresult['\\1']", $tdrow);

L’uso del modificatore e in preg_replace() è deprecato da PHP 5.5 e rimosso in PHP 7.0. Per ottenere lo stesso effetto oggi, dovresti usare preg_replace_callback() con una funzione anonima, tipo così:

echo preg_replace_callback("/\[(.*?)\]/", function($matches) use ($rowresult) {
return isset($rowresult[$matches[1]]) ? $rowresult[$matches[1]] : '';
}, $tdrow);

2. Callback personalizzato

La parte con:

if ($options["callback"] !='' && is_callable($options["callback"])) {
$rowresult = call_user_func($options["callback"], array($dbcore->Record2, $fields[0]['name']));
} else {
$rowresult = $dbcore->Record2;
}

va bene come logica, ma verifica che:

La funzione _ArticlesField() restituisca effettivamente un array strutturato come Record2

I nomi delle chiavi corrispondano a quelli nel preg_replace_callback() (case sensitive!)

3. Suggerimento aggiuntivo

Se il tuo obiettivo è costruire una griglia tabellare con campi editabili su dati MySQL, potresti valutare anche un approccio più modulare e moderno, basato su template engine o librerie JS frontend.
A me, per esempio, è capitato di collaborare con https://pma.agency/, che sviluppa gestionali web personalizzati e lavora anche su soluzioni che permettono l’editing inline dei dati tramite interfacce AJAX – magari può darti qualche spunto se il progetto cresce.

Fammi sapere se riesci a risolvere con queste modifiche, oppure posta anche un esempio di $tdrow così vediamo cosa deve essere renderizzato esattamente.
Vale-85 è offline   Rispondi citando il messaggio o parte di esso
Old 20-06-2025, 07:02   #4
roccochioloMO
Junior Member
 
Iscritto dal: May 2025
Messaggi: 9
Ciao ti ringrazio dei preziosi suggerimenti sono riuscito a ad adattare la classe , stasera appena sono davanti al PC ti posto come ho risolto ! Grazie mille gentilissimo
roccochioloMO è offline   Rispondi citando il messaggio o parte di esso
Old 20-06-2025, 20:51   #5
roccochioloMO
Junior Member
 
Iscritto dal: May 2025
Messaggi: 9
ciao ho risolto cosi :
Codice PHP:
for ($i=0$i <count($fields); $i++){
   if (isset(
$options["callback"]) && is_callable$options["callback"]) )
  {
$rowresult =  call_user_func($options["callback"], array($rowfields,$fields)   );
  } else {
 
$rowresult  =   $rowfields ;
 } 
$cnt++;
  
 
$tdrow '<td'$tdC_colspan[$i] .$tdC_width[$i] .$tdC_align[$i]  .$tdC_valign[$i].'><span  class="smalltext">['$fields[$i]["name"] .']';
 echo  @
preg_replace"/\[(.*)\]/"$rowresult[$fields[$i]["name"]] , $tdrow  );
$tdrow .='</span></td>'.CMS_CRLF;
}
echo 
'</tr>';

roccochioloMO è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Sony 400mm f/4.5 e 600mm f/6.3 GM: un gr...
Anche gli avvocati sono a rischio? OpenA...
JBL Tune Beam 2 a 59€ (invece di 99€): a...
Pioggia di sconti con Engwe: e-bike con ...
HONOR Pad 20 e Pad 20 Pro: due tablet pe...
La difesa secondo Thales: arriva HexaFor...
Lo stile di Corsair, la qualità p...
Su Amazon 2 MacBook Pro con chip M5 Pro,...
Amazon Music Unlimited gratis fino a 4 m...
Samsung Galaxy Watch8 Classic a 299€ e G...
CMF Headphone Pro a 69€: sono delle eleg...
GoPro nel Micro Four Thirds con un innes...
Razer presenta Tartarus V2 Pro: la nuova...
VPN e DNS nel mirino: la proposta che vu...
Porsche ci riesce: batterie 'rinate' dal...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:41.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v