PDA

View Full Version : [PHP] Visualizzazione dati


Traxsung
04-09-2006, 12:06
Un volta inseriti i dati all'interno del mio database, ho la necessità di visualizzarli in una pagina per l'eventuale consultazione.
Per far questo ho utilizzato la funzione mysql_fetch_row().... ma purtroppo mi crea non pochi problemi.

Di seguito riporto il codice da me scritto:


$sql = "SELECT NOME,COGNOME,INDIRIZZO FROM rubrica"; $result = mysql_query($sql); $array = mysql_fetch_row($result); print "NOME: ".$array[0]."<br>"; print "COGNOME: ".$array[1]."<br>"; print "INDIRIZZO: ".$array[1]."<br>";



Di seguito invece riporto l'errore che mi visualizza a video:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\gestionale peppe\visualizza.php on line 18
NOME:
COGNOME:
INDIRIZZO:

Da cosa può dipendere ?

Fenomeno85
04-09-2006, 12:15
scrivere su + righe no è :)

comunque


$sql = "SELECT NOME,COGNOME,INDIRIZZO FROM rubrica";
$result = mysql_query($sql);
$array = mysql_fetch_row($result);

print "NOME: ".$array[0]."<br>";
print "COGNOME: ".$array[1]."<br>";
print "INDIRIZZO: ".$array[1]."<br>";


dovresti fare:

$count=mysql_num_rows($result);

for ($i=0;$i<$count; $i++) //stampi i dati


indirizzo sarà anche nel 2 ;)
~§~ Sempre E Solo Lei ~§~

loris_p
04-09-2006, 12:15
la connessione al database l'hai precedentemente aperta, vero? :fagiano:
non manca nel codice sql where?
non è obbligatoria.. :)
serve solo a restringere la tabella dei risultati..

andbin
04-09-2006, 12:16
Da cosa può dipendere ?Hai testato quanto vale $result?? La query per qualche motivo (che non saprei) può essere fallita.

Traxsung
04-09-2006, 12:29
Per Fenomeno85

Ho fatto come dici te... ma contunuo ad avere sempre lo stesso problema:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\gestionale peppe\visualizza.php on line 18


Per Andbin

Come faccio a testa $result??
basta un print $result ??

Traxsung
04-09-2006, 12:37
ho provato a fare un stampa per vedere se mi stampa $result. Riporto il codice:

<?
// dati per la connessione al database

$db_host = "localhost";
$db_user = "root";
$db_password = "";
$db_name = "test";

// connessione al database

$db = mysql_connect ($db_host, $db_user, $db_password);
$db_forum = mysql_select_db ($db_name, $db);

// query di inserimento


$result = mysql_query("SELECT NOME,COGNOME,INDIRIZZO FROM rubrica");
echo $result;

?>


Purtroppo non mi visualizza nulla :muro:
Questo vuol dire che non esegue la query ??

Traxsung
04-09-2006, 13:01
per quanto riguarda la visualizzazione ho risolto ^_^
Il problema stava nel fatto ho sbagliato ad inserire il campo. Ovvero io inserivo il campo INDIRIZZO, quando in realtà era TELEFONO :p

Questo è il codice corretto:
$result = mysql_query($sql) or die ("Errore: " .mysql_error() );
$array = mysql_fetch_row($result); print "NOME: ".$array[0]."<br>"; print "COGNOME: ".$array[1]."<br>"; print "INDIRIZZO: ".$array[1]."<br>";

Così facendo però lui mi stampa solamente il contenuto della prima riga.
Se io volessi visualizzare il contenuto di tutte le righe devo usare un ciclo for ??

d4rkstar75
04-09-2006, 13:19
Ciao,
potresti usare un ciclo while del tipo:

$result = mysql_query($sql)
or die ("Errore: " .mysql_error() );
while($array = mysql_fetch_row($result)) {
print "NOME: ".$array[0]."<br>";
print "COGNOME: ".$array[1]."<br>";
print "INDIRIZZO: ".$array[1]."<br>";
}

Traxsung
04-09-2006, 13:40
Grazie d4rkstar75... ho risolto proprio con un ciclo while :D