Problème soit PHP soit mySQL ....

Résolu/Fermé
darkzorr Messages postés 24 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 13 novembre 2007 - 19 oct. 2007 à 14:14
darkzorr Messages postés 24 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 13 novembre 2007 - 19 oct. 2007 à 16:14
Bonjour,

Soit vous m'aidez ... soit je me jette .... la j'ouvre la fenêtre :) ...

Bon ....

J'utilise PHP et mySQL....
Voici une morceau de requête :

$sql = 'SELECT SUM( M.scorext ) as SetPour, SUM( M.scoredom ) as SetContre FROM matches M '
. ' WHERE equipedom = '.$equipe;

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_array($req))

$SetsPourDom = $data["SetPour"];
$SetsContreDom = $data["SetContre"];

echo $nomEq." a marqué ".$SetsPourDom ." Sets à domicile ! <br>";
echo $nomEq." a encaissé ".$SetsContreDom ." Sets à domicile ! <br>";


C'est un bout de code que j'ai adapté à mon idée, tout simple mais bien assez dur pour moi ... bon .... jusque la j'espère que vous me confirmerais que j'ai pas de soucis ...

LE PROBLEME c'est que la valeur SetContre ne ressort pas lors du traitement de la page !!!!!
Aucun message d'erreur juste la valeur qui sort pas !!!!! c'est tout vide !
Je lance cette requete dans phpmyadmin tout est ok !!! ...
De plus .... si je sépare les 2 requêtes SUM et que je les traite dans 2 passages isolées ... la valeur ressort bien ... c'est comme si après la virgule de la ligne $sql = , plus rien n'est stocké en variable ...

PPFFFFFF pourquoi ca marche chez les autres et pas chez moi ...

Voilà ..... merci !
A voir également:

7 réponses

darkzorr Messages postés 24 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 13 novembre 2007 8
19 oct. 2007 à 14:36
Je confirme .... Si j'inverse les valeurs dans ma requête ..... la deuxième après la virgule n'est pas traitée ! .... snif ...
0
Bonjour,

je pense que ton probleme se situe au niveau des cotes

$sql = 'SELECT SUM( M.scorext ) as SetPour, SUM( M.scoredom ) as SetContre FROM matches M WHERE equipedom = "'.$equipe.'" ';
0
darkzorr Messages postés 24 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 13 novembre 2007 8
19 oct. 2007 à 14:45
Salut .... merci pour ta réponse ...
J'ai simplifié la manip en enlevant le WHERE .... juste pour qu'il m'affiche les sommes des scores .... et pareil ... donc je pense pas aux cotes ...
Surtout que normalement j'en ai pas besoin puisque le $equipe est une variable PHP ... et doit donc pas rentrer dans la requête SQL ? non ?
0
darkzorr Messages postés 24 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 13 novembre 2007 8
19 oct. 2007 à 15:22
Bon je continue à avancer ...... vous allez me dire pourquoi ...(enfin j'espère) ... lorsque je mets en commentaire une des 2 lignes

$SetsPourDom = $data["SetPour"];
$SetsContreDom = $data["SetContre"];

les 2 requêtes marchent ..;
C'est comme si la mise en variables de ces 2 résultats ne pouvait pas marcher en même temps .... !!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pour les double cotes ça depend si ta variable est une chaine de caracteres tu peux les mettre.

Si ta requete marche dans phpmyadmin mais pas dans ton programme, c'est surement à cause des côtes du moins je pense sinon redonne ta requete implifié

et pourquoi t'embêter avec les noms dans $Data et ne pas remplacer par $data[0] et $data[1]?

J'ai remarqué que tu utilisais parfois des simples cotes parfois des doubles, il faut que tu trouves la methode qui te convient le mieux sinon tu es parti pour pas mal de galères...

courage
0
darkzorr Messages postés 24 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 13 novembre 2007 8
19 oct. 2007 à 15:44
Oui en effet ... je connais pas encore trop bien la différence en les quotes et les guillemets .. admettons que j'utilise les quotes ...
J'ai utilisé aussi $data[0] et $data[1] comme tu m'as dit ....
j'ai simplifié la requete avec une autre table toute simple ... :

$sql = 'SELECT SUM(score1), SUM(score2) FROM essai';

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_array($req))

echo 'Marseille a marqué '.$data[0].' Sets à domicile ! <br>';
echo 'Marseille a encaissé '.$data[1].' Sets à domicile ! <br>';

Voila ce que ca me donne :

Marseille a marqué 41 Sets à domicile !
Marseille a encaissé Sets à domicile !

C'est relou !!!
0
darkzorr Messages postés 24 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 13 novembre 2007 8
19 oct. 2007 à 16:14
RESOLU ...... c'était une grosse connerie mais bon .... pour ceux à qui le problème arrivera encore :

Il fallait juste pas oublier les { et } .... après la condition while :

while($data = mysql_fetch_array($req))
{
echo 'Marseille a marqué '.$data[0].' Sets à domicile ! <br>';
echo 'Marseille a encaissé '.$data[1].' Sets à domicile ! <br>';
}


Merci de t'être penché sur mon problème m'sieur !
0