[PHP/mySQL] afficher une clé sur une page
Résolu/Fermé
Eastchild
Messages postés
319
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
28 mars 2012
-
18 janv. 2008 à 02:20
Eastchild Messages postés 319 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 28 mars 2012 - 21 janv. 2008 à 21:45
Eastchild Messages postés 319 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 28 mars 2012 - 21 janv. 2008 à 21:45
A voir également:
- [PHP/mySQL] afficher une clé sur une page
- Comment supprimer une page sur word - Guide
- Clé windows 10 gratuit - Guide
- Clé usb non détectée - Guide
- Imprimer tableau excel sur une page - Guide
- Créer une page facebook - Guide
7 réponses
Utilisateur anonyme
18 janv. 2008 à 08:45
18 janv. 2008 à 08:45
Bonjour,
je pense que le n° facture doit être préfixé par le nom de la table
select facture.nofac, client.nofac, facture.nofac ...from CLIENT, COMMNADE, FACTURE where ...
cela pourra peut être solutionner le problème
je pense que le n° facture doit être préfixé par le nom de la table
select facture.nofac, client.nofac, facture.nofac ...from CLIENT, COMMNADE, FACTURE where ...
cela pourra peut être solutionner le problème
Xil
Messages postés
350
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
11 juin 2009
257
18 janv. 2008 à 11:21
18 janv. 2008 à 11:21
Commence par éviter le '°' dans un nom de colonne, SQL n'aime pas toujours les caractères spéciaux ('_' passe bien).
Ensuite, une requête comme la tienne sur plusieurs tables dont des noms de colonnes sont les mêmes, renverra une erreur "Column 'XXX' in where clause is ambiguous " et donc pas de données. Tu ne risque pas de retrouver un n° de facture donc.
Pour faire une requête sur plusieurs tables liées, qui ont par exemple, le n° de facture/de client commun, il faut utiliser les jointures
Par exemple :
Je te renvois sur un tutoriel complet et clair sur les jointures SQL et requêtes sur plusieurs table:
https://sqlpro.developpez.com/cours/sqlaz/jointures/
Ensuite, une requête comme la tienne sur plusieurs tables dont des noms de colonnes sont les mêmes, renverra une erreur "Column 'XXX' in where clause is ambiguous " et donc pas de données. Tu ne risque pas de retrouver un n° de facture donc.
Pour faire une requête sur plusieurs tables liées, qui ont par exemple, le n° de facture/de client commun, il faut utiliser les jointures
Par exemple :
SELECT Fac.*, Cli.*, Com.* FROM facture as Fac JOIN client as Cli ON Cli.client_id = Fac.client JOIN commande as Com ON Com.n_facture = Fac.n_facture WHERE Fac.n_facture = 1
Je te renvois sur un tutoriel complet et clair sur les jointures SQL et requêtes sur plusieurs table:
https://sqlpro.developpez.com/cours/sqlaz/jointures/
Eastchild
Messages postés
319
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
28 mars 2012
31
18 janv. 2008 à 14:04
18 janv. 2008 à 14:04
bonjours,
En fait le promblème ne vient pas de SQL mais de la ligne
(
En fait le promblème ne vient pas de SQL mais de la ligne
echo'<td><center><font> <b>'.$row["n°facture"].'F&l t;/b> </font></center></td>'qui ne semble pas reconnaitre les jointures.
(
echo'<td><center><font> <b>'.$row["facture.n°facture"].'F&l t;/b> </font></center></td>'ne marche pas)
Xil
Messages postés
350
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
11 juin 2009
257
18 janv. 2008 à 14:20
18 janv. 2008 à 14:20
echo '<td><center><font> <b>'.$row["n°facture"].'F</b> </font></center></td>'
Cette ligne ne comporte aucune erreur syntaxique.
Si effectivement ta reqûete SQL renvois des résultats correcte, vérifie la structure de ton tableau $row avec un var_dump($row), tu sauras ainsi quel index utiliser pour retrouver ton numéro de facture.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Eastchild
Messages postés
319
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
28 mars 2012
31
18 janv. 2008 à 14:28
18 janv. 2008 à 14:28
Comment je sélectionne l'index dans la ligne de code
je note echo '<td><center><font> <b>'.$row["index correct"].'F</b> </font></center></td>' ?
je note echo '<td><center><font> <b>'.$row["index correct"].'F</b> </font></center></td>' ?
Xil
Messages postés
350
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
11 juin 2009
257
18 janv. 2008 à 14:36
18 janv. 2008 à 14:36
l'index d'un tableau est le "nom" donné à une case. Par défaut c'est 0 pour la première, 1, 2, 3, etc
D'ailleurs tu viens de me faire tilter sur un détail que je n'avais pas remarqué.
En utilisant mysql_fetch_array(), les index de ton tableau de retour seront 0, 1, 2, etc
Si tu veux pouvoir appeler tes variables par $row["nom_colonne"], il faut utiliser mysql_fetch_assoc()
https://www.php.net/manual/fr/function.mysql-fetch-assoc.php
D'ailleurs tu viens de me faire tilter sur un détail que je n'avais pas remarqué.
En utilisant mysql_fetch_array(), les index de ton tableau de retour seront 0, 1, 2, etc
Si tu veux pouvoir appeler tes variables par $row["nom_colonne"], il faut utiliser mysql_fetch_assoc()
https://www.php.net/manual/fr/function.mysql-fetch-assoc.php
Eastchild
Messages postés
319
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
28 mars 2012
31
21 janv. 2008 à 21:45
21 janv. 2008 à 21:45
bon, j'ai recréé ma BDD en renommant chaque clé primaire et étrangère de façon à ne pas avoir de conflit sur les nom.