Op datum sorteren/eerste weergeven(2)
ik heb een poosje terug (gister d8 ik) gevraagd naar een code om het eerst volgende concert uit de databse te pakken, nl:
SELECT * FROM concertagenda WHERE datum > NOW() ORDER BY datum DESC LIMIT 0,1
deze werkt alleen niet.
datum = DATE, en daar staan 2004-09-07 (id=81) en 2005-04-23 (id=79). Nu geeft ie die van 2005-04-23 weer, terwijl de andere er eigenlijk zou moeten staan, want deze komt eerst, het stukje script dat ik ervoor gebruik:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$sql = "SELECT * FROM concertagenda WHERE datum > NOW() ORDER BY datum DESC LIMIT 0,1";
$resultaat = mysql_query($sql) or die ("query mislukt");
while ($rij = mysql_fetch_object($resultaat)){
$datum = htmlspecialchars($rij->datum);
$concert = htmlspecialchars($rij->concert);
set_smilies($bericht);
echo "<a href='?p=concertagenda'>".$concert."</a>";
}
?>
$sql = "SELECT * FROM concertagenda WHERE datum > NOW() ORDER BY datum DESC LIMIT 0,1";
$resultaat = mysql_query($sql) or die ("query mislukt");
while ($rij = mysql_fetch_object($resultaat)){
$datum = htmlspecialchars($rij->datum);
$concert = htmlspecialchars($rij->concert);
set_smilies($bericht);
echo "<a href='?p=concertagenda'>".$concert."</a>";
}
?>
Hoe is dit, als het is, op te lossen?
2e vraag.
Ik heb een zootje concerten in 1 database, id=79 tm 81.
Data: 2005-04-23, 2005-04-22, 2004-09-07.. zo staat het ook op de pagina, en ik wil andersom :S.
is dezelfde tabel als bovenstaande: datum = DATE.
script [concertagenda.php]
<table class="tbl1"><tr><td>
<table>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql = "SELECT * FROM concertagenda ORDER BY datum DESC";
$resultaat = mysql_query($sql) or die ("query mislukt");
while ($rij = mysql_fetch_object($resultaat)){
$datum = htmlspecialchars($rij->datum);
$concert = htmlspecialchars($rij->concert);
set_smilies($bericht);
echo "<tr>\n";
echo "<td><b>".$datum."</b></td>\n";
echo "<td>".$concert."</td>\n";
echo "</tr>\n";
}
?>
$sql = "SELECT * FROM concertagenda ORDER BY datum DESC";
$resultaat = mysql_query($sql) or die ("query mislukt");
while ($rij = mysql_fetch_object($resultaat)){
$datum = htmlspecialchars($rij->datum);
$concert = htmlspecialchars($rij->concert);
set_smilies($bericht);
echo "<tr>\n";
echo "<td><b>".$datum."</b></td>\n";
echo "<td>".$concert."</td>\n";
echo "</tr>\n";
}
?>
</table>
</td></tr></table>
zal ook wel een fout van mij inzitten.
Misschien dat het aan de invoer bij de database ligt, ik ehb eerst eens 23-04-2005 ingevoerd, dit werd misvormd, heb ik er 2005-04-23 van gemaakt, ging goed, of is dit nu fout (type=DATE).
BVD,
Grt,
Jorik
SELECT * FROM concertagenda WHERE datum > NOW() ORDER BY datum DESC LIMIT 0,1
Dit gebruiken:
SELECT * FROM concertagenda WHERE datum > NOW() ORDER BY datum ASC LIMIT 0,1
Je 2e vraag is eigenlijk hetzelfde probleem, verander:
SELECT * FROM concertagenda ORDER BY datum DESC
eens in:
SELECT * FROM concertagenda ORDER BY datum ASC
Bedankt...
Als ik
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$sql = "SELECT * FROM concertagenda ORDER BY datum ASC";
verander in
[code]<?php
$sql = "SELECT * FROM concertagenda WHERE datum > NOW() ORDER BY datum ASC";
krijg ik dan alleen de concerten te zien NAAR vandaag?..
kan het ook dat automatisch concerten die geweest zijn (dus naar NOW) automatisch gewist worden?
$sql = "SELECT * FROM concertagenda ORDER BY datum ASC";
verander in
[code]<?php
$sql = "SELECT * FROM concertagenda WHERE datum > NOW() ORDER BY datum ASC";
krijg ik dan alleen de concerten te zien NAAR vandaag?..
kan het ook dat automatisch concerten die geweest zijn (dus naar NOW) automatisch gewist worden?
Gewijzigd op 28/08/2004 20:14:00 door Jorik
En je idee is ook mogelijk, dan moet je een pagina maken waarbij de volgende query wordt uitgevoerd:
DELETE FROM concertagenda WHERE datum < NOW()
Maar dat is opzich zonde, omdat je door ze niet te wissen een mooi overzicht houdt van concerten. Kun je later weer een mooi overzicht van maken, soort geschiedenis ofzo. Maar dan dus selecteren met "WHERE datum < NOW()" :)
Bedankt he.. de site word nu mooi (owja, als je het wilt zien: http://wpharmonie.funpic.de/ , als ie klaar is gaat ie naar www.wpharmonie.nl )
Ziet er beter uit :)
-edit-
Bij je kolom "Eerstvolgende concert":
Quote:
Fatal error: Call to undefined function: set_smilies() in /usr/export/www/vhosts/funnetwork/hosting/wpharmonie/index.php on line 187
Gewijzigd op 28/08/2004 20:28:00 door dutchcamel
waar moet ik die invoeren :$, ben niet zo goed in php :D
Voor:
ik krijg allen te zien '--' voor de rest nix (jah, het concert erachter)
Vervang:
Voor:
Code (php)
Werkt dat wel?
Twee streepies, ook niet :(...
Vervang:
Voor:
Hij doet het zo te zien :)
Bedankt!