Ciao

ho questa funzione

codice:
function scheda_tecnica($tessera="", $anno_inizio="", $anno_fine="", $tipo_frontespizio="")
{  
  // SERINN = 1 significa che il tesserato si è iscritto quell'anno
  
  
  /* Se esiste cancello la precedente scheda tecnica in formato HTML */
	
   if (is_file("tmp.htm"))
			unlink("tmp.htm");
			
   $query_iscrizione = "SELECT INGRESSO FROM ana_rinn01be WHERE serinn=1 "; 
   
   if  (($anno_inizio<>"") AND ($anno_fine<>""))   
	  $stringa_data = " AND RINNOVO BETWEEN '$anno_inizio' AND '$anno_fine' ";	
   
   if  (($anno_inizio<>"") AND ($anno_fine==""))  
	  $stringa_data = " AND RINNOVO = '$anno_inizio' ";	
   
   if  (($anno_inizio=="") AND ($anno_fine<>""))   
	  $stringa_data = " AND RINNOVO = '$anno_fine' ";
   
   if ($tessera != "")
	  $stringa_tessera = " AND INGRESSO = '$tessera' ";
   
   
   $query_iscrizione  .= $stringa_data .  $stringa_tessera . " ORDER BY INGRESSO " ;
   $dati_iscrizione = mysql_query($query_iscrizione) or die (mysql_error());
   $n = mysql_num_rows($dati_iscrizione);    
   
   $n = 1000;
  // echo "
$n valori

$query_iscrizione"; exit;
   
   
  
   
   if ($n == 0)  // Non trovo nessun tesserato, interrompo subito l'elaborazione
   {
	 echo "
		<script language ='javascript'>	
 alert ('ATTENZIONE ! Non è stato trovato nessun tesserato con i requisiti richiesti !')
			location.href='tecniche.php'	
			
		</script>
		
		";		
			
   }
   elseif ($n > 100)
   {		
		 
		echo "
		<script language='javascript'>
				 
var r=confirm('ATTENZIONE ! Sono stati trovati $n record ! Questo potrebbe portare a tempi di attesa di alcuni minuti. Procedere ugualmente ? ');			
			if (r == false)					 
				location.href='tecniche.php'
			
						
		</script>	
		";
		
    }
Nell'esempio ho impostato manualmente il valore $n = 1000 per vedere che succede. Il controllo guarda se n = 0 , interrompe l'elaborazione, se invece $n > 1000 dovrebbe chiedere che fare.

Nel mio caso invece, nonostante entri nel caso if ($n > 1000) in quanto tra i vari test fatti in precedenza ho messo una stringa

codice:
 "sono qui"; exit
in realtà non mostra il messaggio del ELSEIF, continua l'elaborazione dopodiché si ferma e mi chiede che fare.

Nel codice ho riportato solo la parte che viene prima della elaborazione vera e propria. La parte immediatamente successiva è questa :

codice:
$stringa = "";
	$stringa_stampare = "";
	$conta_frontespizio = 1;
	 
   while ($row_iscrizione = mysql_fetch_array($dati_iscrizione))
   {         
		
		$mail = array();
		$fax = array

..........
Il while è dopo !! Come mai invece si impalla e non fa quello che deve fare ?

SCUSATE ho fatto una modifica al codice del ELSE