Addition des données

Répondre
Superleseb
le 29/11/2004 à 17:45
Superleseb
Salut tt le monde,
je voulais juste savoir un truc, car je travail sur un site de handball, et là je voudrais en fait, calculer tous les scores, ki st ds une table "calendriers_resultats" et je voudrais :
_ Sélectionner tous les données
_ Récupérer les données
_ Additionner tous les scores

Ca fait pas mal de tps ke je n'ai pas fait de codage là lol mé jvé m'en souvenir ;)

Moi javé commencé a faire ça o début, je c pas si ca a l'air OK...
$sql_ga_dom = 'SELECT * FROM calendriers_resultats WHERE domicile="'.$nom_club_cla.'" team="'.$team_cla.'" AND periode="04-05" AND sexe="'.$sexe_cla.'"' or die (mysql_error());;
$result_requete_ga_dom = mysql_query($sql_ga_dom) or die (mysql_error());
$nb_resultats_senors_ga_dom = mysql_num_rows($result_requete_ga_dom);
while ($cat_ga_dom = mysql_fetch_array($result_requete_ga_dom))
{
$domicile_score_ga_dom = $cat_ga_dom['domicile_score'];
}

$sql_ga_dom = 'SELECT * FROM calendriers_resultats WHERE visiteur="'.$nom_club_cla.'" team="'.$team_cla.'" AND periode="04-05" AND sexe="'.$sexe_cla.'"' or die (mysql_error());;
$result_requete_ga_vis = mysql_query($sql_ga_vis) or die (mysql_error());
$nb_resultats_senors_ga_vis = mysql_num_rows($result_requete_ga_vis);
while ($cat_ga_vis = mysql_fetch_array($result_requete_ga_vis))
{
$visiteur_score_ga_vis = $cat_ga_vis['visiteur_score'];
}



Merci tt le monde davance...
Si t'es fier d'être un Nazebroke, tape dans tes mains !!
Superleseb
le 29/11/2004 à 18:31
Superleseb
Oups... sorry ;)

Table "calendriers_resultats" :

CREATE TABLE `calendriers_resultats` (
`id` int(4) NOT NULL auto_increment,
`periode` varchar(5) NOT NULL default '04-05',
`team` varchar(8) NOT NULL default 'juniors',
`sexe` char(1) NOT NULL default 'm',
`domicile_score` char(2) NOT NULL default '',
`domicile` varchar(120) NOT NULL default '',
`visiteur` varchar(120) NOT NULL default '',
`visiteur_score` char(2) NOT NULL default '',
`date_match` date NOT NULL default '0000-00-00',
`heure_match` time NOT NULL default '00:00:00',
UNIQUE KEY `id` (`id`)
) TYPE=MyISAM AUTO_INCREMENT=291 ;



Table "calendriers" :

CREATE TABLE `classements` (
`id` int(3) NOT NULL auto_increment,
`periode` varchar(5) NOT NULL default '04-05',
`team` varchar(8) NOT NULL default 'senors',
`sexe` char(1) NOT NULL default 'f',
`nom_club` varchar(100) NOT NULL default '',
`points` decimal(2,0) NOT NULL default '0',
`gagnes` char(2) NOT NULL default '--',
`nuls` char(2) NOT NULL default '--',
`perdus` char(2) NOT NULL default '--',
`forfait` int(2) NOT NULL default '0',
`penalite` int(2) NOT NULL default '0',
`date_modif` datetime NOT NULL default '0000-00-00 00:00:00',
UNIQUE KEY `id` (`id`)
) TYPE=MyISAM AUTO_INCREMENT=54 ;



Javé peut etre vu sinon la fonction SUM(), mé j'a po l'impression ke ca fasse effet...
Si t'es fier d'être un Nazebroke, tape dans tes mains !!
LA GLOBULE
le 29/11/2004 à 18:47
LA GLOBULE
Normal, tu fais un SUM sur un champs de type char. Ca risque pas de faire une opération mathématique.

Modifie déjà tes champs score en INT, ca va aider.
Là, le SUM fonctionnera.

Exemple :

