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

    SQL + PHP: valori multipli da form in collona singola MySQL

    Vorrei passare valori multipli da un form ad una singola collona nel MySQL con l'insert. Mi spiego: Nel form ho la possibilità di scegliere gli argomenti da una lista o inserire un nuovo. Quindi ho due campi, con eventuale valore in uno dei due (l'altro sarà in bianco), che dovrebbe andar a finire nella stessa collona del Database.

    codice:
    <form id="form1" name="form1" method="post" action="_.php"> 
    <label>Agomento da lista <select name="argomento" id="argomento">
    <option selected="selected">Scegliere</option>
    <option value="a">a</option>
    <option value="b">b</option>
    </select> </label> 
    <label>Nuovo argomento<input name="argomento" type="text" id="argomento" /> </label>
    <input type="submit" name="Submit" value="vai" /> </form>
    Nel form ho nominato tutti i due i campi con lo stesso nome (argomento), ma se facio la query "insert" prendi soltanto il valore presente nel secondo campo, ignorando il primo.
    Questo usando una query tipo
    Codice PHP:
    $insertSQL "INSERT INTO mia_tabela (argomento) VALUES (%s)"
    GetSQLValueString($_POST['argomento'], "text"); 
    Domanda: come avere a disposizione, nella query, tutte le informazioni presenti nei campi "argomento" e inserirle nel MySQL?
    Luiz

  2. #2
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    se il secondo è riempito, il primo va ignorato? (il caso è che un utente scriva qualcosa nel secondo dopo aver selezionato qualcosa nel primo..)
    se si: li chiami con nomi diversi e prima di fare la insert verifichi che la variabile POST[argomento2] non sia vuota. in quel caso

    Codice PHP:
    if ($_POST['argomento2'] != '') {
    $argomento $_POST['argomento2'];
    } else {
    $argomento $_POST['argomento'];

    però poi la insert deve essere
    Codice PHP:
    $insertSQL "INSERT INTO mia_tabela (argomento) VALUES ('$argomento')"
    questo in maniera semplificata.. senza controlli ulteriori diciamo

  3. #3
    Così è perfetto. Grazie! Infatti se il secondo campo è compilato, il primo dev'essere ignorato.
    Luiz

  4. #4
    Per essere di aiuto, con la proposta di "telegio" il codice funzionante rimarebbe così

    codice:
    <form id="form1" name="form1" method="post" action="_.php">
    <label>Argomento da lista <select name="argomento" id="argomento"> 
    <option value=""selected="selected">Scegliere</option>
    <option value="a">a</option>
    <option value="b">b</option>
    </select> </label>
    <label>Nuovo argomento<input name="argomento2" type="text" id="argomento2" /> </label> <input type="submit" name="Submit" value="vai" /> </form>
    Codice PHP:
    if ($_POST['chiave2'] != '') {
    $argomento $_POST['argomento2'];
    } else {
    $argomento $_POST['argomento'];
    }

    $insertSQL "INSERT INTO mia_tabela (argomento) VALUES (%s)",  GetSQLValueString($argomento"text"); 
    Luiz

  5. #5
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ah, certo.. bene.. ottimo...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.