[PHP] Inner join ou WHERE entre deux tables
Résolu/Fermé
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
-
6 mars 2009 à 00:10
BloodyAngel Messages postés 1482 Date d'inscription mardi 21 juin 2005 Statut Contributeur Dernière intervention 21 juin 2018 - 6 mars 2009 à 17:15
BloodyAngel Messages postés 1482 Date d'inscription mardi 21 juin 2005 Statut Contributeur Dernière intervention 21 juin 2018 - 6 mars 2009 à 17:15
A voir également:
- [PHP] Inner join ou WHERE entre deux tables
- Itinéraire google map entre deux adresses - Guide
- Easy php - Télécharger - Divers Web & Internet
- Deux ecran pc - Guide
- Tables des matières word - Guide
- Faire deux colonnes sur word - Guide
15 réponses
BloodyAngel
Messages postés
1482
Date d'inscription
mardi 21 juin 2005
Statut
Contributeur
Dernière intervention
21 juin 2018
402
6 mars 2009 à 00:13
6 mars 2009 à 00:13
SELECT * FROM in_tracker, domaines WHERE substr(in_tracker.domaine,4) = domaines.domaine
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
95
6 mars 2009 à 00:19
6 mars 2009 à 00:19
Apparement, ca ne donnes rien comme résultats.
BloodyAngel
Messages postés
1482
Date d'inscription
mardi 21 juin 2005
Statut
Contributeur
Dernière intervention
21 juin 2018
402
6 mars 2009 à 00:22
6 mars 2009 à 00:22
Essaie WHERE substr(in_tracker.domaine,4) LIKEdomaines.domaine
Vérifie aussi ton substr... est-ce que ça donne bien ce que tu veux ? Je ne connais pas cette fonction...
Vérifie aussi ton substr... est-ce que ça donne bien ce que tu veux ? Je ne connais pas cette fonction...
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
95
6 mars 2009 à 00:24
6 mars 2009 à 00:24
Le substr donne bien ce que je veux , un peu plus tard ; dans une autre requete.
En revanche ici , meme avec le LIKE ; ca ne fonctionnes pas.
$domaine = substr($row[domaine],4); $sql2 = mysql_query(" SELECT in_day FROM domaines WHERE domaine='$domaine' ");
En revanche ici , meme avec le LIKE ; ca ne fonctionnes pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
BloodyAngel
Messages postés
1482
Date d'inscription
mardi 21 juin 2005
Statut
Contributeur
Dernière intervention
21 juin 2018
402
6 mars 2009 à 00:36
6 mars 2009 à 00:36
Est-ce que ta requête sql2 fonctionne ?
Si oui je te suggère de proposer par étape. Fais une requête SELECT simple avec une seule table. Si elle marche, rajoute une seconde table et fait une jointure. Si elle marche, utilise ton substr.
Ainsi tu devrais voir où ça coince...
Si oui je te suggère de proposer par étape. Fais une requête SELECT simple avec une seule table. Si elle marche, rajoute une seconde table et fait une jointure. Si elle marche, utilise ton substr.
Ainsi tu devrais voir où ça coince...
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
95
6 mars 2009 à 00:40
6 mars 2009 à 00:40
Elle fonctionne la $sql2 oui. En fait elle est appellée lors d'une boucle while associée à $sql.
Si $row2['domaine'] == substr($row['domaine'],4)
Instructions ...
Donc celle ci fonctionne bien, mais me sert à différencier l'affichage de tous les résultats enregistrés dans $sql.
Et là actuellement, j'essaye de demander d'afficher uniquement les enregistrements de $sql en fonction des domaines enregistrés dans $sql2.
while ($row = mysql_fetch_array($sql)) { $compteur++; $domaine = substr($row[domaine],4); $sql2 = mysql_query(" SELECT in_day FROM domaines WHERE domaine='$domaine' "); $row2 = mysql_fetch_array($sql2);
Si $row2['domaine'] == substr($row['domaine'],4)
Instructions ...
Donc celle ci fonctionne bien, mais me sert à différencier l'affichage de tous les résultats enregistrés dans $sql.
Et là actuellement, j'essaye de demander d'afficher uniquement les enregistrements de $sql en fonction des domaines enregistrés dans $sql2.
BloodyAngel
Messages postés
1482
Date d'inscription
mardi 21 juin 2005
Statut
Contributeur
Dernière intervention
21 juin 2018
402
6 mars 2009 à 00:55
6 mars 2009 à 00:55
Ah oki... Mais en fait ton substr c'est bien un requête PHP alors...
Parce que comme je le vois dans ton premier post, tu le traites comme si c'était un fonction SQL...
Parce que comme je le vois dans ton premier post, tu le traites comme si c'était un fonction SQL...
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
95
6 mars 2009 à 00:57
6 mars 2009 à 00:57
Ha ben oui, l'intitulé du post est "[PHP] Inner join ou WHERE entre deux tables " :)
Hé oui php mélangé à du sql !!
Hé oui php mélangé à du sql !!
BloodyAngel
Messages postés
1482
Date d'inscription
mardi 21 juin 2005
Statut
Contributeur
Dernière intervention
21 juin 2018
402
6 mars 2009 à 01:02
6 mars 2009 à 01:02
Oui y'a pas de mal mais tu ne peux pas demander à Mysql de faire du PHP... :-/
Tu dois utiliser ta fonction PHP dans PHP et transmettre le résultat à MySQL au travers de ta requête...
Tu dois utiliser ta fonction PHP dans PHP et transmettre le résultat à MySQL au travers de ta requête...
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
95
6 mars 2009 à 01:04
6 mars 2009 à 01:04
Je penses que ca doit etre faisable un susbstr tel quel dans la requetes. Y'a des posts similaires :
http://www.commentcamarche.net/forum/affich 6545400 requete mysql utilisant where et substr
http://www.commentcamarche.net/forum/affich 6545400 requete mysql utilisant where et substr
BloodyAngel
Messages postés
1482
Date d'inscription
mardi 21 juin 2005
Statut
Contributeur
Dernière intervention
21 juin 2018
402
6 mars 2009 à 01:11
6 mars 2009 à 01:11
Effectivement tu as raison.
Cela étant, ton SUBSTR te renverra tous les caractères de ton champ A PARTIR du 4ème caractère, jusqu'à la fin du champ. C'est bien ça que tu veux ?
Cela étant, ton SUBSTR te renverra tous les caractères de ton champ A PARTIR du 4ème caractère, jusqu'à la fin du champ. C'est bien ça que tu veux ?
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
95
6 mars 2009 à 01:14
6 mars 2009 à 01:14
Le substr est identique à celui de $sql2 . Donc pour www.google.fr , substr('www.google.fr',4) renverra google.fr uniquement.
Ce que je demandes dans $sql2 fonctionne bien, la requete est similaire dans $sql mais je ne trouves pas comment le faire fonctionner.
Ce que je demandes dans $sql2 fonctionne bien, la requete est similaire dans $sql mais je ne trouves pas comment le faire fonctionner.
BloodyAngel
Messages postés
1482
Date d'inscription
mardi 21 juin 2005
Statut
Contributeur
Dernière intervention
21 juin 2018
402
6 mars 2009 à 01:21
6 mars 2009 à 01:21
Oki donc je résume :
$sql2 = mysql_query(" SELECT in_day FROM domaines WHERE domaine='$domaine' ");
FONCTIONNE
SELECT * FROM in_tracker, domaines WHERE substr(in_tracker.domaine,4) = domaines.domaine
FONCTIONNE PAS
Bin désolé je ne comprend pas...
Je ne pense pas que le problème soit dans la requête...
$sql2 = mysql_query(" SELECT in_day FROM domaines WHERE domaine='$domaine' ");
FONCTIONNE
SELECT * FROM in_tracker, domaines WHERE substr(in_tracker.domaine,4) = domaines.domaine
FONCTIONNE PAS
Bin désolé je ne comprend pas...
Je ne pense pas que le problème soit dans la requête...
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
95
6 mars 2009 à 01:32
6 mars 2009 à 01:32
En effet je comprends pas pourquoi ca ne donne rien comme résultats. Dans MySql directement, c'est pareil ; cette requete ne donne aucun résultats ...
Je vais me coucher, la nuit porte conseil soi disant ;)
Merci et je te tiens au jus si je trouve comment faire.
Je vais me coucher, la nuit porte conseil soi disant ;)
Merci et je te tiens au jus si je trouve comment faire.
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
95
6 mars 2009 à 16:01
6 mars 2009 à 16:01
En effet, ca ne pouvait pas fonctionner ... Bizarrement, dans une requete sql en php, il faut rajouter +1 à la requete substr
Substr($var,N+1) , en temps normal : substr($var,N)
Cf : https://www.developpez.net/forums/d248503/bases-donnees/mysql/requetes/mysql-substr-requ-te/
Merci de ta patience tout de meme. Ca fonctionne désormais ;)
Substr($var,N+1) , en temps normal : substr($var,N)
le mid ou substring commence le comptage a partir de 1:
Cf : https://www.developpez.net/forums/d248503/bases-donnees/mysql/requetes/mysql-substr-requ-te/
Merci de ta patience tout de meme. Ca fonctionne désormais ;)
BloodyAngel
Messages postés
1482
Date d'inscription
mardi 21 juin 2005
Statut
Contributeur
Dernière intervention
21 juin 2018
402
6 mars 2009 à 17:15
6 mars 2009 à 17:15
Ah bin voilà on mourra moins bêtes ^^
Bon à savoir...
Bon à savoir...