script php problema con il ciclo for

salve ho un problema con il ciclo for, ossia nn so in quale parte di script php mettere questo ciclo e sopratutto nn so come impostarlo per meglio capire vi mostro il mio codice:

<?php 
$nomeHost= "localhost"; 
$nomeUtente= "root"; 
$password= ""; 
$db= mysql_connect($nomeHost, $nomeUtente, $password) or die("Non riesco a creare la connessione"); 
$nomeDB="cercalibri"; 

mysql_select_db($nomeDB) or die("Non trovo il DB"); 
$id = 1; 
$query = "SELECT id FROM libri WHERE id=".$id.""; 
$result = mysql_query($query) or die("errore nella query"); 
if($result){ 
  $my_array = mysql_fetch_array($result); 
 echo $my_array[0]; 
} 

mysql_close($db); 
?>[/codice]
praticamente questo codice mi stampa a video sempre un solo dato, io vorerei che mi stampasse anche piu dati come il titolo, l'autore, la casaeditrice per farlo avrei bisogno di un ciclo for mi date un consiglio su come realizzarlo? prendendo come punto di partenza il mio script
inviato 8 anni fa
mela81
X 0 X

Quando devi mostrare dati diversi ma tutti appartenenti ad uno stesso record del database allora non ti serve un ciclo FOR ma semplicemente devi prima richiedere correttamente tali dati nella query e poi mostrarli uno ad uno.

La tua query invece richiede solo l'id: SELECT id FROM ....

modificale in modo da richiedere anche gli altri dati di interesse: SELECT id, titolo, autore FROM libri

per mostrare poi questi dati basta aggiungere altri echo:

echo $my_array[0]; // mostra l'id

echo $my_array[1]; // mostra il titolo

echo $my_array[2]; // mostra l'autore

ti consiglio comunque di leggere questa quida:

http://www.phpnews.it/corsi/corso-php-mysql/

:bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

:)grazie dell'aiuto e del consiglio.

p.s. scusami, forse ti sembrera che approfito ma vorrei un chiarimento, siccome questa tabella ha + righe nel senso che nella prima riga c' un autore con relativo codice titolo libro casa editrice nella seconda c'e un atro autore nella terza ancora un altro, ecc. per evitare che quando in un eventuale form, per esempio inserisco i dati del secondo autore, mi esca sempre la scritta relativa al primo autore come devo fare?

risposto 8 anni fa
mela81
X 0 X

Ogni riga si distingue dall'altra almeno per i campi che compongono la hiave primaria. E' grazie a questi campi (ad esempio l'ID) che puoi leggere o scrivere esattamente una riga della tabella. Quindi quando gestisci i dati di una particolare riga, ad esempio li vuoi visualizzare o modificare, necessario che lo script possieda il valore del campo chiave, in modo da creare query contenenti questo valore nella clausola WHERE:

SELECT .... WHERE id = ...

UPDATE ... WHERE id = ...

:bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

scusami ho potuto vedere solo ora la posta, se ben capito devo fare + select?

risposto 8 anni fa
mela81
X 0 X

dipende da cosa vuoi fare... descrivi esattamente cosa vuoi fare

:bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

praticamente io vorrei fare in questo modo:

quando metto ne form altri dati, per esempio 3 spingendo la notte pi in l Mario Calabresi mondadori, premendo il tasto cerca dal browser non mi uscisse sempre la scritta: 1va dove ti porta il cuoresusanna tamaro, che corrisponde alla prima riga della tabella cioe al codice uno e non al codice 3 Ecco il mio problema come posso risolverlo?

p.s.girando in internet ho trovato queso script

che riguarda un databese rispecchia quello che voglio fare io ma c' qualche errore e non va, forseda questo codice potrai intuire come vorrei sisstemare il mio script eccolo

<?php 
$nomeHost= "localhost"; 
$nomeUtente= "root"; 
$password= ""; 
$db= mysql_connect($nomeHost, $nomeUtente, $password) or die("Non riesco a creare la connessione"); 
$nomeDB="cercalibri"; 
mysql_select_db($nomeDB) or die("Non trovo il DB"); 
$x=$autore;
if ($x==0)
exit;
else

$query = "SELECT autore FROM libri WHERE (autore=$x)";
$result = mysql_query($query) or die("errore nella query"); 
$num=mysql_num_rows($rresult);

if($num==0)

echo "Nessun Autore o altro trovato!";




 while($dati=mysql_fetch_row($res))




echo "";
$id=$dati[0];
$titolo=$dati[1];
$autore=$dati[2];
$casaeditrice=$dati[3];



}

mysql_close($db);

};

?>
risposto 8 anni fa
mela81
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda