Hallo allemaal,

Ik heb een klein vraagje, ik heb het onderstaande script geschreven omdat een lijst wil krijgen met datum's in de toekomst, zodat die aangeklikt kunnen worden en er op een datum afgemeld kan worden.
<?
$username="***";
$password="***";
$database="***";

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Kan niet verbinden");
$query="SELECT * FROM agenda WHERE team='JA2'";
$result=mysql_query($query);

$num=mysql_num_rows($result);

mysql_close();

$i=0;
while ($i < $num) {
$dag=mysql_result($result,$i,"dag");
echo date('l jS F (Y-m-d)', strtotime('next $dag'));
echo "<br/>";
$i++;
}
?>

Nu werkt het helaas nog niet helemaal zoals ik wil, want uit deze query volgt dit resultaat:
Thursday 1st January (1970-01-01)
Thursday 1st January (1970-01-01)


Er zit dus een fout in het script maar ik vind hem niet, als ik namelijk de variabel $dag verander in "wednesday" dan geeft ie keurig volgende week woensdag aan. Er zit iets fout in het ophalen van de dag. Ik heb gewoon 2 rijen in de database gezet waarbij 2x het team JA2 is en onder dag heb ik vermeld: "wednesday" en "friday". (zonder aanhalingstekens).

Het type van die tabel is VARCHAR, dat zou toch moeten kunnen?

Iemand die mij uit de brand helpt?
- gebruik geen or die
- gebruik geen wildcard (*)
- gebruik een foutafhandeling
- je fetcht verkeerd

Volgens mij kan je dit probleem op lossen door het juiste veld te gebruiken in je db (datetime) en dit dan te regelen via de sql date_formate functie
Zou je mij iets beter uit kunnen legen hoe ik het script dan wel kan schrijven?

[size=xsmall]Toevoeging op 30/05/2011 17:08:29:[/size]

Het gaat namelijk niet om een vaste datum, maar om een vaste dag.. (maandag/dinsdag/woensdag/donderdag/vrijdag/zaterdag/zondag)
gebruik foutafhandeling (bij de query + vervang de or die)

selecteer de velden die je wilt ophalen idpv (*)
voorbeeld:

SELECT veld1, veld2, veld3 FROM tabel


gebruik [php]mysql_fetch_assoc[/php] idpv _result en lees de datum-en-tijdfuncties-in-mysql tut eens door.

De while kan je zo schrijven:
<?php
while($row = mysql_fetch_assoc($result_query))
{
# echo gegevens
}
?>
$dag wordt niet geparsed als variabele tussen enkele quotes. Zet m er buiten.
- Haal alsjeblieft die foutonderdrukker (@) weg.
- Kijk voor een goede mysql connect code eens hier: http://snipplr.com/view/45252/goede-foutafhandeling-mysql/
- Haal variabele uit de quotes. Dus:
<?php
$naam = 'Wouter';
echo 'Hallo '.$wouter;
# i.p.v.
echo "Hallo $wouter";
?>
Dit werkt zelfs niet met enkele quotes.
Bedankt allemaal, ik ga ermee aan de slag

Reageren