- Home
- Categorie
- Coding e Sistemistica
- Coding
- Record
-
Che differenza c'è?
-
Desc sta per ordinamento decrescente, ASC per ordinamento crescente.
-
Grazie!
Così è corretto?
[php]
$query=mysql_query("SELECT * FROM parametri WHERE ingresso(mese) = 'anno' AND MONTH(anno) = 'mese' ORDER BY data DESC;while($_POST=mysql_fetch_array($query)){
$id=$_POST['id'];
$ingresso=$_POST['ingresso'];echo "<tr><td>$id</td><td>$ingresso</td><td>";
}
?>[/php]Mi dà questo:
Parse error: parse error, expecting
T_STRING' or
T_VARIABLE' or `T_NUM_STRING' in c:\programmiChe significa?
-
Prova, e vedi se ordina correttamente.
Ti manca ") nel codice:
[php]
$query=mysql_query("SELECT * FROM parametri WHERE ingresso(mese) = 'anno' AND MONTH(anno) = 'mese' ORDER BY data DESC");while($_POST=mysql_fetch_array($query)){
$id=$_POST['id'];
$ingresso=$_POST['ingresso'];echo "<tr><td>$id</td><td>$ingresso</td><td>";
}
?>
[/php]
-
Mi dà questo:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\programmi
-
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.