Menu a tendina che non inserisce dati nel db

  • Creatore Discussione Creatore Discussione Max61
  • Data di inizio Data di inizio

Max61

Utente Attivo
2 Mar 2014
760
4
18
Salve
ho un menu a tendina che prende i dati dalla tabella tblprodotti formata da 2 campi idprodotto e nomeprodotto, dall'elenco scelgo il valore di mio interesse fin qui tutto bene, ma quando faccio l'insert il campo nella tabella è vuoto!
Possibile che sia in sola lettura?
Nella speranza di essermi spiegato allego il codice che utilizzo:

PHP:
 $lista = "";
    
    $query = "SELECT idprodotto, nomeprodotto FROM tblprodotti";
    
    $query_ret = mysql_query($query);
    
    if(!$query_ret)
    {
        $lista = "<option value='null'>VUOTO</option>";
    }
    
    if(mysql_num_rows($query_ret) == 0)
    {
        $lista = "<option value='null'>VUOTO</option>";
    }
    else
    {
        while($sql_return = mysql_fetch_assoc($query_ret))
        {
            $lista .= "<option value='" . $sql_return["idprodotto"] . "'>" . $sql_return["nomeprodotto"] . "</option>";
        }
    }
    
    mysql_close($db_link);

Grazie per l'aiuto

Max61
 
Ultima modifica di un moderatore:
ciao
quanto hai scritto è completo?
non vedo il tag <form....> ne il tag <select ...> e loro chiusure.
poi fatta la scelta come leggi i valori scelti?

p.s.
quando scrivi del codice usa gli appropriati bccode, seconda riga formattazione del post uktime tr iconcine nell'ordine CODE, HTML, PHP
 
Codice completo:

PHP:
<?php
$db_link = mysql_connect("*****", "*******", "*****") 
        or die("ERRORE: Impossibile Accedere al DataBase");

    if(($query_ret = mysql_select_db($database)) == FALSE)
    {
        echo "ERRORE: Impossibile Accedere al DataBase";
        exit();
    }
    
    $lista = "";
    
    $query = "SELECT idprodotto, nomeprodotto FROM tblprodotti";
    
    $query_ret = mysql_query($query);
    
    if(!$query_ret)
    {
        $lista = "<option value='null'>VUOTO</option>";
    }
    
    if(mysql_num_rows($query_ret) == 0)
    {
        $lista = "<option value='null'>VUOTO</option>";
    }
    else
    {
        while($sql_return = mysql_fetch_assoc($query_ret))
        {
            $lista .= "<option value='" . $sql_return["idprodotto"] . "'>" . $sql_return["nomeprodotto"] . "</option>";
        }
    }
    
    mysql_close($db_link);
		
?>


<select size="1" name="mnu_tendina">
    <option selected value="sel_value"></option>
    <?php echo $lista; ?>
</select>


Ciao e grazie
Max61
 
Ultima modifica di un moderatore:
PHP:
<FORM METHOD="post" ACTION="Inserisci.php">


<?php
$db_link = mysql_connect("*****", "*******", "*****") 
        or die("ERRORE: Impossibile Accedere al DataBase");

    if(($query_ret = mysql_select_db($database)) == FALSE)
    {
        echo "ERRORE: Impossibile Accedere al DataBase";
        exit();
    }
    
    $lista = "";
    
    $query = "SELECT idprodotto, nomeprodotto FROM tblprodotti";
    
    $query_ret = mysql_query($query);
    
    if(!$query_ret)
    {
        $lista = "<option value='null'>VUOTO</option>";
    }
    
    if(mysql_num_rows($query_ret) == 0)
    {
        $lista = "<option value='null'>VUOTO</option>";
    }
    else
    {
        while($sql_return = mysql_fetch_assoc($query_ret))
        {
            $lista .= "<option value='" . $sql_return["idprodotto"] . "'>" . $sql_return["nomeprodotto"] . "</option>";
        }
    }
    
    mysql_close($db_link);
        
?>


<select size="1" name="mnu_tendina">
    <option selected value="sel_value"></option>
    <?php echo $lista; ?>
</select>


INPUT TYPE="submit" VALUE="  Salva  ">
</FORM>
 
Pagina inserisci

PHP:
$query = "INSERT INTO tblrilprezzimensili (momeprodotto)
        VALUES ('$momeprodotto')";

   // invio la query
   $result = mysql_query($query);

   // controllo l'esito
   if (!$result) {
				die("<span style=\"color:red: font-size: 20pt\"Errore nell'inserimento. Riprova...</span>" . mysql_error());
   }
   echo "<br><br /><span style=\"color: orange; font-size: 24pt\"><strong><i>Inserimento eseguito correttamente. </span>";
?>


Questo è l'insert

Ciao
 
ciao
scusa ma non c'è qualcosa del genere
PHP:
$momeprodotto=$_POST['mnu_tendina'];
con cui leggi quanto invii o dovresti inviare dal form?
comunque la query vista così è sintatticamente corretta
 
No, niente del genere.
Sono nuovo nella programmazione in PHP, mi sai aiutare mettendo il codice mancante dove sai che deve stare affinchè il tutto funzioni?
PHP:
$momeprodotto=$_POST['mnu_tendina'];

Grazie di nuovo per la pazienza
Max61
 

Discussioni simili