- Home
- Categorie
- Coding e Sistemistica
- Coding
- Record
-
Fai mostrare l'errore:
[php]
$query=mysql_query("SELECT * FROM parametri WHERE ingresso(mese) = 'anno' AND MONTH(anno) = 'mese' ORDER BY data DESC") or die(mysql_error());while($a=mysql_fetch_array($query)){
$id=$a['id'];
$ingresso=$a['ingresso'];echo "<tr><td>$id</td><td>$ingresso</td><td>";
}
?>
[/php]Non utilizzare le variabili globali (come $_POST) per fare i cicli.
-
Ok, ma che variabile ci devo mettere? Per ogni variabile mi dà sempre lo stesso errore...
-
Hai messo il codice che ti ho postato sopra io?
-
OPSSS scusami...mi dà questo errore di sintassi:
Errore di sintassi nella query SQL vicino a '(mese) = 'anno' AND MONTH(anno) = 'mese' ORDER BY data DESC' linea 1
-
Riguardando la query, credo proprio che:
[php]
WHERE ingresso(mese) = 'anno' AND MONTH(anno) = 'mese'
[/php]
Sia errato.
-
Ho provato anche così ma mi dà lo stesso errore.
[PHP]$query=mysql_query("SELECT * FROM dati WHERE ingresso YEAR(anno) = 'anno' AND MONTH(mese) = 'mese' ORDER BY data DESC") or die(mysql_error());[/PHP]
-
Dovresti fare cosi:
[php]
$query=mysql_query("SELECT * FROM dati WHERE YEAR(nome_campo_data) = 'anno' AND MONTH(nome_campo_data) = 'mese' ORDER BY data DESC") or die(mysql_error());
[/php]
-
O mamma...
Mi dà [PHP]Colonna sconosciuta 'data' in 'order clause'[/PHP]
Devo togliere il campo "data" nel db?
Nel nome_campo_data dovrei metterci "ingresso" e non "data" giusto? mi sembra di sì...
-
Allora sia al posto di nome_campo_data che al posto di data devi mettere il nome del campo della tua tabella.
-
Ok risolto il problema, grazie!
Ora faccio il form e vedo se tutto và...
Grazie molte!
-
Prego.
-
Uffà, fatto form, tutto ok, ma perchè mi mette tutti i dati esistenti e non solo quelli richiesti per mese ed anno?
-
Forse è il campo del db: ho messo campo con TIMESTAMP mi dà null e nel predefinito mi dà CURRENT_TIMESTAMP.
-
Forse devo usare questa funzione?
$data_timestamp = mktime("0", "0", "0", $mese, $giorno, $anno);
-
Stai facendo un pò di confusione.
Con mktime si genera il timestamp unix che conta il numero di secondi dal 1 Gennaio 1970.
Il campo del mysql di tipo timestamp non è per il timestamp unix, ma viene salvato come anno-mese-giorno ora:minuto.
Se vuoi utilizzare il timestamp unix, cosa che ti consiglio per comodità, devi mettere il campo della tabella di tipo int.
-
Ho messo il campo INT
[PHP]
$query=mysql_query("SELECT * FROM dati WHERE YEAR(data) = 'anno' AND MONTH(data) = 'mese' ORDER BY data DESC") or die(mysql_error());
$data_timestamp = mktime("0", "0", "0", $mese, $giorno, $anno);
while($dati=mysql_fetch_array($query)){
$id_cl=$idati['id_cl'];
$ingresso=$dati['ingresso'];
echo "<tr><td>$id_cl</td><td>$ingresso</td><td>";
}?>[/PHP]
Non va...:(
-
Ma con quel mktime li cosa dovresti fare?
-
Giusto, scusami è l'alzhaimer
[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'];echo "<tr><td>$id_cl</td><td>$ingresso</td></tr>
}?>[/PHP]
Mi dà errore alla riga 29 che sarebbe ?> ??????? :?:?:?
-
Sì, mi sono dimenticato ";
Ora mi dà pagina completamente vuota, qualsiasi data digiti...
-
Ciao! Ho provato anche così ma continua a stamparmi ancora tutti i dati indipendentemente dalla data che metto...
[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]
Mi dice che non ho neanche definito le variabili mese e anno...e poi mi mette tutti gli ingressi a prescindere dalla data...
Grazie!