Aide!

Répondre
phenix
le 05/07/2004 à 16:59
phenix
Bonjour tout le monde!
Avant de lire la suite du message sachez que je suis un débutant et que je suis hyper nul dans le domaine du php.
Voila mon problème dans ma base de donné j'ai une table avec des informations qui correspondent toute une catégorie il y en a en tout 4. Chaque information contient un nombre bien précis.
Ce que j'aimerais faire c'est sur une page afficher les 4 catégories et dirent le nombre total en aditionnant les nombre qu 'il y a dans chaque information pour chaque catégorie.
Je sais que ça prends du temps et que pour vous ça doit être un truc super facile. Mais si jamais vous vouliez bien m'aider en le faisant pour que je puisse prendre exemple ça serait vraiment sympa.
Merci à tous et @+
Archi-nul en php
moogli
le 05/07/2004 à 17:16
moogli
Salut, et bienvenue

Avec ta table se serait +simple smiley
<php
$sql = 'SELECT info FROM table WHERE cat="cat1"';
$req = mysql_query($sql) or die ('Erreur sql<br>'.mysql_error());
//le nombre de tuple de la catégorie 1
$nb_cat1=mysql_num_rows($req);

pour afficher les infos correspondante
while($data=mysql_fetch_array($req))
{
echo $data['info'];
}
?>


J'ai pris pour base que la table s'appele "table" et que les info des catégories s'appelle info et donc cat .......

si tu n'a po compris (ou si moi g po compris) post le schéma de ta table
@+
Il en faut peu pour être heureux !!!!!
phenix
le 05/07/2004 à 19:00
phenix
J'ai bien mit toutes les informations mais le problème c'est que pour chaque information la catégorie est caractérisé par un nombre qui renvoie au nom de la catégorie sur une autre table. J'ai donc remplacé le nom cat1 par 1. Et à la place de cat j'ai mis le nom qui caractérisé la colonne avec les chiffres qui renvoyaient à une catégorie de la table des catégories. Une fois tout ça fait j'ai eu cette erreur :
'.mysql_error()); //le nombre de tuple de la catégorie 1 $nb_1=mysql_num_rows($req); pour afficher les infos correspondante while($data=mysql_fetch_array($req)) { echo $data['info']; } ?>
Archi-nul en php
phenix
le 05/07/2004 à 19:02
phenix
S_ID JOUEUR_ID QUIZ_ID QUIZ_UNIVERS SCORE CHRONO S_DATE
5 8 3 2 20 71 2004-07-05 17:58:12
2 6 1 1 19 97 2004-07-05 16:05:00
3 3 1 1 16 276 2004-07-05 16:21:48
4 3 4 3 19 228 2004-07-05 16:29:20
5 8 3 2 20 71 2004-07-05 17:58:12
La table s'appelle score si ça peut vous aider.
Archi-nul en php
phenix
le 05/07/2004 à 19:09
phenix
J'ai oublié de préciser que score correspond aux informations que je veux aditionner par catégorie et que univers correspond aux différentes catégories (4 en tout).
Archi-nul en php
moogli
le 05/07/2004 à 20:06
moogli
Pour l'erreur si ta copier mon code sans tout modifer (par exemple le echo $data['info']) c'est normal....
eu juste la structure la table m'aurais suffit :)

voila comment je vois la chose
tu veut additionner tout les nombres des scores suivant les univers...

(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1527]ce lien[/lien])


Si tu veut le nom des catégories tu fait un requete de plus et op ....

le code doit fonctionner (au vue de ce que tu a donné) mais il possible k'il y ai de souci
pour les noms de la table il sont tous en majuscule ?.....

si non évite le copier coller sa sert pas toujours
essai de comprendre ce que j'ai fait pour ensuite pouvoir débugguer ou modifier + tard

mon code n'est po vraiment 'dynamique' puisqu'il est figé par le switch. si ton nb de catégorie est améné a évoler rapidement ue boucle fort et un tableau ou autre serait mieux....
@+
Il en faut peu pour être heureux !!!!!
phenix
le 05/07/2004 à 20:17
phenix
J'avais modifier info lol! Je suis nul mais pas à ce point la!
Mon nombre de catégorie n'évoluera pas donc ton code est parfait. Mais je ne sais pas si il y a une erreur dans le texte mais quand j'ouvre la page voila ce qui s'affiche :
'.$sql.'
'.mysql_error()); //définit les varibles $uni1=0; $uni2=0; $uni3=0; $uni4=0; //dans cette boucles on récupère les info de sla requete while ($data=mysql_fetch_array($req)) { //le switch = suivant le cas je fait ... switch ($data['QUIZ_UNIVERS']) { case $data['QUIZ_UNIVERS']==1 : $uni1= $uni1+$data['SCORE']; break; case $data['QUIZ_UNIVERS']==2 : $uni2= $uni2+$data['SCORE']; break; case $data['QUIZ_UNIVERS']==3 : $uni4= $uni4+$data['SCORE']; break; case $data['QUIZ_UNIVERS']==4 : $uni4= $uni4+$data['SCORE']; break; default break; } } mysq_free_result($req);//on libère la mémoire utiliser pour la requete echo 'univers 1 :'.$uni1; echo '
univers 2 :'.$uni2; echo '
univers 3 :'.$uni3; echo '
univers 4 :'.$uni4; ?>
Archi-nul en php
moogli
le 05/07/2004 à 20:21
moogli
Ok dsl
=>
$req = mysql_query($sql) or die ('Erreur sql<br>'.$sql.'<br>'.mysql_error());

c'est or die j'ai gourer de touche smiley

@+
Il en faut peu pour être heureux !!!!!
phenix
le 05/07/2004 à 20:35
phenix
Bah je vois pas trop de différences entre la première et la deuxième requète que tu as mit mais c'est pas grave parce que j'ai résolu le problème en supprimant les <br> il n'y a plus d'erreurs qui s'affichent désormais mais cette fois il n'y à plus rien qui s'affiche.
Archi-nul en php
moogli
le 05/07/2004 à 20:38
moogli
poste le code de tout la page en entier sera plus simple parce que la c vraiment bizzard.

Si non petite question c toi ki a installer ton serveur + php + mysql ?

si oui peut il faut peut etre que tu active l'affichage des erreur de php dans le php.ini.....
Il en faut peu pour être heureux !!!!!
Répondre
LoadingChargement en cours