Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: php sql checkbox

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    170

    php sql checkbox

    Salve a tutti.

    ho unproblema, ho un form con dei campi e delle checkbox,
    devo registrare tutti in record in una tabella, e per le chechbox ho un campo solo.

    io ho fatto cosi:

    $nome_prod=$_POST['nome_prod'];
    $descrizione_prod=$_POST['descrizione_prod'];
    foreach($_POST['applicazione'] as $value) {
    mysql_query("INSERT INTO tabella (nome_prod,descrizione_prod,applicazioni) VALUES ('$nome_prod','descrizione_prod','$value');
    }

    Solo che cosi mi inserisce una riga per ogni checkbox spuntata, mentre io avrei bisogno di mettere tutti i valori delle checkbox in un unico campo magari separate da
    .
    Come posso fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    170
    HELP!

  3. #3
    scusa ma qual è il campoo della checkbox???cerca di essere piu kiaro e posta anke il codice html della form

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    170
    Chiedo scusa...
    nel frattempo ho provato a fare in altro modo, di seguito il codice

    ho un form con cui si registrano delle applicazioni relative al prodotto:

    <form name="associazioni" action="sql_aggiungi_applicazione.php" method="post">
    <div>
    nome
    </div>
    <div>
    <input name="nome" type="text" size="38" />
    </div>



    </div>
    <input type="submit" name="Submit" size="30" value="Submit" /></form>

    sql_aggiungi_applicazione.php:

    <? include("../config.php");

    $db=mysql_connect($myserver,$myuser,$mypass);
    mysql_select_db($mydb);
    $nome=$_POST['nome'];
    $nome = str_replace("'","\'",$nome);
    $insert=mysql_query("insert into prodotti_applicazioni values ('','$nome')");
    ?>




    Ora il form per registrare i prodotti:

    <form name="associazioni" action="sql_aggiungi_prod.php" method="post">
    <div>
    nome prodotto
    </div>
    <div>
    <input name="nome_prod" type="text" size="38" />
    </div>



    <div>
    descrizione prodotto
    </div>
    <div>
    <textarea name="descrizione_prod" rows="10" cols="29"></textarea>

    </div>
    </div>
    <input type="submit" name="Submit" size="30" value="Submit" /></form>

    sql_aggiungi_prod.php:

    <? include("../config.php");
    $db=mysql_connect($myserver,$myuser,$mypass);
    mysql_select_db($mydb);
    $nome_prod=$_POST['nome_prod'];
    $nome_prod = str_replace("'","\'",$nome_prod);
    $descrizione_prod=$_POST['descrizione_prod'];
    $descrizione_prod = str_replace("'","\'",$descrizione_prod);

    $insert=mysql_query("insert into prodotti_prodotto values ('','$nome_prod','$descrizione_prod')");
    $alter=mysql_query("ALTER TABLE `prodotti_applicazioni` ADD `$nome_prod` VARCHAR( 225 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL");
    ?>

    Quindi ho registrato nella tabella prodotti_prodotto i dati relativi al prodotto e poi ho aggiunto alla tabella prodotti_applicazioni un campo con il nome del prodotto
    A questo punto si viene reidirizzati ad una pagina con il form per associare le applicazioni al prodotto passandone il nome(form.php?nome_prod=<? echo "nome_prod";?>):

    <form name="associazioni" action="sql_applicazione_prodotto.php" method="post">
    <?
    include("../config.php");
    $db=mysql_connect($myserver,$myuser,$mypass);
    mysql_select_db($mydb);
    $dati=mysql_query("select * from prodotti_applicazioni order by id");
    $numero_righe=mysql_num_rows($dati);

    while($array=mysql_fetch_array($dati)){
    $nome=$array[nome];

    echo"<input type='checkbox' name='applicazione[]' value='$nome'/>$nome
    ";
    $indice++;
    }
    ?>
    <input type="submit" name="Submit" size="30" value="Submit" /></form>

    sql_applicazione_prodotto.php:

    Il mio problema sta qui...
    ora vorrei che nella tabella prodotti_applicazioni, alla specifica applicazione spuntata, nel campo relativo al prodotto ci sia 1 anzichè 0 o una cosa del genere, di modo da associare l'applicazione al prodotto, anche se cosi di fatto si associa il prodotto all'applicazione...

    Forse è sbagliata la logica di base, però non ho trovato altro modo ma anche in questo mi sono bloccato qui...
    c'è qualcuno che mi può aiutare?

    grazie in anticipo a tutti!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    ciao, hai pensato a fare un explode sui dati inviati via POST e infine fare una sola dichiarazione INSERT mettendo i dati separati dal
    ?

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    170
    Ciao, io sono abbastanza nuovo nell'ambiente, in quel caso poi potrei poi andare a ripescare i dati singoli?
    Ti posso chiedere come funziona un explode?....

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    un esempio pratico:
    Codice PHP:
    // $_POST['...'] = "ciao marco come va?";
    $var explode(" "$_POST[...]);

    print 
    $var[0] . ' luca' $var[2] . ' stai?';

    /*
    output:
    ciao luca come stai?
    */ 
    spero di averti fatto capire
    ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    170
    mh... mi sa che non ho capito, cerco qualche tutorial a proposito, grazie.

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    170
    ok, ora più o meno ci sono, ma come lo applicco al mio sistema?

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    170
    o meglio, come faccio a salvare i record delle checkbox in un unico campo separati da
    ?

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.