- Home
- Categorie
- Coding e Sistemistica
- Coding
- Record
-
[php]
$query=mysql_query("SELECT * FROM dati WHERE YEAR(data) = '$anno' AND MONTH(data) = '$mese' ORDER BY data DESC") or die(mysql_error());while($dati=mysql_fetch_array($query)){
$id_cl=$dati['id_cl'];
$ingresso=$dati['ingresso'];
$mese=$_POST['mese'];
$anno=$_POST['anno'];echo "<tr><td>$id_cl</td><td>$ingresso</td></tr>";
}
[/php]
Quindi nel db devo avere il campo "mese" e "anno" e tutti i mesi dell'anno "gennaio", "febbraio" ect. e anche tutti gli anni che ho messo nella select "2009", "2010" ect.
Nella pagina.php non devo metterli perchè li prende automaticamente dal db.
Ma dove stà l'errore allora? :bho:
Le variabili le ho definite tutte?
-
Ma $anno e $mese dove li stai prendendo?
-
Mese è il nome della select e anche anno. Poi ho anche i campi mese e anno nel db...
-
Il mese e l'anno sono registrati automaticamente quando compilo un form inserimento clienti...
-
Si, ma
[php]
$mese=$_POST['mese'];
$anno=$_POST['anno'];
[/php]
Devi metterli prima della query, non ciclarli.
-
Mi dà sempre variabili non definite mese anno e diagnosi_ingresso.
[PHP]
$query="INSERT INTO diagnosi_data (mese, anno, diagnosi_ingresso) VALUES ('$mese', '$anno', '$diagnosi_ingresso')";$insert=mysql_query($query) or die(mysql_error());
$diagnosi_ingresso=$_POST['diagnosi_ingresso'];
$mese=$_POST['mese'];
$anno=$_POST['anno'];
$query=mysql_query("SELECT * FROM inserimento_dati WHERE YEAR(diagnosi_data) = 'anno' AND MONTH(diagnosi_data) = 'mese' ORDER BY diagnosi_data DESC") or die(mysql_error());while($inserimento_dati=mysql_fetch_array($query)){
$diagnosi_ingresso=$inserimento_dati['diagnosi_ingresso'];
echo" <tr><td>$diagnosi_ingresso</td></tr>";
}?>[/PHP]
-
Non riesco più a capire che cosa dovrebbe fare questa pagina...
-
Ordinare record secondo data (mese ed anno).
-
I notice dovrebbe darteli sulla query di insert, non su quella di select...
Visto che le 3 variabili non sono definite.
-
Ora l'ho cambiato così ma mi stampa tutti i dati...grrrr
[PHP]$query=mysql_query("SELECT * FROM inserimento_dati WHERE YEAR(diagnosi_data) = 'anno' AND MONTH(diagnosi_data) = 'mese' ORDER BY diagnosi_data DESC") or die(mysql_error());
$mese=$_POST['mese'];
$anno=$_POST['anno'];while($inserimento_dati_=mysql_fetch_array($query)){
$diagnosi_ingresso=$inserimento_dati['diagnosi_ingresso'];
echo" <tr><td>$diagnosi_ingresso</td></tr>";[/PHP]
-
Ma...devo mica fare un'altra tabella "diagnosi_data" con campi mese, anno, gennaio, febbraio ecc. e 2009, 2010 e tutti gli altri anni?
-
Non devi fare altri campi, il campo deve essere solo 1 in questo caso diagnosi_data, nel record a secondo della data presente nel campo la query ti prenderà solo i record di quel mese e anno.
-
Ok allora
Tutto come prima nel senso che non ho aggiungo nulla.
Ma perchè ora mi stampa tutti i dati anche se selezioni mese e anno?
-
Posti il codice completo di tutta la pagina?
-
Eccolo:
[PHP]
$query=mysql_query("SELECT * FROM inserimento_dati WHERE YEAR(diagnosi_data) = 'anno' AND MONTH(diagnosi_data) = 'mese' ORDER BY diagnosi_data DESC") or die(mysql_error());$mese=$_POST['mese'];
$anno=$_POST['anno'];while($inserimento_dati=mysql_fetch_array($query)){
$diagnosi_ingresso=$inserimento_dati['diagnosi_ingresso'];
echo" <tr><td>$diagnosi_ingresso</td></tr>";
}
[/PHP]
-
Non dovrebbe essere cosi?
Tutte le volte aggiusti una cosa e ne fai un altra.
[php]
$mese=$_POST['mese'];
$anno=$_POST['anno'];
$query=mysql_query("SELECT * FROM inserimento_dati WHERE YEAR(diagnosi_data) = '$anno' AND MONTH(diagnosi_data) = '$mese' ORDER BY diagnosi_data DESC") or die(mysql_error());
while($inserimento_dati=mysql_fetch_array($query)){
$diagnosi_ingresso=$inserimento_dati['diagnosi_ingresso'];
echo" <tr><td>$diagnosi_ingresso</td></tr>";
}
[/php]
-
Vero, mi incasino un pò
[PHP]$mese=$_POST['mese'];
$anno=$_POST['anno'];$query=mysql_query("SELECT * FROM inserimento_dati WHERE YEAR(diagnosi_data) = '$anno' AND MONTH(diagnosi_data) = '$mese' ORDER BY diagnosi_data DESC") or die(mysql_error());
while($inserimento_dati=mysql_fetch_array($query)){
$diagnosi_ingresso=$inserimento_dati['diagnosi_ingresso'];
echo" <tr><td>$diagnosi_ingresso</td></tr>";
}
[/PHP]Non mi stampa nulla, pagina bianca
-
Allora nella tabella non c'è un record per quell'anno e quel mese.
-
Ho provato lo script per vedere se esiste qualcosa e mi stampa "niente ciccia per gatti"
[PHP]$mese=$_POST['mese'];
$anno=$_POST['anno'];
$query=mysql_query("SELECT * FROM inserimento_dati
WHERE YEAR(diagnosi_data) = '$anno' AND MONTH(diagnosi_data) = '$mese'
ORDER BY diagnosi_data DESC")
or die(mysql_error());
if(mysql_num_rows($query) == 0 ) {
echo " niente ciccia per i gatti.";
exit;
} else {
while($inserimento_dati=mysql_fetch_array($query)){
$diagnosi_ingresso=$inserimento_dati['diagnosi_ingresso'];
echo" <tr><td>$diagnosi_ingresso</td></tr>";
}
}
?>[/PHP]Il mio dubbio è: devo inserire nella tabella database "inserimento_dati"? Lì c'è già anno, mese, poi gennaio, febbraio ecc. e poi 2009, 2010 eccetera.
-
La tabella inserimento_dati del database è questa:
id int(11) No 0
id_cl int(12) No auto_increment
accettato_da varchar(55) latin1_swedish_ci No
cognome varchar(55) latin1_swedish_ci No
nome varchar(55) latin1_swedish_ci No
luogo_di_nascita varchar(55) latin1_swedish_ci No
data_di_nascita varchar(55) latin1_swedish_ci No
eta varchar(11) latin1_swedish_ci No
residenza varchar(55) latin1_swedish_ci No
via varchar(55) latin1_swedish_ci No
recapiti_telefonici varchar(55) latin1_swedish_ci No
telefono_cellulare varchar(55) latin1_swedish_ci No
utente_da_contattare varchar(55) latin1_swedish_ci No
telefono_abitazione2 varchar(55) latin1_swedish_ci No
telefono_cellulare2 varchar(55) latin1_swedish_ci No
provenienza varchar(55) latin1_swedish_ci No
diagnosi_ingresso varchar(55) latin1_swedish_ci No
data_registrazione varchar(55) latin1_swedish_ci No
diagnosi_data varchar(55) latin1_swedish_ci No
mese date No 0000-00-00
anno date No 0000-00-00
gennaio date No 0000-00-00
febbraio date No 0000-00-00
marzo varchar(22) latin1_swedish_ci No
aprile varchar(22) latin1_swedish_ci No
maggio varchar(22) latin1_swedish_ci No
giugno varchar(22) latin1_swedish_ci No
luglio varchar(22) latin1_swedish_ci No
agosto varchar(22) latin1_swedish_ci No
settembre varchar(22) latin1_swedish_ci No
ottobre varchar(22) latin1_swedish_ci No
novembre varchar(22) latin1_swedish_ci No
dicembre varchar(22) latin1_swedish_ci No
2009 date No 0000-00-00
2010 date No 0000-00-00
2011 varchar(4) latin1_swedish_ci No
2012 varchar(4) latin1_swedish_ci No
2013 varchar(4) latin1_swedish_ci No
2014 varchar(4) latin1_swedish_ci No
2015 varchar(4) latin1_swedish_ci No
2016 varchar(4) latin1_swedish_ci No
2017 varchar(4) latin1_swedish_ci No
2018 varchar(4) latin1_swedish_ci No
2019 varchar(4) latin1_swedish_ci No
2020 varchar(4) latin1_swedish_ci