Accedi per seguire   
Seguaci 0
Alexander01

Problema Select Dinamiche

5 messaggi in questa discussione

Salve a tutti :P

Ho un problema con uno script per l'implementazione di select dinamiche.

Per intenderci per poter scegliere da un menù a tendina le regioni e far apparire dinamicamente le rispettive province in un nuovo box.

Ecco il codice:

<?php 
error_reporting(E_ALL); 
?>

<html>
<head>
<script type="text/javascript"> 
 function inviaCambiamenti1(){ 
  document.form1.submit(); 
 } 
 function inviaCambiamenti2(){ 
  document.form2.submit(); 
 } 
</script>
</head>

<body>
<?php
$link=mysql_connect('localhost', 'usernameroot', 'paswordroot') 
 or die ("Non riesco a connettermi a <b>Localhost</b>"); 
mysql_select_db ('database', $link) 
 or die ("Non riesco a selezionare il db database<br>"); 
?>


<form name="form1" action="select2.php" method="POST">
 <input type="hidden" nome="formUsato" value="form1">
 <select name="nomeregione" onChange="inviaCambiamenti1();">
 <?
  $query="SELECT * FROM regione order by 'nomeregione'";
  $result = mysql_query($query);
  echo '<option value="">Seleziona</option>';
  while($row = mysql_fetch_assoc($result)){ 
echo '<option value="'.$row['idregione'].'" >'.$row['nomeregione'].'</option>';
  }
  $idregione = strip_tags(stripslashes(trim($_POST['idregione']))); 
 ?>
 </select>
</form>

<form name="form2" action="select2.php" method="POST">
 <input type="hidden" nome="formUsato" value="form2">
 <select name="nomeprovincia" onChange="inviaCambiamenti2();">
 <?
  $query2 ="SELECT nomeprovincia FROM province WHERE idregione='".$idregione."'"; 
  $result2 = mysql_query($query2)or die(mysql_error());; 
  echo '<option value="">Seleziona</option>';
  if($idregione != '') {
  while($row2 = mysql_fetch_assoc($result2)) { 
echo '<option value="'.$row2['idprovincia'].'" >'.$row2['nomeprovincia'].'</option>'; 
  }
 ?>
 </select>
</form>
</body></html>

Ebbene ho qualche problema, in quanto non gira correttamente.

Potreste gentilmente darmi una mano?

Grazie sin da ora per l'aiuto e buona serata a tutti :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Curioso.. mi sembra di aver già risposto a questo quesito proprio oggi, ma su un altro forum :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Curioso.. mi sembra di aver già risposto a questo quesito proprio oggi, ma su un altro forum :)

:P

Beh...allora se non ti secca copia la risposta pure in questo forum, così anche i nostri lettori avranno la risposta al quesito ;-)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

No no, non mi secca, eccola qua.

C'è un problema in questa query:

$query2 ="SELECT DISTINCT nomeregione,nomeprovincia FROM province,regioni WHERE nomeregione='".$nomeregione."'";

Non indichi quali province sono associate alla variabile $nomeregione. Per fare questo è necessario che nella tabella province ci sia un campo nomeregione identico a quello della tabella regioni. La query corretta sarebbe questa e in sostanza è una semplice JOIN:

$query2 = "SELECT * FROM regioni AS r, province AS p WHERE p.nomeregione = r.nomeregione AND p.nomeregione = '$nomeregione'";

Il risultato (con $nomeregione = sicilia) sarebbe questo:

query2uw6.png

Ma per fare questo, come ti dicevo prima, è necessario che ogni provincia abbia un campo che la classifichi in una regione specifica.

In pratica però ha modificato la seconda query, prima era una distinct adesso non lo è più..

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Salve a tutti :P

Ho un problema con uno script per l'implementazione di select dinamiche.

Per intenderci per poter scegliere da un menù a tendina le regioni e far apparire dinamicamente le rispettive province in un nuovo box.

Ecco il codice:

   <?php 
error_reporting(E_ALL); 
  ?>

  <html>
  <head>
<script type="text/javascript"> 
 function inviaCambiamenti1(){ 
  document.form1.submit(); 
 } 
 function inviaCambiamenti2(){ 
  document.form2.submit(); 
 } 
</script>
  </head>

  <body>
<?php
$link=mysql_connect('localhost', 'usernameroot', 'paswordroot') 
 or die ("Non riesco a connettermi a <b>Localhost</b>"); 
mysql_select_db ('database', $link) 
 or die ("Non riesco a selezionare il db database
"); 
?>


<form name="form1" action="select2.php" method="POST">
 <input type="hidden" nome="formUsato" value="form1">
 <select name="nomeregione" onChange="inviaCambiamenti1();">
 <?
  $query="SELECT * FROM regione order by 'nomeregione'";
  $result = mysql_query($query);
  echo '<option value="">Seleziona</option>';
  while($row = mysql_fetch_assoc($result)){ 
   echo '<option value="'.$row['idregione'].'" >'.$row['nomeregione'].'</option>';
  }
  $idregione = strip_tags(stripslashes(trim($_POST['idregione']))); 
 ?>
 </select>
</form>

<form name="form2" action="select2.php" method="POST">
 <input type="hidden" nome="formUsato" value="form2">
 <select name="nomeprovincia" onChange="inviaCambiamenti2();">
 <?
  $query2 ="SELECT nomeprovincia FROM province WHERE idregione='".$idregione."'"; 
  $result2 = mysql_query($query2)or die(mysql_error());; 
  echo '<option value="">Seleziona</option>';
  if($idregione != '') {
  while($row2 = mysql_fetch_assoc($result2)) { 
   echo '<option value="'.$row2['idprovincia'].'" >'.$row2['nomeprovincia'].'</option>'; 
  }
 ?>
 </select>
</form>
  </body></html>

Ebbene ho qualche problema, in quanto non gira correttamente.

Potreste gentilmente darmi una mano?

Grazie sin da ora per l'aiuto e buona serata a tutti :)

Ciao Alexander 01, ho il tuo stesso problema e questa vostra discussione mi è stata di grande aiuto, ti posso chiedere la cortesia di illuminarmi sul file select2.php che metti nel tag del form?

mi potresti mndare il codice?

Grazie Mille

Aldorelli

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un utente registrato per partecipare

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!


Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.


Accedi Ora
Accedi per seguire   
Seguaci 0