come gestire la selezione data

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Salve a tutti di nuovo,

Come vedi borgo, un problema ==> un post. Ne ho aperti due e questo è il secondo. Allora vengo subito al dunque. Vorrei gestire il campo data di nascita come fa facebook e altri siti quando ti registri. ossia Ho il campo data di nascita messo nella tabella utenti in questa maniera:

Tabella utenti:

PHP:
datadinascita 	timestamp NOT NULL,

//e il resto dei campi

Però quando vai a selezionare la data, non la devi scrivere per intero quidni in questa maniera: 14/04/1972 (esempio di data di nascita mio), ma la devi poter selezionare con tre selezioni diverese, quindi: una per il giorno, uno per il mese e uno pe rl'anno intero. Ora la domanda è la seguente, come viene gestito nel db ??? Tre campi separati o un campo unico. Per tre campi semparati intendo:

1) Giorno (gg),

2) Mese (/mm),

3) Anno (/aaaa).

Con il separatore lo slash (/). Mi pot5ete dare una mano o consigli o spiegazioni al riguardo per favore ????? Grazie a tutti.
 
Per il campo che conterrà la data c'è il tipo DATE ma la data deve andare nel formato aaaa-mm-gg.
Io personalmente non farei 3 campi diversi ma la gestirei con date.
 
Ciao

Quindi posso fare la selezione a tre, però sfruttando il campo unico date giusto ???? Ti posto quello che ho fatto se mi puoi dare una mano perchè non mi visualziza quello che deve visualizzare quando ci clicchi con la freccetta in basso.


Questo è l'array che ho fatto e suddisviso in: giorno/mese/anno

PHP:
//Lista giorni

$giorno = array(

$giorno['01'] = "01",
$giorno['02'] = "02",
$giorno['03'] = "03",
$giorno['04'] = "04",
$giorno['05'] = "05",
$giorno['06'] = "06",
$giorno['07'] = "07",
);
//Lista mesi

$mese = array(

$mese['01'] = "01",
$mese['02'] = "02",
$mese['03'] = "03",
$mese['04'] = "04",
$mese['05'] = "05",
$mes//Lista giorni
e['06'] = "06",
$mese['07'] = "07",
$mese['08'] = "08",
$mese['09'] = "09",
$mese['10'] = "10",
$mese['11'] = "11",
$mese['12'] = "12",
);

//Lista anno

$anno = array(

$anno['1985'] = "1985",
$anno['1986'] = "1986",
$anno['1987'] = "1987",
$anno['1988'] = "1988",
$anno['1989'] = "1989",
$anno['1990'] = "1990",
$anno['1991'] = "1991",
$anno['1992'] = "1992",
$anno['1993'] = "1993",
$anno['1994'] = "1994",
$anno['1995'] = "1995",
$anno['1996'] = "1996",
$anno['1997'] = "1997",
$anno['1998'] = "1998",
$anno['1999'] = "1999",
$anno['2000'] = "2000",
$anno['2001'] = "2001",
$anno['2002'] = "2002",
$anno['2003'] = "2003",
$anno['2004'] = "2004",
$anno['2005'] = "2005",
$anno['2006'] = "2006",
$anno['2007'] = "2007",
$anno['2008'] = "2008",
$anno['2009'] = "2009",
$anno['2010'] = "2010",
$anno['2011'] = "2011",
$anno['2012'] = "2012",
$anno['2013'] = "2013",
$anno['2014'] = "2014",
   );

E questo è il richiamo dall'array, ma mi da errore su foreach. Ora ti posto:

PHP:
<p align="left">          

Data di Nascita Giorno: 
    <?php

echo "<select name=\"Giorno\">";
foreach($giorno as $chiave => $valore){  //questa è la riga incriminata
    echo "<option value=\"$chiave\">$valore</option>";
}
echo "</select>";
?>

Qua sotto ti mostro un'immagine di quello che mi si presenta. Ti allego due immagini, di cui una è l'array vuoto che mi si presenta e l'altro è il benvenuto che poi dovrei ridurre. Vorrei sapere quest'ultimo come lo posso ridurre.
 
Bè come puoi vedere l'errore è nella funzione mysql_fetch_assoc() che non vedo nel di codice postato.
 
Ciao

Dunque, per quanto riguarda il regolamento, mi sono accorto ora che ho sbagliato ad inviare l'immagine. Non era quella da inviare. Difatti il regolamento l'ho risolto come problema. Per quanto riguarda la funzione mysql_fetch_assoc(), dove la dovrei inserire ????
 
Ciao

Ho visto il manuale, ma in pratica mi dice che non c'è nessun argomento relativo e poi è tutto in in inglese. Ma a prescindere da questo, ovviamente il codice che ho postato è sbagliato. L'array sta in un file a parte chiamato array di selelione. In pratica il contenuto del giorno mese e anno sono in un file a parte.
 
ciao
per i mesi avrei fatto anch'io l'array ( si vuole scrivere il mese in lettere, altrimenti un altro for da 1 a 12), ma per i giorni e l'anno mi sembra che scrivere tutto quell'arrya sia una perdita di tempo
PHP:
<?php
//giorni
echo "<select name=\"giorno\">";
echo "<option value=\"\"> seleziona </option>";
for($gg=1; $gg<=31; $gg++){
	if(strlen($gg)< 2){$gg .= "0":}
	echi "<option value=\"$gg\"> $gg </option>";
}
echo "</select>";
//anno
$da=1985;
$al=2014;
echo "<select name=\"anno\">";
echo "<option value=\"\"> seleziona </option>";
for($aa=$da; $aa<=$al; $aa++){
	echi "<option value=\"$aa\"> $aa </option>";
}
echo "</select>";

pape4: ti tiro le orecchie :), non passare dalle date al mysql_fetch_assoc: 1 problema => 1 post
 
Ciao

Aiha borgo,

Mi hai fatto male. Vabbè stavolta me lo sono meritato. Ecco era quello ch emi mancava del ciclo, grazie per avermelo postato. Sostituisco subito il codice. mi sembra più ordinato e meno incasinato :P
 
mysql_fetch_assoc è come usare mysql_fetch_array ma con una velocità fino al 35% maggiore.
Almeno uno dei due dovresti conoscerli se hai un sito dove utilizzi i dati presi da un db :)
In pratica mettono in un array, con indici che sono il nome dei campi, il valore dei record.

EDIT: Ho appena letto tutto il resto della conversazione, non avevo ancora aggiornato la pagina, sorry guys.
 
Ultima modifica:
mysql_fetch_assoc è come usare mysql_fetch_array ma con una velocità fino al 35% maggiore.
Almeno uno dei due dovresti conoscerli se hai un sito dove utilizzi i dati presi da un db :)
In pratica mettono in un array, con indici che sono il nome dei campi, il valore dei record.

EDIT: Ho appena letto tutto il resto della conversazione, non avevo ancora aggiornato la pagina, sorry guys.

Allora Longo,

Borgo mi ha rimproverato dicendo che dovrei aprire un'altro post per mysql_fetch_assoc. Comunque, per rimanere in tema, il mio è già un file con un array non ho il db per i mesi le province e le città non so se mi sono spiegato.
 
Allora Longo,

Borgo mi ha rimproverato dicendo che dovrei aprire un'altro post per mysql_fetch_assoc. Comunque, per rimanere in tema, il mio è già un file con un array non ho il db per i mesi le province e le città non so se mi sono spiegato.

Scusami allora perché stai usando quella funzione?

Comunque si sostituisci : con ; il gatto è pasticcione
 

Discussioni simili