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:

Codice PHP:
global $db
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