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
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