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
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
In particolare, cosa non riesci a fare??
Sii più preciso nelle richieste.
Ciaoo!!
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
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
1) aggiorni il campo con UPDATE nome_tabella SET nome_campo = 'nuovo valore'' WHERE campo = 'condizione';
2) Potresti fare in questo modo:
L'ho impostato in modo che sia visibile dal 07/01/2007 fino al 19/01/2007.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;
?>
3) Il ragionamento più o meno è sempre lo stesso, potresti fare così:
Adesso ho fatto in modo che la mail sia inviata il 20/01/2007.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>");
?>
Spero sia stato chiaro, ciao.
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...
Allora, puoi modificare il file read.php in questo modo:
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...Codice PHP:
<?php
$utenti = $_POST['utenti'];
mysql_query ("UPDATE nome_tabella SET nome_campo = '". $utenti ."' WHERE id = '". $_GET['id'] ."';");
?>
Passiamo al secondo problema:
Se vuoi inserire più campi nel testo dell'email dovrai semplicemente fare così:
Sia chiaro che \n serve per mandare accapo una riga.Codice PHP:
mail("tua@email.it", "oggetto del messaggio", $_POST['nome_input1'] ."\n". $_POST['nome_input2'] . etc..., "From: destinatario <email@destinatario.it>");
P.S. Prima di eseguire le queries, non dimenticarti di connetterti al database!
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
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?
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
Se leggi bene quello che ho scritto sopra, troverai la soluzione, basta modificar eun po' ciò che ho scritto.
Per problemi scrivi pure.
ciao
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...
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.
quando mi loggo come user, con che comando ricavo l'id del mio accountin php?
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
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???
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