Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Abbiamo provato per diversi giorni una new entry del mercato italiano, la Gowow Ori, una moto elettrica da off-road, omologata anche per la strada, che sfrutta una pendrive USB per cambiare radicalmente le sue prestazioni
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design
OnePlus 15 nasce per alzare l'asticella delle prestazioni e del gaming mobile. Ma non solo, visto che integra un display LTPO 1,5K a 165 Hz, OxygenOS 16 con funzioni AI integrate e un comparto foto con tre moduli da 50 MP al posteriore. La batteria da 7.300 mAh con SUPERVOOC 120 W e AIRVOOC 50 W è la ciliegina sulla torta per uno smartphone che promette di offrire un'esperienza d'uso senza alcun compromesso
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media
Vediamo come si comporta il Ryzen 5 7500X3D, nuovo processore di casa AMD che fonde 6 core Zen 4 con la tecnologia 3D V-Cache, particolarmente utile in scenari come il gaming. Annunciato a un prezzo di listino di 279€, il nuovo arrivato sarà in grado di diventare un riferimento per i sistemi budget? Ecco cosa ne pensiamo.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-05-2025, 17: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, 15: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, 15: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, 08: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, 21: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


Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media AMD Ryzen 5 7500X3D: la nuova CPU da gaming con ...
SONY BRAVIA 8 II e BRAVIA Theatre System 6: il cinema a casa in formato compatto SONY BRAVIA 8 II e BRAVIA Theatre System 6: il c...
KTC H27E6 a 300Hz e 1ms: come i rivali ma a metà prezzo KTC H27E6 a 300Hz e 1ms: come i rivali ma a met&...
Mai così tanti gas serra: il 2025...
Google condannata in Germania: favorito ...
Ubisoft rimanda i risultati finanziari e...
ADATA porta i primi moduli DDR5 CUDIMM 4...
Bob Iger anticipa le novità AI di...
Microsoft Teams 'spierà' i dipend...
Michael Burry chiude Scion e fa di nuovo...
Huawei prepara i nuovi Mate 80: fino a 2...
Una e-Mountain Bike di qualità ma...
Tutte le offerte Amazon Black Friday pi&...
DJI Mini 4K Fly More Combo con 3 batteri...
Crollo di prezzo sui nuovissimi iPhone A...
Uno smartphone super economico ma potent...
Offerte Black Friday: PlayStation 5 ora ...
Samsung alza i listini fino al 60%: sta ...
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: 18:53.


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