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

Discussione: Passare form a MySql

  1. #1

    Passare form a MySql

    Ho creato un form in cui ci sono alcune checkbox come queste sotto.
    Codice PHP:
     <fieldset>
     <
    input type="checkbox" name="tipo[1]" value="tipoa"/> Tipo A
     

     
    <input type="checkbox" name="tipo[2]" value="tipob"/> Tipo B
     

     
    <input type="checkbox" name="tipo[3]" value="tipoc"/> Tipo C
    </fieldset
    Nel database ho creato le colonne e un campo id

    Codice PHP:
      `idint(11NOT NULL auto_increment,
      `
    tipoavarchar(100NOT NULL default '',
      `
    tipobvarchar(100NOT NULL default '',
      `
    tipocvarchar(100NOT NULL default ''
    Tramite questo inserisco gli altri campi nel database e fin qui tutto ok!

    [PHP] $sql = "INSERT INTO table (nome, email) VALUES ('$nome', '$email')";
    $query = @

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, non capisco qual è il problema

  3. #3
    Ciao! La domanda non era finita! Ho cliccato il tasto per pubblicarla per errore! Posto qui sotto quella completa!

    Ho creato un form in cui ci sono alcune checkbox come queste sotto.
    Codice PHP:
     <fieldset>
     <
    input type="checkbox" name="tipo[1]" value="tipoa"/> Tipo A
     

     
    <input type="checkbox" name="tipo[2]" value="tipob"/> Tipo B
     

     
    <input type="checkbox" name="tipo[3]" value="tipoc"/> Tipo C
    </fieldset
    Nel database ho creato le colonne e un campo id

    Codice PHP:
      `idint(11NOT NULL auto_increment,
      `
    tipoavarchar(100NOT NULL default '',
      `
    tipobvarchar(100NOT NULL default '',
      `
    tipocvarchar(100NOT NULL default ''
    Tramite questo inserisco gli altri campi nel database e fin qui tutto ok!

    Codice PHP:
      $sql "INSERT INTO table (nome, email) VALUES ('$nome', '$email')";
       
    $query = @mysql_query($sql) or die (mysql_error()); 
    A questo punto dovrei inserire il valore "y" nelle colonne contrassegnate da checkbox.
    Il codice che metto qui sotto inserisce una nuova riga.
    Forse dovrei farlo con il comando update di mysql? Però l'unica cosa che identifica ogni riga è l'id perché nome e email potrebbero anche essere uguali.
    Cosa posso fare?

    Codice PHP:
     foreach ($tipo as $key => $value) { 
      
    $sql2 "INSERT INTO table ($value) VALUES ('y')";
      
    $query2 = @mysql_query($sql2) or die (mysql_error())

    Grazie

  4. #4
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Se non ho capito male il tuo id è la variabile $key che cicli nel foreach...quindi potresti crearti una query come questa

    Codice PHP:
    foreach ($tipo as $key => $value) { 
      
    $sql2 "Update table set $value='y' where id=$key";
      
    $query2 = @mysql_query($sql2) or die (mysql_error())


  5. #5
    Originariamente inviato da jcsnake
    Se non ho capito male il tuo id è la variabile $key che cicli nel foreach...quindi potresti crearti una query come questa

    Codice PHP:
    foreach ($tipo as $key => $value) { 
      
    $sql2 "Update table set $value='y' where id=$key";
      
    $query2 = @mysql_query($sql2) or die (mysql_error())

    Il mio id è l'auto_increment del database che incrementa di uno ogni volta che si invia il form

  6. #6
    Originariamente inviato da alessio_web
    ...
    Tramite questo inserisco gli altri campi nel database e fin qui tutto ok!

    Codice PHP:
      $sql "INSERT INTO table (nome, email) VALUES ('$nome', '$email')";
       
    $query = @mysql_query($sql) or die (mysql_error()); 
    A questo punto dovrei inserire il valore "y" nelle colonne contrassegnate da checkbox.
    ...
    Perchè non fati tutto nella insert? Deve necessariamente essere un'operazione successiva quella di inserimento dei valori della chechbox? In caso affermativo, come funziona la cosa? Immagino che un certo utente (loggato?) debba compilare il form con le chechbox per poi salvarle, ma in tal caso sai chi è l'utente loggato e quindi puoi conoscere l'ID ad esso associato.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    L'utente non è loggato perché il form serve per un'iscrizione a cui sono richiesti i campi nome, email e selezionare alcune o anche nessuna checkbox per iscriversi a varie sezioni.
    L'id lo genera progressivamente il database ogni volta che un utente si iscrive.
    Può anche essere fatto all'interno di insert ma non so bene come farlo.

  8. #8
    Originariamente inviato da alessio_web
    ...
    Può anche essere fatto all'interno di insert ma non so bene come farlo.
    Non capisco quale sia il problema, allo stesso modo in cui inserisci nome ed email puoi inserire anche i valori delle checkbox.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Si ma io ho già le colonne con i campi checkbox e devo mettere il testo "y" su quelle contrassegnate come facevo qui
    Codice PHP:
    foreach ($tipo as $key => $value) {  
      
    $sql2 "INSERT INTO table ($value) VALUES ('y')"
      
    $query2 = @mysql_query($sql2) or die (mysql_error()) 

    Come faccio a fare la stessa cosa che farei con questo ciclo in una query sql con anche questo
    Codice PHP:
    $sql "INSERT INTO table (nome, email) VALUES ('$nome', '$email')"
       
    $query = @mysql_query($sql) or die (mysql_error()); 
    Come si uniscono le due cose?

  10. #10
    Scusami ma "cado dalle nubi" (cit.).
    Immagino che tu nella pagina del form abbia quancosa del tipo:

    Codice PHP:

    <fieldset>
     <
    input type="text" name="nome"/>
     

     <
    input type="text" name="email"/>
     

     <
    input type="checkbox" name="tipo[]" value="y"/> Tipo A
     

     
    <input type="checkbox" name="tipo[]" value="y"/> Tipo B
     

     
    <input type="checkbox" name="tipo[]" value="y"/> Tipo C
    </fieldset
    a questo punto nella pagina in cui fai la insert ti basta fare:

    Codice PHP:
    $sql "INSERT INTO table (nome, email, tipoa, tipob, tipoc) VALUES ('$nome', '$email', '$tipo[0]', '$tipo[1]', '$tipo[2]')"
    non capisco il problema...oppure mi sfugge qualcosa sull'effettivo comportamento dell'applicazione.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.