Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Select concatenate

  1. #1

    Select concatenate

    Ragazzi ho fatto uno script senza jquery per le select concatenate, perchp avevo un pò troppi conflitti di jq.

    Codice PHP:
      <?php                              $db = new MySQL();error_reporting(E_ALL);$regioni_opt '';$province_opt '';$comuni_opt '';
    // costruisco il primo select//$regioni_arr = array('Puglia','Basilicata','Molise'); // simula il risultato di una query if (!$db->Query("SELECT * FROM regioni")) echo $db->Kill();//foreach ($regioni_arr as $regione)   while($regioni = $db->Row()){   $selected = (isset($_POST['regione']) && $_POST['regione'] == $regioni->id_reg) ? 'selected="selected"' : '';   $regioni_opt .= "<option value=\"$regioni->id_reg\" $selected>$regioni->nome_regione</option>\n";}
    if($_POST){   if($_POST['comune'] !='')   {       header("Location: index.php?page=24&id_reg={$_POST['regione']}&id_provincia={$_POST['provincia']}&idComune={$_POST['comune']}&annuncio={$_POST['annuncio']}");      exit();   }
       if(
    $_POST['regione'] != '')   {             // costruisco il secondo select//      $province_arr = array('Bari','Brindisi','Taranto','Lecce','Foggia'); // simula il risultato di una query
    //      foreach ($province_arr as $provincia)       if (!$db->Query("SELECT * FROM province WHERE id_reg={$_POST['regione']}")) echo $db->Kill();   while($provincia = $db->Row())      {         $selected = ($_POST['provincia'] == $provincia->id_pro) ? 'selected="selected"' : '';         $province_opt .= "<option value=\"$provincia->id_pro\" $selected>$provincia->nome_provincia</option>\n";      }   }
       
    if($_POST['provincia'] != '')   {      // costruisco il secondo select//      $comuni_arr = array('Bari','Barletta','Trani','Molfetta'); // simula il risultato di una query               if (!$db->Query("SELECT * FROM comuni WHERE id_pro={$_POST['provincia']}")) echo $db->Kill(); 
         
    while($comune $db->Row())      {         $comuni_opt .= "<option value=\"$comune->id_com\">$comune->comune</option>\n";      }   }}costruisci_form($regioni_opt,$province_opt,$comuni_opt);


    function 
    costruisci_form($regioni$province$comuni){   ?>                            <form action="#"  id="form1" name="form1" method="post" >                                                          <li>                        <label for="pass">Regioni</label>                        <div class="input-box" style="padding-bottom: 5px">                            <select name="regione" id="regione" onchange="javascript: document.form1.submit();" class="input-text required-entry validate-password" style="width: 100%">      <option value="">-- seleziona una regione --</option>     <?php echo $regioni?>    </select>                                                   </div>                    </li>                     <li>                        <label for="pass">Provincia</label>                        <div class="input-box" style="padding-bottom: 5px">                             <select name="provincia" id="provincia" onchange="javascript: document.form1.submit();" class="input-text required-entry validate-password" style="width: 100%">      <option value="">---</option>     <?php echo $province?>    </select>                                                   </div>                    </li>                        <li>                        <label for="pass">Comuni</label>                        <div class="input-box" style="padding-bottom: 5px">                          <select name="comune" id="comune"  onchange="javascript: document.form1.invia.disabled = (this.selectedIndex == 0) ? true : false;" class="input-text required-entry validate-password" style="width: 100%">      <option value="">---</option>     <?php echo $comuni?>    </select>                        </div>                    </li>                          <li>                        <label for="pass">Testo</label>                        <div class="input-box" style="padding-bottom: 5px">                            <input  type="text" name="annuncio" value="" class="input-text" style="width: 100%" maxlength="128" />                        </div>                    </li>                    <li>                        <p>&nbsp;</p>                        <div class="input-box">                            <input name="invia" type="submit" id="invia" class="button btn-cart" value="Invia" disabled="disabled" />                                               </div>                    </li>                            </form>                            <?php}?>
    Lo scrip funziona, l'unico problema forse grosso, e che io dati selezionati vorrei farli poi inviare tramite invio ad una pagina specifica, invece attualmente mi sono inventato questa escamotage :

    Codice PHP:
    if($_POST['comune'] !='')
    {
    header("Location: index.php?page=24&id_reg={$_POST['regione']}&id_provincia={$_POST['provincia']}&idComune={$_POST['comune']}&annuncio={$_POST['annuncio']}");
    exit();

    M così non vabbene , a parte una stringa lunghissima, come posso modificarlo in modo che funzioni le select concatenate ma che poi invia tranquillamente i valori action nel form?

    grazie per le risposte

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Quando ti accorgi che hai sbagliato qualcosa nel postare una discussione, modifica il post, non aprire una discussione nuova, ma soprattutto, quando posti del codice visualizza l'anteprima e se necessario riformatta il codice direttamente dall'editor del forum.
    Nel codice che hai postato non si capisce niente, difficilmente qualcuno si prenderà la briga di riformattarlo per leggerlo.

    Se vuoi, rispondi mettendo il codice formattato correttamente, non aprire un'altra discussione.

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Quando ti accorgi che hai sbagliato qualcosa nel postare una discussione, modifica il post, non aprire una discussione nuova, ma soprattutto, quando posti del codice visualizza l'anteprima e se necessario riformatta il codice direttamente dall'editor del forum.
    Nel codice che hai postato non si capisce niente, difficilmente qualcuno si prenderà la briga di riformattarlo per leggerlo.

    Se vuoi, rispondi mettendo il codice formattato correttamente, non aprire un'altra discussione.
    Ciao , in realtà era impazzito il forum, non mi faceva modificare, e diceva ip non trovato, io non potevo neanche leggere la discussione e modificarla.

  4. #4
    codice:
    <?php   $db = new MySQL();   error_reporting(E_ALL);   $regioni_opt = '';   $province_opt = '';   $comuni_opt = '';      // costruisco il primo select   //$regioni_arr = array('Puglia','Basilicata','Molise'); // simula il risultato di una query   if (!$db->Query("SELECT * FROM regioni")) echo $db->Kill();   //foreach ($regioni_arr as $regione)   while($regioni = $db->Row())   {   $selected = (isset($_POST['regione']) && $_POST['regione'] == $regioni->id_reg) ? 'selected="selected"' : '';   $regioni_opt .= "<option value=\"$regioni->id_reg\" $selected>$regioni->nome_regione</option>\n";   }      if($_POST)   {   if($_POST['comune'] !='')   {   header("Location: index.php?page=24&id_reg={$_POST['regione']}&id_provincia={$_POST['provincia']}&idComune={$_POST['comune']}&annuncio={$_POST['annuncio']}");   exit();   }      if($_POST['regione'] != '')   {      // costruisco il secondo select   //      $province_arr = array('Bari','Brindisi','Taranto','Lecce','Foggia'); // simula il risultato di una query      //      foreach ($province_arr as $provincia)   if (!$db->Query("SELECT * FROM province WHERE id_reg={$_POST['regione']}")) echo $db->Kill();   while($provincia = $db->Row())   {   $selected = ($_POST['provincia'] == $provincia->id_pro) ? 'selected="selected"' : '';   $province_opt .= "<option value=\"$provincia->id_pro\" $selected>$provincia->nome_provincia</option>\n";   }   }      if($_POST['provincia'] != '')   {   // costruisco il secondo select   //      $comuni_arr = array('Bari','Barletta','Trani','Molfetta'); // simula il risultato di una query      if (!$db->Query("SELECT * FROM comuni WHERE id_pro={$_POST['provincia']}")) echo $db->Kill();       while($comune = $db->Row())   {   $comuni_opt .= "<option value=\"$comune->id_com\">$comune->comune</option>\n";   }   }   }   costruisci_form($regioni_opt,$province_opt,$comuni_opt);            function costruisci_form($regioni, $province, $comuni)   {   ?><form action="#"  id="form1" name="form1" method="post" ><li><label for="pass">Regioni</label><div class="input-box" style="padding-bottom: 5px"><select name="regione" id="regione" onchange="javascript: document.form1.submit();" class="input-text required-entry validate-password" style="width: 100%"><option value="">-- seleziona una regione --</option><?php echo $regioni?></select></div></li><li><label for="pass">Provincia</label><div class="input-box" style="padding-bottom: 5px"><select name="provincia" id="provincia" onchange="javascript: document.form1.submit();" class="input-text required-entry validate-password" style="width: 100%"><option value="">---</option><?php echo $province?></select></div></li><li><label for="pass">Comuni</label><div class="input-box" style="padding-bottom: 5px"><select name="comune" id="comune"  onchange="javascript: document.form1.invia.disabled = (this.selectedIndex == 0) ? true : false;" class="input-text required-entry validate-password" style="width: 100%"><option value="">---</option><?php echo $comuni?></select></div></li>

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Era meglio prima

    Hai provato a visualizzare l'anteprima come ti ho detto per vedere cosa veniva fuori? Pare di no.

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Edit: post doppio.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.