Welkom op XOOX.NL

De compleet vernieuwde, moderne weblog met dezelfde functionaliteit die je gewend bent.

Web-Log 13-05-2004 13:07:13

Gezocht PHP kenner

PHPWie kan mij helpen bij het programmeren van een probleempje op onze site. Rechtsonder zie je het archief, deze is per week geordend. Alleen kloppen de weeknummers niet. Klik je bv op deze week dan krijg je de entries van de vorige week. Het moet volgens mij voor de kenner niet zo moeilijk zijn maar ik begrijp er helemaal niets van. Wie o wie?
:: bemoeienissen
whot op 14 Mei 2004 - 00:07  §

Zo te zien is er rond de jaarwisseling wat mis gegaan met de initialisatie. De eerste week is week 0 (had natuulijk 1 moeten zijn) en dan krijg je zelfs ineens alles te zien. Ik vermoed dat in je database nu de weeknummers steeds 1 achter lopen. Waar de initialisatie op gebaseerd is, kan ik zo niet zeggen. Dat kan op de kalender van de machine zijn of gewoon een parameter. Eind dit jaar krijg je weer zo'n gekke situatie. Dit jaar heeft ineens 53 weken! Misschien dat die b2 op zijn forum een oplossing biedt?

René op 14 Mei 2004 - 01:15  §

Ik heb echt geen flauw idee wat er aan de hand is, ik heb op het B2 Forum ook al een oproep geplaatst maar krijg daar totaal geen reactie. Dit is de code, misschien dat jij daar iets uit kunt halen:

} elseif ($archive_mode == 'weekly') {
if (!isset($start_of_week)) {
$start_of_week = 1;
}
$arc_sql="SELECT DISTINCT YEAR(post_date), MONTH(post_date), DAYOFMONTH(post_date), WEEK(post_date) FROM $tableposts WHERE post_date < '$now' AND post_category > 0 ORDER BY post_date DESC";
$querycount++;
$arc_result=mysql_query($arc_sql) or die($arc_sql.'
'.mysql_error());
$arc_w_last = '';
while($arc_row = mysql_fetch_array($arc_result)) {
$arc_year = $arc_row['YEAR(post_date)'];
$arc_w = $arc_row['WEEK(post_date)'];
if ($arc_w != $arc_w_last) {
$arc_w_last = $arc_w;
$arc_ymd = $arc_year.'-'.zeroise($arc_row['MONTH(post_date)'],2).'-' .zeroise($arc_row['DAYOFMONTH(post_date)'],2);
$arc_week = get_weekstartend($arc_ymd, $start_of_week);
$arc_week_start = date_i18n($archive_week_start_date_format, $arc_week['start']);
$arc_week_end = date_i18n($archive_week_end_date_format, $arc_week['end']);
echo "";
echo $arc_week_start.$archive_week_separator.$arc_week_end;
echo '
';
echo $archive_line_separator."\n";
}
}

Helaas kun je je hier niet meer mee bemoeien...