PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 MySQL, PostgreSQL, etc... » Requête pour effectuer un classement à partir de résultats » 14-01-2016 14:54:07

aunisien
Réponses : 1

Bonjour,

j'ai une table dans laquelle je stocke les résultats des matchs de rugby pour chaque ligne je récupère les infos suivantes:

id_saison, club_dom, club_ext, sco_dom, sco_ext, bo_dom, bd_dom, bo_ext, bd_ext, resultat, num_journee

à partir de ces données collectées à chaque journée, je cherche à faire le classement général du championnat.
Il faut donc que je fasse la somme de tous les bonus, des victoires et nuls pour chaque équipe et les afficher sous la forme d'un tableau en les classant et c'est là que je suis perdu car pour une même ligne j'ai une équipe perdante et gagnante.

D'ailleurs puis je faire ce classement avec juste cette table ?

Merci pour votre retour.

#2 Re : MySQL, PostgreSQL, etc... » Afficher 2 fois le même champ mais avec des valeurs différentes ? » 27-04-2012 13:19:29

Bonjour, me revoila avec ma requête ... je me bats pour ne faire afficher les résultats que pour les résultats d'un club que je reçois par un formulaire mais ça ne fonctionne j'ai du mal avec ce inner...

Je veux donc conserver la même requête:

$select = 'mtch_id,mtch_sc1,c1.clb_nom AS c1nom,mtch_sc2,c2.clb_nom AS c2nom FROM mtchs INNER JOIN clb AS c1 ON c1.clb_id=mtchs.clb_id1 INNER JOIN clb AS c2 ON c2.clb_id=mtchs.clb_id2';

mais en filtrant comme avec un where sur le clb_id1 et/ou clb_id2 mais que je reçois de mon formulaire avec le nom complet de ma table clb... je ne sais pas si je suis clair hmm

J'ai tenté

WHERE c1nom=$_REQUEST['adversaire']

mais ça ne fonctionne pas

Merci pour les réponses

#3 Re : MySQL, PostgreSQL, etc... » Afficher 2 fois le même champ mais avec des valeurs différentes ? » 27-04-2012 13:19:29

Oh la la, honte sur moi, il était tard hier soir pourtant je l'ai relu mais je ne l'ai pas vu désolé ... sad

Merci beaucoup ça fonctionne forcément mieux !

#4 Re : MySQL, PostgreSQL, etc... » Afficher 2 fois le même champ mais avec des valeurs différentes ? » 27-04-2012 13:19:29

Voici le code complet:

<html>
<title>test</title>
<body>
<?
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = 'root';
$db = 'stats';
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
 
// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements

$select = 'mtch_id,mtch_sc1,c1.clb_nom AS c1nom,mtch_sc2,c2.clb_nom AS c2nom FROM mtchs INNER JOIN clb AS c1 ON c1.clb_id=mtchs.clb_id1 INNER JOIN clb AS c2 ON c2.clb_id=mtchs.clb_id2';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
 
 
// si on a récupéré un résultat on l'affiche.
if($total) {
// debut du tableau
echo '<table bgcolor="#FFFFFF">'."\n";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Eq1</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Score1</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Score2</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Eq2</u></b></td>';
echo '<td bgcolor="#669999"><b><u>Date</u></b></td>' ;
echo '</tr>'."\n";

while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row["0"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["1"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["2"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["3"].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row["4"].'</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
// on libère le résultat
mysql_free_result($result);
?>
</body>
</html>

#5 Re : MySQL, PostgreSQL, etc... » Afficher 2 fois le même champ mais avec des valeurs différentes ? » 27-04-2012 13:19:29

Merci pour la réponse rapide !

J'ai testé la requête mais ça me renvoie:

Erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mtch_id, id_saison, mtch_sc1, c1.clb_nom AS c1nom, mtch_sc2,c2.clb_nom AS' at line 1

#6 MySQL, PostgreSQL, etc... » Afficher 2 fois le même champ mais avec des valeurs différentes ? » 27-04-2012 13:19:29

aunisien
Réponses : 7

Bonjour,

je débute en voulant une petite base pour stocker l'historique des résultats dans un premier temps de mon équipe de rugby, j'ai don cpour l'instant 2 tables, la table 1 qui contient le nom du club et un id propre à chaque équipe et une seconde table, la table 2 avec les résultats de chaque journée contenant l'id de mon équipe correspondant à celle de ma table 1.

Mon soucis est que je n'arrive pas à concevoir la requête qui va me faire afficher le résultat d'une journée par exemple car je dois récupérer 2 fois mon id du club pour l'équipe visiteuse et l'équipe locale dans ma table 1, je ne suis pas sûr d'être très clair...

ma table 1: clb

clb_id, clb_nom, clb_nom_court, clb_logo

ma table 2: mtchs

mtch_id, id_saison, clb_id1, clb_id2, mtch_sc1, mtch_sc2

Merci pour vos réponse, j'ai essayais les jointure mais cela m'affiche toujours le même nom pour l'équipe locale et l'équipe visiteuse.

Pied de page des forums

Propulsé par FluxBB