Visualizzazione risultati 1 fino 17 di 17

Discussione: Problema form php con mysql

  1. #1
    Guest

    Post Problema form php con mysql

    Ragazzi mi serve aiuto non riesco a realizzare uno script che prelevi dei singoli campi da un database mysql e li metta come opzioni di una select di un form php, aiutooooooooooooooooo

  2. #2
    Guest

    Predefinito

    In particolare, cosa non riesci a fare??
    Sii più preciso nelle richieste.


    Ciaoo!!

  3. #3
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Puoi fare in questo modo:
    Codice PHP:
    <?php
    $sql
    = mysql_query("SELECT *FROM nome_tabella;");
    $element = mysql_fetch_array ($sql);
    ?>
    <form name="nome_form" action="pagina_action" method="nome_metodo">
    <select name="nome_select">
    <?php
    for ($i = 1; $i <= mysql_num_rows($sql); $i++)
    {
    echo
    "<option value=\"". $i ."\">". $element['nome_campo'] ."</option>";
    }
    ?>
    </select>
    </form>
    Ultima modifica di silverseraph : 06-01-2007 alle ore 15.48.57

  4. #4
    Guest

    Predefinito

    ciao ti sono grato, funziona ma a metà...cioè ora la casella option esce ma non mi visualizza i risultati dall'interrogazione del db, e poi dovrei farti un'altra domanda se posso...


    EDIT: sono, alla fine di tutto, ad aggiustare al mio caso il codice fornitomi da silverseraph, lo ringrazio per la mano datami (non sapevo si dovesse mettere il form fuori dal tag php ), volevo chiedere ancora un pò di cose...

    1) Una volta inviato il form in che modo posso modificare le opzioni inviate...
    ad esempio: ho una form con una select con tre campi option, ne scelgo uno e lo invio (tramite submit) a un file read.php. Ora se io voglio modificare il valore inserito precedentemente come faccio??? Cioè voglio visualizzare da una parte il valore inserito prima e poi dall'altra di nuovo il form con le opzioni per la scelta, grazie

    2) Come faccio a fare si che scompaiano i bottoni INVIA(è di tipo submit) e CANCELLA(di tipo RESET) in un certo giorno a una certa ora...

    3) Come faccio a inviare i dati ottenuti dalle option a una certa ora di un certo giorno ad una casella e-mail???

    grazie tante per l'aiuto, spero mi rispondiate presto...
    Ultima modifica di funcool : 07-01-2007 alle ore 17.28.29

  5. #5
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    1) aggiorni il campo con UPDATE nome_tabella SET nome_campo = 'nuovo valore'' WHERE campo = 'condizione';
    2) Potresti fare in questo modo:
    Codice PHP:
    <?php
    $inizio
    = "07/01/2007";
    $fine = "20/01/2007";
    if ((
    date("d/m/Y") >= $inizio) && (date("d/m/Y") < $fine))
    $input = "<input type=\"submit\" value=\"invia\" />";
    else
    $input .= "";
    echo
    $input;
    ?>
    L'ho impostato in modo che sia visibile dal 07/01/2007 fino al 19/01/2007.
    3) Il ragionamento più o meno è sempre lo stesso, potresti fare così:
    Codice PHP:
    <?php
    $invio
    = "20/01/2007";
    if (
    date("d/m/Y") == $invio)
    mail("tua@email.it", "oggetto del messaggio", $_POST['nome_input'], "From: destinatario <email@destinatario.it>");
    ?>
    Adesso ho fatto in modo che la mail sia inviata il 20/01/2007.

    Spero sia stato chiaro, ciao.

  6. #6
    Guest

    Predefinito

    chiaro però...

    io la read.php (file che specifico nella action della form l'ho fatta così):
    <?php
    $utenti = $_POST['utenti'];
    echo "$utenti";
    ?>

    come lo modifico il valore? l'UPDATE non ho capito come inserirlo nella read.php...

    poi io sono l'utente pinco e devo modificare i dato relativi a me, poi c'è l'utente pallino che deve modificare i dati relativi a lui come faccio???

    I frammenti di codice mandatimi li sono riusciti a modificare inserendo anche la data e funzionano però dimenticavo questo piccolo particolare...

    Ultima cosa nella mail dove dice 'nome_input' posso inserire anche più campi... cmq ti ringrazio per la velocità delle risposte alle mie domande...

  7. #7
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Allora, puoi modificare il file read.php in questo modo:
    Codice PHP:
    <?php
    $utenti
    = $_POST['utenti'];
    mysql_query ("UPDATE nome_tabella SET nome_campo = '". $utenti ."' WHERE id = '". $_GET['id'] ."';");
    ?>
    In questo modo, nella tabella del database inserirai un altro campo chiamato id (impostalo INT(11) Chiave primaria auto_increment) in modo che ogni utente avrà un id. Adesso, come ti ho strutturato la query, se l'url sarà read.php?id=1 si modificherà il profilo dell'utente con id 1, oppure se l'url sarà read.php?id=2 si modificherà il profilo dell'utente con id 2 etc etc...

    Passiamo al secondo problema:
    Se vuoi inserire più campi nel testo dell'email dovrai semplicemente fare così:
    Codice PHP:
    mail("tua@email.it", "oggetto del messaggio", $_POST['nome_input1'] ."\n". $_POST['nome_input2'] . etc..., "From: destinatario <email@destinatario.it>");
    Sia chiaro che \n serve per mandare accapo una riga.

    P.S. Prima di eseguire le queries, non dimenticarti di connetterti al database!

  8. #8
    Guest

    Predefinito

    ok proverò a fare come dici tu, ci avevo pensato, ora grazie a te lo realizzerò...un ultima cosa ma come faccio a modificare i dati solo di un utente? ad esempio entro come pinco e voglio cambiare la sceltadi pinco e la memorizzo, poi entro come pallino e voglio modificare le preferenze di pallino e così via, cioè prendere i dati di ciascun utente e modificarli singolarmente...anche se sono entrambi connessi e li modificano separatamente, grazie per la pazienza

    EDIT: cioè mi spiego meglio, accedo come pinco voglio sapere che id ha pinco come faccio...cioè devo progettare uno script che a seconda di chi accede ne legge l'id e poi fa quello che abbiamo già detto...

    RI-EDIT: ps mi spieghi la funzione di $_GET


    FunCool: Non scrivere dei messaggi consecutivi, utilizza il tasto Edita.
    Ultima modifica di funcool : 07-01-2007 alle ore 17.30.13

  9. #9
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    tramite la variabile $_GET[] ti ho impostato l'id di un utente nell'url. Ora, come ho già detto prima se l'url sarà read.php?id=1 si modificherà il profilo dell'utente con id 1, oppure se l'url sarà read.php?id=2 si modificherà il profilo dell'utente con id 2 etc etc...

    Quindi il database sarà:
    id | utente
    1 | pinco
    2 | pallino

    ok?

  10. #10
    Guest

    Post

    ora mi spiego meglio, ogni utente accede a questa pagina con più campi opzione, li invia e poi successivamente deve modificarli...con il tasto invia tutto ok...solo che poi come faccio a recuperare i dati modificati?

    EDIT: ho trovato finalemnete le parole per spiegarmi, ogni utente accede al medesimo db solo che ogni utente ha insiemi di dati sui quali operare diversi, io una volta che l'utente accede devo sapere a priori l'id in modo che con una query riesca a fargli visualizzare in ogni option i dati sui quali può esprimere preferenze...finalmente mi sono spiegato...


    FunCool: Non scrivere due messaggi consecutivi, utilizza il tasto Edita.
    Ultima modifica di funcool : 07-01-2007 alle ore 18.19.59

  11. #11
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Se leggi bene quello che ho scritto sopra, troverai la soluzione, basta modificar eun po' ciò che ho scritto.

    Per problemi scrivi pure.

    ciao

  12. #12
    Guest

    Post

    mo spiego ancora meglio...

    Codice PHP prova.php:
    <form name="formazione" action="http://www.miosito.it/read.php" method="post">
    <select name="utenti">
    <?php
    while ($elemento = mysql_fetch_array($risultato, MYSQL_ASSOC))
    {
    echo "<option value=\"". $elemento['name'] ."\">". $elemento['name'] ."</option>";
    }
    ?>
    </select>
    <?php
    $iniziodata = "07/01/2007";
    $finedata = "13/01/2007";
    $fineora = "17:00";
    if (((date("d/m/Y") >= $iniziodata) && (date("d/m/Y") <= $finedata)) && ((date("d/m/Y") == $finedata) && (date("G:i")==$fineora)))
    $input = "<input type=\"submit\" value=\"invia\" />";
    else
    $input .= "";
    echo $input;
    ?>
    //<input type="submit" value="Invia">
    </form>


    Prima di eseguire la query vorrei con un join consentire a quell'utente loggato di modificare i suoi dati, quindi nella query devo conoscere a priori gli id che per come ho progettato il tutto vengono assegnato all'atto dell'iscrizione...come faccio ad averlo anche nel prova.php quale utente si è loggato e quindi a quali dati può accedere...

  13. #13
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Una volta che l'utente è loggato hai creato una sessione o un cookie, giusto? Ecco, li inserisci l'id dell'utente e così lo potrai ricavare.

  14. #14
    Guest

    Post

    quando mi loggo come user, con che comando ricavo l'id del mio accountin php?

  15. #15
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Quando fai il login, nella query dove verifichi che i dati siano esatti, estrai anche l'id.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  16. #16
    Guest

    Predefinito

    ora va tutto bene se non fosse che non riesco a fare modificare a un utente solo i suoi dati, io uso un CMS (joomla), e quando faccio il login non riesco a ricavare l'id come posso fare???

  17. #17
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Dovresti modificare il codice PHP della pagina del login e quindi estrarre l'id. Non avendo mai utilizzato Joomla non so come fare. Sull'home page di questo forum c'è il link al supporto ufficiale di Joomla, prova a vedere lì.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •