Bonjour,
J'essaye de mettre en place une page qui me permet de donner des statistiques sur le nombre de fois ou chaque auteur d'ouvrage a été cité dans les articles du site.
J'ai une table listant les auteurs (id,, nom, occurance)
J'ai une table articles (titre, texte)
J'ai écrit un morceau de code mais bon , c pas top et je galère même si j'arrive à obtenir ce que je veux...Deux problèmes :
1-une erreur à la fin de l'exécution qui s'affiche en haut de ma page :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource...
2-le temps de chargement est long (j'ai 600 auteurs à chercher dans une table d'articles importante), je ne sais pas vraiment comment optimiser cela pour consommer moins de ressources.
Si quelqu'un pouvait me donner son avis d'expert et m'aider à avancer dans ma besogne, je lui serait reconnaissant.
Voici ce que j'ai écrit :
Merci par avance !
J'essaye de mettre en place une page qui me permet de donner des statistiques sur le nombre de fois ou chaque auteur d'ouvrage a été cité dans les articles du site.
J'ai une table listant les auteurs (id,, nom, occurance)
J'ai une table articles (titre, texte)
J'ai écrit un morceau de code mais bon , c pas top et je galère même si j'arrive à obtenir ce que je veux...Deux problèmes :
1-une erreur à la fin de l'exécution qui s'affiche en haut de ma page :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource...
2-le temps de chargement est long (j'ai 600 auteurs à chercher dans une table d'articles importante), je ne sais pas vraiment comment optimiser cela pour consommer moins de ressources.
Si quelqu'un pouvait me donner son avis d'expert et m'aider à avancer dans ma besogne, je lui serait reconnaissant.
Voici ce que j'ai écrit :
Code:
<?php
function get_rows ($key)
{
$total = mysql_query("SELECT COUNT(*) FROM article WHERE title REGEXP '[[:<:]]($key)[[:>:]]'");
$total = mysql_fetch_array($total);
return $total[0];
}
$sql= mysql_query ("select * from author ");
while ($results= mysql_fetch_array ($sql))
{
$id= $results['id'];
$number=get_rows ($key);
mysql_query("UPDATE author SET occurence='$number' WHERE (id='$id')");
}
?>
Merci par avance !
