Originariamente inviato da Trinità76
intendo dire che il print lo deve leggere e scrivere sempre l'altro if all'interno del while è verificato una sola volta quindi dovevo alleggerire un po' l'esecuzione dello script...

io credo che inserendo un while dentro un while,
il secondo while (quello interno) venga valutato finchè non è verificato, sbaglio?
Bisognerebbe vedere ccome lo hai impostato... per esempio:
Codice PHP:
while ($riga mysql_fetch_array($risp)) {

        if (
$riga[a] == "0000-00-00") {
            
$riga[a] = "<undefined>";
            print 
"xxxx";
            while (
$riga mysql_fetch_array($risp)) {
               print 
"xxxx"
               } 
// fine 2° while
         
//fine if
   
print "xxxx";
// fine I° while 
In questo modo il primo while stampa fino a che non trova una data nulla, a questo punto continua il while annidato fino alla fine del result set. Quando trovera mysql_fetch_array false, torna al primo while che trovera' false pure lui ed uscira'....

Pero' deve essere chiaro che la data nulla che viene convertita sara' solo la prima che trova. Diverso sarebbe se tu volessi semplicemente "saltare" le sucessive date nulle. Non e' molto chiaro ne' quello che vuoi fare e ne' il tipo di dati che vai a trovare.