ciao a tutti!
c'è una cosa che prorpio non riesco a capire! O.o
come possono 2 codici identici dare risultati diversi?
mi spiego meglio....devo prelevare dei dati da un DB....
considerate questi 2 file in php:
1) agenzia.php: (l'ha fatta un mio amico..e funziona)
<?php
// dati per la connessione al database
$db_host = "localhost";
$db_user = "root";
$db_password = "PSW";
$db_name = "agenzia";
// connessione al database
$db = mysql_connect ($db_host, $db_user, $db_password);
$db_forum = mysql_select_db ($db_name, $db);
$query = "SELECT `nome`, `cognome`, `datanascita` FROM `agenti` ORDER BY `cognome`";
$query_results = mysql_query($query);
$i = 0;
while($fetch = mysql_fetch_array($query_results))
{
$i++;
echo "&nome".$i."=".$fetch['nome']."
";
echo "&cognome".$i."=".$fetch['cognome']."
";
echo "&datanascita".$i."=".$fetch['datanascita']."
";
}
if($i)
{
echo "&i=".$i;
echo "&ok=1";
echo "&stop=1";
}
else
{
echo "&ok=0";
echo "&stop=1";
}
?>
che facendo partire da come risultati:
&nome1=Pippo
&cognome1=Franco
&datanascita1=13121980
&nome2=valentino
&cognome2=rossi
&datanascita2=12122000
&i=2&ok=1&stop=1
cioè i risultati corretti!!!!!
Mentre il secondo file è:
2) funzionera.php (che ho invece creato io,ma praticamente rifacendo il codice del file di prima...quasi identico!)
<?php
//dati per la connessione al DB
$db_host = "localhost";
$db_user = "root";
$db_password = "PSW";
$db_name = "agenzia";
//connessio al DB
$db = mysql_connect($db_host,$db_user,$db_password);
$db_forum = mysql_select_db($db_name,$db);
//creo la query per estrazione dati da DB
$query = "SELECT 'nome' , 'cognome' , 'datanascita' FROM agenti ORDER BY 'cognome'" ;
//applico la $query e ottengo $query_result (un identificativo di risultato)
//la variabile "i" serve per conoscere il numero esatto dei record restituiti.
$query_result = mysql_query($query);
$i = 0;
//faccio un ciclo per estrerre 1 riga alla volta da $query_result
//$riga è un array che memoricca 1 riga alla volta(cioè un risultato alla volta)
while($riga = mysql_fetch_array($query_result)){
$i++;//incremento il contatore
//creo "virtualmente" un file di testo che verrà letto dal FLASH
echo "&nome".$i."=".$riga['nome']."
";
echo "&cognome".$i."=".$riga['cognome']."
";
echo "&datanascita".$i."=".$riga['datanascita']."
";
}
//nel "file di testo virtuale" scriviamo anche il numero di righe lette dal DB...cosi' informiamo il FLASH di quanti tisultati deve leggere
//$ok serve a controllare che la query abbia restituito almeno 1 record
if($i){
echo "&i=".$i;
echo "&ok=1";
echo "&stop=1";
}
else{
echo "&ok=0";
echo "&stop=1";
}
?>
che invece restituisce come risultati:
&nome1=nome
&cognome1=cognome
&datanascita1=datanascita
&nome2=nome
&cognome2=cognome
&datanascita2=datanascita
&i=2&ok=1&stop=1
IO NON RIESCO A CAPIRE PERCHè il mio codice non funziona...mentre quelo del mio amico si!
sono scioccata!!!
![]()
![]()
![]()
![]()
qualcuno può aiutarmi?