Quote:
Originariamente inviato da D4rkAng3l
Aiutatemi a capire l'effettivo significato di questa query:
$query = "SELECT id,data,titolo FROM news ORDER BY data DESC LIMIT 0,5";
Sul tutorial dice che la quey seleziona gli ultimi 5 articoli in ordine cronologico...ma che vuol dire selezionare in mysql?vengono marcati in qualche modo? o vengono messi da qualche parte?
Poi fà:
$result = mysql_query($query, $db);
esegue la query precedentemente dichiarata e mette il risultato in $result ma che c'è in $result? un identificatore della riga nel db?
Non mi è del tutto chiara questa parte di codice:
while($row = mysql_fetch_array($result)){
echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row['data']) .
" - $row[titolo]</a><br>";
}
che fà di preciso la funzione mysql_fetch_array()
Grazie
|
la SELECT:
fa una partizione orizzontale della tabella (anche se, in QUESTO caso, non partiziona niente poichè non è spacificata la clausola WHERE, quindi in QUESTO caso seleziona tutte le righe o tuple ordinate secondo il campo data ordine decrescente (quindi recenti prima), con limite 5, quindi le prime 5 righe, tendo poi solo le colonne id, data, titolo
non ricordo di preciso, ma il risultato di mysql_query dovrebbe essere una specie di identificatore di risorse. cosa importate è controllare che esista con qualcosa dle tipo if($results) -> BUONO, else -> CATTIVO (buono e cattivo come validità della risorsa, non come numero di risultati)
mysql_fetch_array "trasforma" ogni riga contentua del tuo $results in un array associativo (le chiavi sono i nomi delle colonne della tabella, i valori sono i valori) quindi puoi usare facilmente es. echo $row['id'] per stampare a video il contenuto della colonna id per quella data riga. il fatto che ci sia un ciclo è normale, in quanto scorre una per una le (eventuali) righe della query sul db. il ciclo ritorna FALSE se le righe sono finite
ps. avevo voglia di scrivere

, scarica un buon libro e vedrai!! )