PDA

Visualizza la versione completa : Acquisire campi da ultime tre righe di tabella


Gas75
02-02-2020, 22:22
Salve, ho un problemino in PHP. Riesco a stampare due campi da una riga casuale, ma non lo stesso campo dalle ultime tre righe inserite nella medesima tabella.
Il codice per la riga casuale č questo:

$sql = "SELECT vocabolo,definizione FROM diz ORDER BY RAND() LIMIT 1";$rs = mysqli_query($link, $sql) or die("Errore query database");$riga = mysqli_fetch_array($rs);$vocabolo = $riga['vocabolo'];$definizione = $riga['definizione'];echo "<p style='text-align:center;font-size:20px'><span class='vocabolo'>$vocabolo</span> $definizione</p>";Mentre quello per gli ultimi tre campi č questo (in HTML non riesco a passare $vocabolo, ma soltanto la formattazione del paragrafo):

$sql="SELECT id AND vocabolo FROM diz ORDER BY id DESC LIMIT 3";$rs = mysqli_query($link, $sql) or die("Errore query database");$count="0";$riga = mysqli_fetch_array($rs);$vocabolo = $riga['vocabolo'];while ($count < "3") {echo "<p style='text-align:center;font-weight:bold;'>$vocabolo</p>";$count++;}Dove sta l'inghippo?

boots
03-02-2020, 14:13
L'inghippo č che non scorri il result set.


$rs = ....
while($riga = mysqli_fetch_array($rs)){
echo $riga['vocabolo'];
}

Gas75
08-02-2020, 14:09
Ho sistemato un po', mi stampa terzultimo e penultimo vocabolo.

$sql="SELECT id, vocabolo FROM diz ORDER BY id DESC LIMIT 3";
$rs = mysqli_query($link, $sql) or die("Errore query database");
$riga = mysqli_fetch_array($rs);
while ($riga = mysqli_fetch_array($rs)) { echo "<p style='text-align:center;font-weight:bold;'>"; echo $riga['vocabolo']; echo "</p>";}
Per visualizzare anche l'ultimo, devo invocare le tre righe di echo anche fuori dal while.:confused:

Alhazred
08-02-2020, 17:32
Una riga te la mangi col fetch prima del while, toglilo.

Gas75
09-02-2020, 18:07
Hai ragione, cosė funziona perfettamente:

$sql="SELECT id, vocabolo FROM diz ORDER BY id DESC LIMIT 3";
$rs = mysqli_query($link, $sql) or die("Errore query database");while ($riga = mysqli_fetch_array($rs)) { echo "<p style='text-align:center;font-weight:bold;'>"; echo $riga['vocabolo']; echo "</p>";}
Inizialmente era un codice per stampare un solo vocabolo corrispondente all'id pių recente, dovevo mettere tutto nel while assegnando lė il valore a $riga...

Loading