SELECT SUM(domicile_score) AS score FROM ... WHERE ...

Et tu récupères 'score' dans ton mysql_fetch_array.
Superleseb
le 29/11/2004 à 19:09
Superleseb
mici La Glob :) jvé testé ça...

@+
Si t'es fier d'être un Nazebroke, tape dans tes mains !!
AlScafi
le 01/12/2004 à 10:36
AlScafi
ya qqchose qui m'a choqué dans ton code je sais pas si je me trompe mais déjà tu as dans la première variable la requête ET le or die(mysql_error()). De plus je crois qu'il y a un point virgule de trop.

En fait sans compter le point virgule sa poser un probleme au niveau du mysql_query car ça va faire un truc du genre mysql_query('TA REQUETE ET TON OR DIE...') or die(mysql_error());

tu me comprend ?
Superleseb
le 01/12/2004 à 13:52
Superleseb
oué merci tkt pas AlScafi, j'ai modifié tout ça, et ca marche nikel maintenant, jmontre juste le code là, il marche comme ça, donc voilà :)

<?
///////////////////////////////////////////////////
$sql_cla_ga_d_i = 'SELECT SUM(domicile_score) AS score_d_i FROM calendriers_resultats WHERE domicile="'.$nom_club_cla.'" AND team="'.$team_cla.'" AND periode="04-05" AND sexe="'.$sexe_cla.'"' or die (mysql_error());;
$result_requete_ga_d_i = mysql_query($sql_cla_ga_d_i) or die (mysql_error());
$score_ga_d_i = mysql_fetch_array($result_requete_ga_d_i);
$buts_dom_inscrits_ga = $score_ga_d_i['score_d_i'];


$sql_cla_ga_d_e = 'SELECT SUM(domicile_score) AS score_d_e FROM calendriers_resultats WHERE visiteur="'.$nom_club_cla.'" AND team="'.$team_cla.'" AND periode="04-05" AND sexe="'.$sexe_cla.'"' or die (mysql_error());;
$result_requete_ga_d_e = mysql_query($sql_cla_ga_d_e) or die (mysql_error());
$score_ga_d_e = mysql_fetch_array($result_requete_ga_d_e);
$buts_dom_encaisses_ga = $score_ga_d_e['score_d_e'];
///////////////////////////////////////////////////

///////////////////////////////////////////////////
$sql_cla_ga_v_i = 'SELECT SUM(visiteur_score) AS score_v_i FROM calendriers_resultats WHERE visiteur="'.$nom_club_cla.'" AND team="'.$team_cla.'" AND periode="04-05" AND sexe="'.$sexe_cla.'"' or die (mysql_error());;
$result_requete_ga_v_i = mysql_query($sql_cla_ga_v_i) or die (mysql_error());
$score_ga_v_i = mysql_fetch_array($result_requete_ga_v_i);
$buts_vis_inscrits_ga = $score_ga_v_i['score_v_i'];


$sql_cla_ga_v_e = 'SELECT SUM(visiteur_score) AS score_v_e FROM calendriers_resultats WHERE domicile="'.$nom_club_cla.'" AND team="'.$team_cla.'" AND periode="04-05" AND sexe="'.$sexe_cla.'"' or die (mysql_error());;
$result_requete_ga_v_e = mysql_query($sql_cla_ga_v_e) or die (mysql_error());
$score_ga_v_e = mysql_fetch_array($result_requete_ga_v_e);
$buts_vis_encaisses_ga = $score_ga_v_e['score_v_e'];
///////////////////////////////////////////////////


$buts_inscrits_total = $buts_dom_inscrits_ga + $buts_vis_inscrits_ga;
$buts_encaisses_total = $buts_dom_encaisses_ga + $buts_vis_encaisses_ga;

$difference_buts = $buts_inscrits_total - $buts_encaisses_total;
?>


D'acord, j'avou, ke ca a l'air chelou a premiere vue, mé ca marche bien, et je vois po comment joré pu faire autrement (+ court) :D

@+ et merci kan meme AlScafi...
Si t&#039;es fier d&#039;&ecirc;tre un Nazebroke, tape dans tes mains !!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours