Op datum sorteren/eerste weergeven(2)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jorik

Jorik

28/08/2004 19:59:00
Quote Anchor link
ff 2 vraagjes in 1..

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)
PHP script in nieuw venster Selecteer het PHP script
1
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>";
}

?>


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]
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
include("includes/ubb.php");
include("includes/connect.php");
?>


<table class="tbl1"><tr><td>
<table>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";
}

?>

</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
 
PHP hulp

PHP hulp

15/01/2025 11:13:54
 
Dutchcamel

dutchcamel

28/08/2004 20:04:00
Quote Anchor link
Hmm, ik had gister dat antwoord gegeven. Sorry fout van mij, je moet ipv dit:

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
 
Jorik

Jorik

28/08/2004 20:07:00
Quote Anchor link
Nu werkt het :D
Bedankt...
 
Jorik

Jorik

28/08/2004 20:13:00
Quote Anchor link
Nog een vraag:
Als ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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?
Gewijzigd op 28/08/2004 20:14:00 door Jorik
 
Dutchcamel

dutchcamel

28/08/2004 20:19:00
Quote Anchor link
Jup, wat je zegt klopt.

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()" :)
 
Jorik

Jorik

28/08/2004 20:23:00
Quote Anchor link
Oke..
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 )
 
Dutchcamel

dutchcamel

28/08/2004 20:26:00
Quote Anchor link
Je kunt de data misschien omschrijven naar een beter leesbaar formaat:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$datum
= substr(8, 2, $datum).'-'.substr(5, 2, $datum).'-'.substr(0, 4, $datum);
?>


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
 
Jorik

Jorik

28/08/2004 20:27:00
Quote Anchor link
waar moet ik die invoeren :$, ben niet zo goed in php :D
 
Dutchcamel

dutchcamel

28/08/2004 20:29:00
Quote Anchor link
Vervang:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
echo "<td><b>".$datum."</b></td>\n";
?>


Voor:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
echo "<td><b>".substr(8, 2, $datum).'-'.substr(5, 2, $datum).'-'.substr(0, 4, $datum)."</b></td>\n";
?>
 
Jorik

Jorik

28/08/2004 20:33:00
Quote Anchor link
zit denk ik een foutje in
ik krijg allen te zien '--' voor de rest nix (jah, het concert erachter)
 
Dutchcamel

dutchcamel

28/08/2004 20:35:00
Quote Anchor link
Hmm, dan kan het niet ineens..Moet het iets uitgebreider.

Vervang:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
echo "<td><b>".$datum."</b></td>\n";
?>


Voor:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
$nieuweDatum
= substr(8, 2, $datum).'-'.substr(5, 2, $datum).'-'.substr(0, 4, $datum);
echo "<td><b>".$nieuweDatum."</b></td>\n";
?>


Werkt dat wel?
 
Jorik

Jorik

28/08/2004 20:36:00
Quote Anchor link
Twee streepies, ook niet :(...
 
Dutchcamel

dutchcamel

28/08/2004 20:38:00
Quote Anchor link
Damn ik ben een noob, ik zit in de war met de SUBSTRING van SQL... Sorry

Vervang:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?  
echo "<td><b>".$datum."</b></td>\n";  
?>


Voor:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?  
echo "<td><b>".substr($datum, 8, 2).'-'.substr($datum, 5, 2).'-'.substr($datum, 0, 4)."</b></td>\n";  
?>
 
Dutchcamel

dutchcamel

28/08/2004 20:41:00
Quote Anchor link
Hij doet het zo te zien :)
 
Jorik

Jorik

28/08/2004 20:42:00
Quote Anchor link
Hij doet het idd

Bedankt!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.