PDA

View Full Version : mysql aiutatemi a capire...


D4rkAng3l
04-09-2005, 18:39
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

Gremo
04-09-2005, 22:35
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 :D, scarica un buon libro e vedrai!! )