par
Waynejunior » 02 mars 2006, 08:52
OK... voici donc... J'ai avancé dans le code depuis... Voila où j'en suis...
J'ai une table post :
num_post, date_post, ...
Je voudrais obtenir un tableau de la forme suivante :
200606 ::: 1 post
200605 ::: 2 posts
200603 ::: 1 post
...
Pour y arriver,
Premièrement je trie ma table en fonction de date_post (DESC)
ensuite, la première colonne est la concaténation de l'année et du mois présent dans ma table... J'ai ecris un code qui me permet de compter le nombre d'enregistrements pour chaque "clé" année/mois de ma table (deuxième colonne)...
voici le code que j'ai écris...
mysql_select_db($database_blog, $blog);
$query_archives = "SELECT * FROM post ORDER BY date_post DESC";
$archives = mysql_query($query_archives, $blog) or die(mysql_error());
$ligne = 0;
//$nbre = 1 ;
$cle2 = "";
while ($row_archives = mysql_fetch_assoc($archives)) {
// $cle : concaténation de l'année et du mois
$cle = substr($row_archives['date_post'],0,4).substr($row_archives['date_post'],5,2);
if ($cle != $cle2) {
$tab_archives[$ligne][0] = $cle;
$nbre = 1;
$tab_archives[$ligne][1] = $nbre;
$ligne ++;
$cle2 = $cle;}
else {$nbre ++;
$tab_archives[$ligne][1] = $nbre;
}
}
bon... maintenant c'est là que j'ai un souci, je dois avoir un bug quelque part parce que je n'arrive pas à obtenir le nombre d'enregistrements correct...
ça m'affiche quelque chose du genre :
200606 ::: 1 post
200605 ::: 1 post
200603 ::: 1 post
...
Est-ce que vous auriez une idée de mon erreur ?
Merci d'avance...
OK... voici donc... J'ai avancé dans le code depuis... Voila où j'en suis...
J'ai une table post :
num_post, date_post, ...
Je voudrais obtenir un tableau de la forme suivante :
200606 ::: 1 post
200605 ::: 2 posts
200603 ::: 1 post
...
Pour y arriver,
Premièrement je trie ma table en fonction de date_post (DESC)
ensuite, la première colonne est la concaténation de l'année et du mois présent dans ma table... J'ai ecris un code qui me permet de compter le nombre d'enregistrements pour chaque "clé" année/mois de ma table (deuxième colonne)...
voici le code que j'ai écris...
[php]mysql_select_db($database_blog, $blog);
$query_archives = "SELECT * FROM post ORDER BY date_post DESC";
$archives = mysql_query($query_archives, $blog) or die(mysql_error());
$ligne = 0;
//$nbre = 1 ;
$cle2 = "";
while ($row_archives = mysql_fetch_assoc($archives)) {
// $cle : concaténation de l'année et du mois
$cle = substr($row_archives['date_post'],0,4).substr($row_archives['date_post'],5,2);
if ($cle != $cle2) {
$tab_archives[$ligne][0] = $cle;
$nbre = 1;
$tab_archives[$ligne][1] = $nbre;
$ligne ++;
$cle2 = $cle;}
else {$nbre ++;
$tab_archives[$ligne][1] = $nbre;
}
}[/php]
bon... maintenant c'est là que j'ai un souci, je dois avoir un bug quelque part parce que je n'arrive pas à obtenir le nombre d'enregistrements correct...
ça m'affiche quelque chose du genre :
200606 ::: 1 post
200605 ::: 1 post
200603 ::: 1 post
...
Est-ce que vous auriez une idée de mon erreur ?
Merci d'avance...