Probleme PHP et Requete - PHP - Programmation
Marsh Posté le 28-04-2004 à 10:07:43
Si ce code est vraiment ce que tu as codé, il y a quelques erreurs de syntaxe déjà. A ma connaissance, db_query n'existe pas. tu dois vouloir utiliser mysql_db_query , non?? Ensuite avec un mysql_db_query, le premier argument doit etre l'identifiant de la base de donnée. Si tu n'as qu'une seule base, ou si tu as selectionné juste avant ta base de données par mysql_db_select(),il est plus simple d'utiliser, mysql_query("requete" ), qui ne necessite pas de préciser l'identifiant de ta base de donnée.
Marsh Posté le 28-04-2004 à 10:21:35
En fait il y a une fonction qui retranscrit les mysql_query en db-query.
Considérons donc que les db_query = mysql_query., db_fetch_row=mysql_fetch_row.
JE pense que ça doit venir de mon "where", j'ai des doutes dessus.
Est-ce qu'il faut mettre un mysql_fetch_row ? alors que l'on regarde uniquement que dans une colonne (car c'est pour un match précis)
Qu'en pensez-vous?
Marsh Posté le 28-04-2004 à 10:36:00
autant pour moi
pour ton erreur, je suis pas trop une star en sql, mais je vais regarder qd meme
Marsh Posté le 28-04-2004 à 10:45:55
euh déjà pour la table Match, tu devrais faire ça :
Match
-------------------------------
NomMatch | InitialeJoueur
|
Match1 | DC
Match1 | TD
Match2 | CF
Match2 | GV
Match2 | BA
c plus rigoureux et plus facile à coder au niveau requete après
après c :
Code :
|
Marsh Posté le 28-04-2004 à 11:00:06
Je te remercie mais il faut absolument que je laisse ma table telle qu'elle. Je ne peux pas la changer...
QQ1 aurait une réponse ?
Marsh Posté le 28-04-2004 à 11:32:17
Neo-Spy a écrit : Je te remercie mais il faut absolument que je laisse ma table telle qu'elle. Je ne peux pas la changer... |
essaye plutôt un: LIKE '%lesInitialesIci%'
Marsh Posté le 28-04-2004 à 11:38:28
en changeant par LIKE '%Init%', cela ne m'affiche toujours rien dans mon select ...
Marsh Posté le 28-04-2004 à 11:48:50
Neo-Spy a écrit : en changeant par LIKE '%Init%', cela ne m'affiche toujours rien dans mon select ... |
c'est normal, là tu cherche la chaine Init
donc, un like '%'+j.Init+'%' devrait résoudre ton problème (si + est bien l'opérateur de concaténation, là j'avoue que j'ai un doute )
Marsh Posté le 28-04-2004 à 13:09:09
Je viens essayer de remplacer par '%'+j.Init+'%' mais cela ne m'affiche toujours rien dans mon select...
Est-ce que ma requete est bonne ?
Peut etre que quelqu'un aurait le temps de tester chez lui (les tables ne sont pas grandes) et me dire ainsi sa requete ?
JE vous remercie d'avance
Marsh Posté le 28-04-2004 à 14:37:18
Je pensais, est-ce qu'il n'y a pas quelque chose à faire sur les tables (dépendances de références, contraintes etc... ?)
Merci de m'éclairer
Marsh Posté le 28-04-2004 à 09:38:26
J?ai un petit problème de requête.
Voilà mon problème : J?aimerais afficher le prénom et le nom dans un select de chaque joueur d?un match précis (ici : Match1). Cependant, il n?y a pas les nom et lesprenoms dans la table Match mais seulement les initiales des joueurs. Et dans la table joueur il y a non seulement les initiales, mais les noms et prénoms que je voudrais afficher dans mon select.
Voici ma table :
Match
-------------------------------
NomMatch | InitialeJoueur
|
Match1 | DC, TD
Match2 | CF, GV, BA
Joueur
------------------------------
Prenom | Nom | Init
| |
Dominique | Chevru | DC
Thomas | Dapin | TD
Voici ma requête :
$result2 = db_query("select j.prenom, j.nom
from joueur j, match m
where m.InitialeJoueur like j.Init
and m.NomMatch = ?Match1?
order by prenom" );
echo "<select name=\"joueurs\">";
while($r = db_fetch_row($result2))
{ echo "<option>$r[0], $r[1]</option>"; }
echo "</select>
Cela ne m'affiche rien.