Salve a tutti, ho un codice che esegue queste operazioni:
Codice PHP:
$query = "SELECT * FROM table
WHERE Data='$date'
ORDER BY ID ASC";
$result = mysql_query($query, $db);
if(mysql_num_rows($result) != 0){
echo mysql_num_rows($result);
while($data=mysql_fetch_array($result)){
//Fai conti
//Chiama una funzione
}
}
Il problema è questo: mysql_num_rows restituisce correttamente 2, ma purtroppo all'interno del while fa 1 solo ciclo!! Sinceramente non capisco proprio perchè
La funzione la chiama, la esegue correttamente ed essa ritorna correttamente, dimostrabile dal fatto che se metto del codice dopo la chiamata a funzione lo esegue correttamente.
La seconda riga nel database non è ovviamente vuota, ma è molto simile alla prima. L'unica cosa con la quale non ho mai bazzicato sono le variabili globali. Dentro alla funzione dichiaro 3 variabili globali:
$db (per la connessione al database)
$data (ovvero il valore di ritorno di mysql_fecth)
$v (un vettore che mi serve).
li dichiaro globali tramite la dicitura:
Ho anche provato a cambiare la variabile di ritorno del fetch con una temporanea per evitare che fosse proprio quella ad essere globale:
Codice PHP:
while($data_tmp=mysql_fetch_array($result)){
$data = $data_tmp;
//Fai conti
//Chiama una funzione
}
ma ovviamente non è cambiato nulla.
Non so proprio che controllare, attendo lumi
Grazie mille