- Home
- Categorie
- Coding e Sistemistica
- PHP
- Creare elenco cronologico da input form
-
Invece è semplicissimo, vai sul tuo database e crea una tabella "elenco_clienti" con i capi:
- id INT(5) AUTOINCREMENT PRIMARY KEY; - nome VARCHAR(50); - cognome VARCHAR(50); - data_di_nascita INT(15); - citta_di_nascita VARCHAR(50); - data_registrazione INT(15);
Una volta fatto questo, la pagina php che elaborerà i dati del form avrà questo codice:
[PHP]<?php
mysql_connect($host,$username,$passowrd);
mysql_select_db($database);
//creo l'array con il giorno/mese/anno
$arr_data = explode("/",$_POST['data_di_nascita3']);
//converto quella data in unix timestamp, così da poterlo ordinare (risulterà un numero intero di 12 cifre)
$data_di_nascita = mktime(0,0,0,$arr_data[1],$arr_data[0],$arr_data[2]);
$nome = $_POST['nome1'];
//rimpiazzo gli eventuali apostrofi
$nome = str_replace("'","'",$nome);
$cognome=$_POST['cognome2'];
//rimpiazzo gli eventuali apostrofi
$cognome = str_replace("'","'",$cognome);
$citta_di_nascita = $_POST['citta_di_nascita4'];
//rimpiazzo gli eventuali apostrofi
$citta_di_nascita = str_replace("'","'",$citta_di_nascita);//inserimento del nuovo cliente
".mysql_error());
$query = "INSERT INTO elenco_clienti VALUES ('','$nome','$cognome',$data_di_nascita,'$citta_di_nascita',time());
$risultato = mysql_query($query) or die ("query '$query' fallita
while ($cliente = mysql_fetch_array($risultato))
{
echo $cliente['nome'].' '.$cliente['cognome'].', ';
echo 'nato a '.$cliente['citta_di_nascita'].' il '.date('d/m/Y',$cliente['data_di_nascita']).', ';
echo 'registrato il '.date('d/m/Y',$cliente['data_registrazione']). alle '.date('H:i:s',$cliente['data_registrazione']).'<br>';
}
?>[/PHP]Spero sia tutto quello di cui hai bisogno...
-
Grazie momino, appena ho un attimo di tempo lo faccio immediatamente!
Non devo mettere anche lo script per la connessione database? io con mio database mi connetto semplicemente mettendo username e pass o c'è dell'altro?
Grazie!!!
-
Ovvio che devi prima connetterti...
-
Ho creato la cartella nel database con esito positivo, poi ho fatto copia incolla del codice php che mi hai dato tu mettendo i miei dati...host eccetera, l'ho messo nel note book salvandolo come file php, poi dal database ho fatto sfoglia...sono andato a prendermi il file...ma alla sua esecuzione mi dà questo errore...
Messaggio di MySQL:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<?php
mysql_connect($62.,$Sql,$password)' at line 1:?:?:?
-
id INT(5) AUTOINCREMENT PRIMARY KEY;
...questo dove lo devo mettere?
-
Allora, come tutti i "copia&incolla" da questo sito, vengono trasformati i caratteri di apertura tag, vedi che nel codice risulta "<" al posto di "<", e ">" al posto di ">". Magari anche "&" al posto di "&".
Controlla queste cose e vedi che funge.
-
Ho ricontrollato il codice che ho copiato nel block notes e sembra tutto ok...il segno < e > non sono sostituiti dai simboli che dici...ma l'errore non è un errore di connessione?
Guarda io ci provo ma non ci riesco...ho controllato e il codice è tale e quale a come l'hai scritto tu sul notes.
-
Ho detto così perchè ad un altro utente è successa la stessa cosa, e sostituendo funzionava. Anche perchè l'errore te lo da proprio all'apertura del tag "<?php...", che inizia proprio col simbolo "<" di cui prima.
Altrimenti posta il codice php (nascondendo i dati sensibili).
-
[php]<?php
".mysql_error());
mysql_connect($6,$Sq,$pass);
mysql_select_db($Sql216305_2);
//creo l'array con il giorno/mese/anno
$arr_data = explode("/",$_POST['data_di_nascita3']);
//converto quella data in unix timestamp, così da poterlo ordinare (risulterà un numero intero di 12 cifre)
$data_di_nascita = mktime(0,0,0,$arr_data[1],$arr_data[0],$arr_data[2]);
$nome = $_POST['nome1'];
//rimpiazzo gli eventuali apostrofi
$nome = str_replace("'","'",$nome);
$cognome=$_POST['cognome2'];
//rimpiazzo gli eventuali apostrofi
$cognome = str_replace("'","'",$cognome);
$citta_di_nascita = $_POST['citta_di_nascita4'];
//rimpiazzo gli eventuali apostrofi
$citta_di_nascita = str_replace("'","'",$citta_di_nascita);
//inserimento del nuovo cliente
$query = "INSERT INTO elenco_clienti VALUES ('','$nome','$cognome',$data_di_nascita,'$citta_di_nascita',time());
$risultato = mysql_query($query) or die ("query '$query' fallita
while ($cliente = mysql_fetch_array($risultato))
{
echo $cliente['nome'].' '.$cliente['cognome'].', ';
echo 'nato a '.$cliente['citta_di_nascita'].' il '.date('d/m/Y',$cliente['data_di_nascita']).', ';
echo 'registrato il '.date('d/m/Y',$cliente['data_registrazione']). alle '.date('H:i:s',$cliente['data_registrazione']).'<br>';
}
?>[/php]
-
Se davvero hai controllato i caratteri speciali dei tag, vedi che alla fine della riga dove dice "$query=..." manca un ->"<- (virgolette), non so se è quello l'errore ma è pur sempre un errore...
-
Ho trovato la cappella che ho fatto...non avevo inserito id...che stupido che sono...però non ha cambiato le cose, mi dà sempre lo stesso errore, sembrerebbe un errore di connessione...
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<?php mysql_connect($62,$Sql,$password)' at line 1 ```Non vorrei che sbagliassi dall'inizio, tieni conto che non ho mai usato un database...per connettermi io apro il pannello metto username e password e stop... Trovando scritto quà e là mi sembrava che dovessi aggiungere un qualcosa per la connessione o sbaglio? mi sembra non ne sono sicuro...
-
Gli errori che segnala MySql sono abbastanza chiari, e qui segnala un errore appena incontra il carattere "<", così a naso sembra che tu stia inserendo il codice di una pagina php nel pannello di mysql come se fosse una query...
La pagina è scritta correttamente, devi salvarla in un file .php e lanciarlo da browser. Non è un errore di connessione, sembra proprio che sbagli a passargli il comando a mysql, come se gli passassi l'intero codice invece di una query, così sembra...
-
@momino said:
Gli errori che segnala MySql sono abbastanza chiari, e qui segnala un errore appena incontra il carattere "<", così a naso sembra che tu stia inserendo il codice di una pagina php nel pannello di mysql come se fosse una query...
La pagina è scritta correttamente, devi salvarla in un file .php e lanciarlo da browser. Non è un errore di connessione, sembra proprio che sbagli a passargli il comando a mysql, come se gli passassi l'intero codice invece di una query, così sembra...
Ti ringrazio momino, allora...in che cosa sbaglio? io non gli passo l'intera query ma lo stesso codice l'ho salvato nel blocco note come elenco_clienti.php, poi dal database facendo sfoglia e prendendo il file elenco_clienti.php lo eseguo ed esce fuori quell'errore...ma non capisco dove sbaglio.
Altrimenti come devo fare? mi puoi dire passo passo? poi una volta capito il meccanismo...abbi pazienza...
Grazie!
-
Assolutamente è il metodo sbagliato! Quella pagina .php fa lanciata da browser, apri Firefox (spero che tu non abbia Internet Explorer) e digiti nella barra degli indirizzi l'url della pagina "elenco_clienti.php".
Non va importata nel database da pannello di controllo mysql.
-
Inizio a capire...un pochettino...solo che io ho internet explorer...e quindi non si può fare? miseriaccia!!!
-
Certo che si può fare, la mia era solo un'osservazione dovuta alla poca fiducia che ho del browser Microsoft
Puoi usare qualsiasi browser, funzionerà sempre e comunque!
-
Cioè facendo htt//elenco_clienti.php cosa dovrei trovare? Non mi fà visualizzare la pagina...
-
Devi scrivere l'intero percorso, come se volessi andare ad una pagina del tuo sito internet...
-
In questo database non ho sito internet, e non ho percorsi, ho solo creato la tabella nel database e poi stavo tentando di mettere la query, quindi come devo fare?
-
Ma la tua tabella si riempie tramite i dati di un form html, gestito dalla pagina php che ti avevo scritto.
Non ha senso mettere a mano i dati tutte le volte che compilano il form, il php serve proprio a questo, a prendere i dati dal form e metterli automaticamente nella tabella che hai creato in mysql.
Cioè non riesco a capire come stai organizzando la cosa, hai uno spazio web per mettere questo form html? E per ospitare la pagina php che ti avevo scritto? E' da lì che ti devi connettere al database MySql, se non hai questo spazio stiamo perdendo tempo...