Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    [PHP + MYSQL] esiste un modo di creare un query dinamicamente?

    salve a tutti...

    ho realizzato un sondaggio partendo dalla bella pillola di giorgiotave: http://forum.html.it/forum/showthrea...hreadid=660848 .

    io vorrei sapere se si può fare una cosa, creare una tabella dinamicamente con i dati che mi porto dietro da un form.

    Codice PHP:
    //creo la tabella in cui immettere i dati.
    //definisco la query
    $creatab="CREATE TABLE $domanda (
            id INT (5) UNSIGNED not null AUTO_INCREMENT,
            opt1 DECIMAL,
            opt2 DECIMAL,
            opt3 DECIMAL,
            opt4 DECIMAL,
            PRIMARY KEY (id))"
    ;
    //applico la query    
    $crea=mysql_query($creatab,$db) or die("Impossibile eseguire la query"); 
    e fin qui ci siamo, ma se io non so quanti sono i campi opt???
    e potrei farlo con un ciclo for??

    cosi:
    Codice PHP:
    //creo la tabella in cui immettere i dati.
    //definisco la query
    $creatab="CREATE TABLE $domanda (
            id INT (5) UNSIGNED not null AUTO_INCREMENT,
        for (
    $n=1; $n<=$opt_n$n++)
            echo "
    opt$n DECIMAL";
            PRIMARY KEY (id))"
    ;

    //applico la query    
    $crea=mysql_query($creatab,$db) or die("Impossibile eseguire la query"); 
    voi che ne dite?

    si può fare?

    Ciao!

  2. #2
    no... troppo facile... ma non ci sei andato lontano... usa il ciclo for per inserire i pezzi di string relativi a opt e li concateni con il .

    $creatab="CREATE TABLE $domanda (id INT (5) UNSIGNED not null AUTO_INCREMENT,";

    for ($n=1; $n<=$opt_n; $n++) $creatab .= " opt$n DECIMAL, ";

    $creatab .= "PRIMARY KEY (id))";

    I'm your dreams, make you real... I'm your eyes when you must steel...I'm pain when you can't feel...sad but true !

  3. #3
    grazie!

    posso fari un'altra domanda?

    io la var $opt_n me la porto da un'altra pagina...

    cioè, mi sipego meglio...

    pag1

    scelgo la domanda e asseggno la var $domanda
    scelgo il num delle opzioni e assegno la var $opt_n

    pag2
    per mandare alla pag3 (che è quella che applica le query) le due var, dovrei farle diventare globali... giusto?
    ecco, come si fa??


    Grazie!
    Francesco

    Ciao!

  4. #4
    passale con l'url: http://www.pagina3.php?var1=$var1&var2=$var2

    I'm your dreams, make you real... I'm your eyes when you must steel...I'm pain when you can't feel...sad but true !

  5. #5
    e cioè dovrei fare:

    <form method=get action=poll_install_query.php?>opt_n=$opt_n
    (ADESSO C'E' GET E NON POST PERCHE PER FARE LE MIE PROVA, VOGLIO VEDERE I VALORI CHE INVIO!!)

    ma in questo modo, poi non mi accoda i valori del form.!!

    Ciao!

  6. #6
    certo... se devi usare un form allora ti consiglio di dichiararle come "hidden"
    <input type="hidden" name="var1" value="$var1">

    in questo modo te li trovi accodate alle altre...
    I'm your dreams, make you real... I'm your eyes when you must steel...I'm pain when you can't feel...sad but true !

  7. #7
    non ci siamo ancora...

    allora:
    pag1:
    Codice PHP:
    <form method=get action=poll_install.php>
    <
    class="corpo">Indica la domanda del sondaggio:

    <
    input type=text size=40 name=domanda></p>
    <
    class="corpo">Quante opzioni deve avere il sondaggio?

    <
    input type=text size=40 name=opt_n></p>
    <
    class="corpo"><input type=submit value=Invia></p>
    </
    form
    pag2:
    Codice PHP:
    <form method=get action=poll_install_query.php?opt_n=$opt_n>
    <?
    echo "<p class=\"corpopoll\">Domanda attuale del sondaggio: [b]$domanda[/b]
    "
    ;
    ?>
    html
    <?
    for ($n=1$n<=$opt_n$n++)
    echo 
    "<p class=\"corpopoll\">Opzione $n
    <input type=hidden size=40 name= opt
    $n></p>";
    ?>

    <p class="corpo"><input type=submit value=Invia></p>
    </form>
    pag3:
    Codice PHP:
    //creo la tabella in cui immettere i dati.
    //definisco la query
    $creatab="CREATE TABLE $domanda (id INT (5) UNSIGNED not null AUTO_INCREMENT"
    for (
    $n=1$n<=$opt_n$n++) $creatab .= " opt$n DECIMAL, "
    $creatab .= "PRIMARY KEY (id))"
    c'è qualcosa che non va... la variabile $opt_n non arriva alla pag3!


    Ciao!

  8. #8
    <form method=get action=poll_install_query.php>
    <?
    echo "<input type=\"hidden\" name=\"opt_n\" value=\"$opt_n\">";

    echo "<p class=\"corpopoll\">Domanda attuale del sondaggio: $domanda
    ";
    ?>
    html
    <?
    for ($n=1; $n<=$opt_n; $n++)
    echo "<p class=\"corpopoll\">Opzione $n
    <input type=hidden size=40 name= opt$n></p>";
    ?>

    <p class="corpo"><input type=submit value=Invia></p>
    </form>
    I'm your dreams, make you real... I'm your eyes when you must steel...I'm pain when you can't feel...sad but true !

  9. #9
    ahhhhh!! vero... che stupido...


    GRAZIE MILLE!!!!





    Ciao!

  10. #10
    questa è corretta?
    Codice PHP:
    $instabella="INSERT INTO $domanda (";
    for (
    $n=1$n<=$opt_n$n++) $instabella .= "opt$n, ";
    $instabella .=") VALUES (";
    for (
    $n=1$n<=$opt_n$n++) $instabella .= "'0', ";
    $instabella .=")"
    a me non funge!
    questo è il risultato, ma non viene eseguita..

    INSERT INTO ecco (opt1, opt2, ) VALUES ('0', '0', )


    Ciao!

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.