Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    combobox in cascata php-mysql

    Ciao a tutti,
    sto cercando di riempire dinamicamente due combobox in cascata programmando con php e mysql come db.

    So che il php è poco flessibile per questo...o almeno non mi trovo altra giustificazione, così ho fatto una piccola funzione in javascript...ma non so perchè il mio codice non funziona!!!
    le due combobox si riempiono solo dei dati estratti con la relativa select ma si ignorano completamente tra le due.

    Vi posto il mio codice, riuscireste a dirmi dove sbaglio?

    Codice PHP:
    <script type="text/javascript">
    function selected(){
    document.form.action = "<?php echo $PHP_SELF?>";
    document.submit();
    }
    </script>

    <?php
    echo "<td align='left'>[b]Cliente: [/b]";
      
    $cliente="SELECT cli_cod,sog_rag_soc FROM pchat_roe_clienti WHERE pc_age='"$_SESSION['AGE'] . "' ORDER BY cli_cod";

      
    $res mysql_query($cliente)or die ("Query cli fallita!");
      
    $num_c mysql_num_rows($res);
      
    $k=$num_c;
      
    //echo "k: " .$k;
      
    echo "<form method='post' action='carrello.php'>
      <select name='sel_clienti' onchange='selected()'>
       <option value='none'> Seleziona Cliente </option>"
    ;
        while(
    $k<>&& $cli=mysql_fetch_array($res))
         {
            if (
    $cli[cli_cod]!='null')
           {
            
    $client$cli[cli_cod];
            echo 
    "<option value='".$cli[cli_cod]."'>".$cli[cli_cod]. '-' .$cli[sog_rag_soc] ."</option>";
           }
         }
      echo 
    "</select>";

     echo 
    "<tr>";
       echo 
    "<td align='left'>[b]Indirizzi Cliente: [/b]";

      if(@
    $_POST['sel_clienti']!='none')
        {
          
    $client=$_POST['sel_clienti'];
        }
        
    $indcli="select ind_cli_cod FROM indirizzi WHERE cliente='"$client ."';

        
    $res = mysql_query($incli)or die ("Query indcli fallita!");
        
    $num_c = mysql_num_rows($res);
        
    $k=$num_c;
        echo "
    <form method='post' action='insTest'>
            <
    select name='sel_ind' onchange='selected()'>
            <
    option value='none'Seleziona Indirizzo Cliente </option>";
      while(
    $k<>0 && $ind=mysql_fetch_array($res))
       {
        if (
    $ind[ind_cli_cod]!='null')
          {
            
    $address$ind[ind_cli_cod];
            echo "
    <option value='".$ind[ind_cli_cod]."'>".$ind[ind_cli_cod] ."</option>";
          }
       }
      echo "
    </select>";
    ?>
    il codice non mi genera nessun tipo di errore di sintassi o simile...dov'è l'errore???
    Grazie a tutti per qualsiasi suggerimento riusciate a darmi.

    Ciao ciao
    Ciao

  2. #2
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,647
    In che senso in cascata? spiega esattamente il tuo obiettivo


    p.s. alla riga seguente manca la chiusura della stringa.

    Codice PHP:
     $indcli="select ind_cli_cod FROM indirizzi WHERE cliente='"$client ."'; 
    =>
    Codice PHP:
     $indcli="select ind_cli_cod FROM indirizzi WHERE cliente='"$client ."'"

  3. #3
    Ciao,
    per combobox in cascata intendo questo:

    1. prima combobox contiene una lista di clienti
    2. seconda combobox contiene la lista degli indirizzi dei clienti.

    A me serve che la seconda combobox si riempia con la sola lista degli indirizzi del cliente selezionato nella prima combobox.
    Ciao

  4. #4
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Forse ti serve AJAX, aggiungo che nn ho letto tutto.
    Per gli Spartani e Sparta usa spartan Il mio github

  5. #5
    non conosco AJAX...e per tanto non so usarlo.

    tuttavia come potrei usarlo nel mio caso?
    Ciao

  6. #6
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Bhe dopo la chiamata cn AJAX devi riepire il secondo combobox

    codice:
    document.myform.master.options[0]=new Option("Sports", "sportsvalue", true, false)
    document.myform.master.options[1]=new Option("Music", "musicvalue", false, false)
    document.myform.master.options[2]=new Option("Movies", "moviesvalue", false, false)
    dove myform è il nome del tuo form.

    Ma che versione hai?
    Per gli Spartani e Sparta usa spartan Il mio github

  7. #7
    innanzi tutto, grazie per l'aiuto che mi stai dando.

    versione di cosa?
    se intendi AJAX, nessuna...sono andata ad informarmi su cosa è AJAX dopo aver letto il tuo suggerimento...

    al momento non ho proprio idea di come si possa usare
    Ciao

  8. #8
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Allora prova a leggere questo post e vedi se fa al caso tuo. O cmq aiutati cn il tasto cerca.
    Per gli Spartani e Sparta usa spartan Il mio github

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.