ciao a tutti,
ho una select che quando si sceglie la voce del menu fa refresh della pagina per visualizzarmi gli altri dati di quella voce, il problema è che quando seleziono la voce della select e mi fa refresh mi inserisce tutti quei dati nel db, si può evitare?
Codice PHP:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
<select name="id_centri" onchange="this.form.submit()">
<option value="">seleziona centro</option>
<?php
//compila dinamicamente la select
while($row = mysql_fetch_object($sql2)) {
if ($row->id_centri==$_GET[id_centri]){ $sel="SELECTED";}ELSE{$sel="";}
echo "<option value=\"$row->id_centri\" $sel>$row->nome_centro</option>\n";
}
echo "</select>\n";
//verifica se è stato passato o meno un valore dalla select
if(isset($_GET['id_centri'])) {
//memorizza il valore passato dalla select (l'id del centro)
$IDcentro = $_GET['id_centri'];
//recupera il nome del centro scelto tramite $IDcentro
$id_centri = mysql_query("SELECT * FROM b_centri
WHERE id_centri = '$IDcentro'") or die(mysql_error());
//recupera tutti i dati relativi al centro specifico tramite $IDcentro
$sql2 = mysql_query("SELECT * FROM b_centri
WHERE id_centri = '$IDcentro'") or die(mysql_error());
//verifica che ci sia almeno un risultato valido per la query precedente
if(mysql_num_rows($sql2) >= 1) {
//stampa i dati relativi al centro
$row1 = mysql_fetch_object($id_centri);
echo "<table width=\"650\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
<tr><td height=\"12\" colspan=\"5\"></td></tr>
<tr><td height=\"1\" bgcolor=\"BF9BB5\" colspan=\"5\"></td></tr>\n";
echo "<tr>
<td height=\"41\" width=\"152\"><span class=\"testo_grigio_bold\">nome centro</span></td>
<td align=\"right\" width=\"123\"><span class=\"testo_grigio_bold\">$row1->nome_centro</span></td>
<td width=\"100\"></td>
<td align=\"left\" width=\"143\"><span class=\"testo_grigio_bold\">telefono</span></td>
<td align=\"right\" width=\"132\"><span class=\"testo_grigio_bold\">$row1->telefono_centro</span></td>
</tr>
<tr>
<td height=\"1\" colspan=\"5\" valign=\"top\" bgcolor=\"BF9BB5\"></td>
</tr>\n";
echo "<tr>
<td height=\"41\"><span class=\"testo_grigio_bold\">fax</span></td>
<td align=\"right\"><span class=\"testo_grigio_bold\">$row1->fax_centro</span></td>
<td width=\"100\"></td>
<td align=\"left\"><span class=\"testo_grigio_bold\">email</span></td>
<td align=\"right\"><span class=\"testo_grigio_bold\">$row1->email_centro</span></td>
</tr>
<tr>
<td height=\"1\" colspan=\"5\" valign=\"top\" bgcolor=\"BF9BB5\"></td>
</tr>\n";
echo "<tr>
<td height=\"41\"><span class=\"testo_grigio_bold\">partita iva</span></td>
<td align=\"right\"><span class=\"testo_grigio_bold\">$row1->p_iva_centro</span></td>
<td width=\"100\"></td>
<td align=\"left\"><span class=\"testo_grigio_bold\">via</span></td>
<td align=\"right\"><span class=\"testo_grigio_bold\">$row1->via_centro</span></td>
</tr>
<tr>
<td height=\"1\" colspan=\"5\" valign=\"top\" bgcolor=\"BF9BB5\"></td>
</tr>
<tr>
<td height=\"8\" colspan=\"5\"></td>
</tr>\n";
echo "</table>\n";
}
}
?>