Incolonnare risultati query (mysql_result deprecato...)

  • Creatore Discussione Creatore Discussione TpD
  • Data di inizio Data di inizio

TpD

Nuovo Utente
29 Nov 2018
5
1
3
Ciao a tutti,
come da titolo, vorrei continuare ad avare la mia bella pagina dove vengono estrapolati e incolonnati a 3 i dati proveniente da un database.

Partendo con la premessa che le mie conoscenze di PHP risalgono al 2008 e anche il codice è datato in quegli anni, il server su cui è appoggiato il mio sito ha giustamente aggiornato la versione di PHP e di conseguenza ho scoperto che tutte le funzioni mysql_ sono deprecate (tipo da un migliaio danni...).

In questi giorni sono riuscito a sistemare le varie pagine (spesso semplicemente aggiungendo una i) e tutto è tornato a funzionare come prima, tuttavia, come sicuramente saprete meglio di me, non c'è "i" che possa salvare la funzione mysql_result, che a quanto pare teneva in piedi la suddetta pagina con i risultati incolonnati.

Sicuramente non sono l'unico ad aver avuto questo problema e infatti ho trovato varie discussioni a riguardo, ma leggendo le innumerevoli soluzioni proposte non ho capito come metterle in atto nel mio caso specifico (2008 = 12 anni di analfabetizzazione di ritorno da PHP).


Il codice in oggetto in breve ( per abbreviare ho tolto la parte di connessione e dove vengono stampati i risultati - fatemi sapere se è meglio riportare tutta la pagina):

PHP:
[...]

$sql = "SELECT;
$result = $conn->query($sql);
$number = mysqli_num_rows($result);
$y = 0;
?>

<div class="w3-row w3-padding-24">

<?

$numerocolonne=3;
////numero di colonne della tabella html
$numerorighe=0;
while ($number > $y)
{
if ($numerorighe>$numerocolonne-1) {$numerorighe=0; print '</div><div class="w3-row">';}
$i = 0;

////estrapolo i valori delle colonne della tabella users
$id= mysql_result($result,$y,"id");   
$nome= mysql_result($result,$y,"nome");   
$ruolo= mysql_result($result,$y,"ruolo");   
$immagine= mysql_result($result,$y,"immagine");   
 

////inizio a stampare a video i risultati, aprendo un <td>

[... Tutto il bla bla per stampare i risultati...]

////chiudo il ciclo della query
$y++;   
$numerorighe++;}



Spero che qualcuno possa aiutarmi.

Grazie e buona divanata
 
Sicuramente non sono l'unico ad aver avuto questo problema e infatti ho trovato varie discussioni a riguardo, ma leggendo le innumerevoli soluzioni proposte non ho capito come metterle in atto nel mio caso specifico (2008 = 12 anni di analfabetizzazione di ritorno da PHP). peliculas online
 
Prova ad utilizzare mysqli_fetch_assoc

Grazie per la dritta!

Effettivamente mi è bastato sostituire:
PHP:
$id= mysql_result($result,$y,"id");   
$nome= mysql_result($result,$y,"nome");   
$ruolo= mysql_result($result,$y,"ruolo");   
$immagine= mysql_result($result,$y,"immagine");

Con:
PHP:
$row = mysqli_fetch_assoc($result);

E poi richiamare il contenuto delle righe direttamente quando vengono stampati i dati ($row["nome"], ...).

Grazie ancora.
 
  • Like
Reactions: Tommy03

Discussioni simili