Jonathan
11/12/02, 23:05
Hoi,
ik heb een stukje code geschreven met een fout erin maar ik ben er nu al
uren naar aan het staren en zie niet hoe ik het kan oplossen. Misschien kan
iemand me even helpen. Het gaat om het volgende stukje code:
$timestamps = Array(); // Array that will hold timestamps to display
$twoweeks = 60*60*24*7*2; // Number of seconds in 2 weeks
$now = time(); // Current timestamp
$items_query = "SELECT timestamp FROM items ORDER BY timestamp DESC";
$items_result = mysql_query($items_query) or die("mysql error
".mysql_errno().": ".mysql_error());
while ($items_object = mysql_fetch_object($items_result))
{
$twoweeksago = $now - $twoweeks;
if (($items_object->timestamp <= $now) && ($items_object->timestamp >
$twoweeksago))
{ $timestamps[$now]++; } else { $now = $twoweeksago; }
}
while (list ($key, $val) = each ($timestamps))
{
if ($val>0)
{
echo "output";
}
}
Het gaat er hierbij om dat ik een overzicht wil echo'en naar een webpagina
die alle periodes van 2 weken laat zien waarin items voorkomen. Als er geen
items voorkomen in die 2 weken dan moet ie niks laten zien. Dus ik dacht ik
tel hoevaak er items voorkomen in een periode en zet die in een Array die ik
later doorloop met een if ($val). Probleem is nu echter als er precies 1
item voorkomt dat hij die 2 weken niet laat zien. Logisch want dan gaat het
if statement in de 1e while-loop niet op. Eigenlijk zou ik zoiets moeten
hebben als een label waarin ik kan verwijzen om naar terug te keren:
while ($items_object = mysql_fetch_object($items_result))
{
$twoweeksago = $now - $twoweeks; // hier plaats ik dan een 'label'
if (($items_object->timestamp <= $now) && ($items_object->timestamp >
$twoweeksago))
{ $timestamps[$now]++; } else { $now = $twoweeksago; // en hier een goto
'label' }
}
Volgens mij kan dat niet ik PHP en het zal wel aan een onhandige constructie
liggen, maar zoals ik al zei ik zie ff niet meer hoe ik het wel kan
oplossen.
Iemand een suggestie???????
Alvast bedankt!
Jonathan
ik heb een stukje code geschreven met een fout erin maar ik ben er nu al
uren naar aan het staren en zie niet hoe ik het kan oplossen. Misschien kan
iemand me even helpen. Het gaat om het volgende stukje code:
$timestamps = Array(); // Array that will hold timestamps to display
$twoweeks = 60*60*24*7*2; // Number of seconds in 2 weeks
$now = time(); // Current timestamp
$items_query = "SELECT timestamp FROM items ORDER BY timestamp DESC";
$items_result = mysql_query($items_query) or die("mysql error
".mysql_errno().": ".mysql_error());
while ($items_object = mysql_fetch_object($items_result))
{
$twoweeksago = $now - $twoweeks;
if (($items_object->timestamp <= $now) && ($items_object->timestamp >
$twoweeksago))
{ $timestamps[$now]++; } else { $now = $twoweeksago; }
}
while (list ($key, $val) = each ($timestamps))
{
if ($val>0)
{
echo "output";
}
}
Het gaat er hierbij om dat ik een overzicht wil echo'en naar een webpagina
die alle periodes van 2 weken laat zien waarin items voorkomen. Als er geen
items voorkomen in die 2 weken dan moet ie niks laten zien. Dus ik dacht ik
tel hoevaak er items voorkomen in een periode en zet die in een Array die ik
later doorloop met een if ($val). Probleem is nu echter als er precies 1
item voorkomt dat hij die 2 weken niet laat zien. Logisch want dan gaat het
if statement in de 1e while-loop niet op. Eigenlijk zou ik zoiets moeten
hebben als een label waarin ik kan verwijzen om naar terug te keren:
while ($items_object = mysql_fetch_object($items_result))
{
$twoweeksago = $now - $twoweeks; // hier plaats ik dan een 'label'
if (($items_object->timestamp <= $now) && ($items_object->timestamp >
$twoweeksago))
{ $timestamps[$now]++; } else { $now = $twoweeksago; // en hier een goto
'label' }
}
Volgens mij kan dat niet ik PHP en het zal wel aan een onhandige constructie
liggen, maar zoals ik al zei ik zie ff niet meer hoe ik het wel kan
oplossen.
Iemand een suggestie???????
Alvast bedankt!
Jonathan