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

    Effettuare due inserimenti in database

    salve!
    in un form ho un gruppo di checkbox i cui valori prendo da db.
    poi c'è un un campo Altro per immettere valori che nn ci stanno.
    numero massimo di scelte è uguale a 3.
    Codice PHP:
        <?php
        
    foreach ($objAdminConn->getSomething() as $var) {
            echo 
    '<input type="checkbox" name="c_prov[]" value="' $var['id'] . '" /> ' $var['nome'];
        }
        
    ?> Altro/Other <input type="text" id="c_prov_txt" name="c_prov[]" value="" />
    ho messo lo stesso nome a tutti.
    adesso il mio problema è questo:
    -se scelgo nessun valore o altri valori che già ci sono -> OK
    -se scelgo tre valori ma tra quello che ci sono -> OK
    -se scelgo uno o più valori di cui uno è in altro -> ?

    come faccio a dire: se la textbox è piena e nn è il quarto valore allora prima mi inserisci il valore nella tabella preferenze; poi mi selezioni quel valore e lo inserisci nella tabella clienti.
    c'è qualche passaggio che mi manca.
    mi date un consiglio?

  2. #2
    Dai un nome diverso alla text box altro così sai quante checkbox sono state selezionate ed anche se è stato selezionato altro.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    ok ma poi come gli indico il nome della variabile $_POST?
    adesso faccio così:
    Codice PHP:
    $_POST['c_prov'][0]
    $_POST['c_prov'][1]
    $_POST['c_prov'][2
    avevo pensato di cambiargli nome ma poi come lo identifico?
    metto tutto in array e passo quei valori?

  4. #4
    allora, nn ho fatto ancora una prova reale.
    ma ho lavorato solo vedendo cosa mi restituisce come valori:
    Codice PHP:
        $cprovArray = array();
        for (
    $i 0$i <= 2$i++) {
            if (
    $_POST['c_prov'][$i] != NULL) {
                
    array_push($cprovArray$_POST['c_prov'][$i]);
            }
        }
        if (
    count($_POST['c_prov']) < && !empty($_POST['c_prov_text'])) {
            
    // INSERISCO I DATI NEL DB
            
    array_push($cprovArray$_POST['c_prov_text']);
        }
        
    var_dump($cprovArray); 
    i valori che mi ritornano sono sempre giusti.
    e penso che nn dovrei avere problemi nell'inserire il valore nel db.
    solo che mi sembra una procedura un pò contorta visto che lo devo fare per più tipi di preferenze.

  5. #5
    Codice PHP:
    <?php
    $cprovArray 
    $_POST['c_prov'];
    if (
    count($cprovArray) < 3) {
        
    array_push($cprovArray$_POST['c_prov_text']);
    }
    var_dump($cprovArray);
    ?>
    Ovviamente dovresti aggiungere qualche controllo sulla presenza o meno dei dati richiesti.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    intanto grazie per la correzione!
    l'unica cosa che nn ho capito è perchè hai levato questo controllo:
    Codice PHP:
    !empty($_POST['c_prov_text']) 
    avevo pensato di inserire nell'array il valore della text solo se il count è minore di tre e se la text non era vuota.
    se uno nn scriva nulla nn dovrebbe essere inserito.

  7. #7
    Originariamente inviato da satifal
    Ovviamente dovresti aggiungere qualche controllo sulla presenza o meno dei dati richiesti.
    Aggiungi tutti i controlli che ritieni necessari.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    ah ok volevo sapere se c'era un motivo particolare.
    grazie mille!

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.