ma requete fonctionne pas

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : ma requete fonctionne pas

par Yosh » 30 juin 2009, 14:20

non non non et non,

On te dit de faire une jointure entre les tables de ta requête, pour cela il suffit que tu modifi ta requête comme ci-dessous:
SELECT profmusique.nom, profmusique.prenom, profmusique.nomContact, profmusique.ville, profmusique.mail, profmusique.telephone, profmusique.lienSite, disciplines.anciennete, disciplines.instruments FROM profmusique, disciplines WHERE profmusique.idprofmusique = discipline.idProfMusique AND disciplines.idProfMusique='$idProfMusique'"; 
ou alors avec un JOIN
SELECT profmusique.nom, profmusique.prenom, profmusique.nomContact, profmusique.ville, profmusique.mail, profmusique.telephone, profmusique.lienSite, disciplines.anciennete, disciplines.instruments FROM profmusique INNER JOIN disciplines ON profmusique.idprofmusique = discipline.idProfMusique WHERE disciplines.idProfMusique='$idProfMusique'"; 
EDIT:

je connais pas la structure de tes tables mais en gros la jointure se fait sur l'id de la table 1 en concordance avec l'id de la table 2

par x@v » 30 juin 2009, 13:46

j'ai refais

mon formulaire de recherche :
<form action="recherche.php" type="get">
	<label for="instruments">instrument</label>
	<select name="idProfMusique" id="instruments">
	<?php 
		$sql = "SELECT instruments,idProfMusique FROM disciplines";
   		$result= $connection->select($sql);
   		foreach ($result as $var) {
   			echo '<option value="'.$var['idProfMusique'].'">'.$var['instruments'].'</option>';
   		}?>
	</select>
	<label for="codePostal">codePostal</label>
	<select name="codePostal" id="codePostal">
	<?php 
		$sql = "SELECT codePostal FROM profmusique";
   		$result= $connection->select($sql);
   		foreach ($result as $var) {
   			echo '<option value="'.$var['codePostal'].'">'.substr($var['codePostal'], 0, 2).'</option>';
   		}?>
	</select>	
	<input type="submit" value="recherche" />
</form>


Mon traitement
<?php
include("class/class.pdo.php");
$connection=new Connection();
if(isset($_GET['idProfMusique']) || !empty($_GET['idProfMusique']))
{
	$idProfMusique=$_GET['idProfMusique'];
	$sql= "SELECT profmusique.nom, profmusique.prenom, profmusique.nomContact, profmusique.ville, profmusique.mail, profmusique.telephone, profmusique.lienSite, disciplines.anciennete, disciplines.instruments FROM profmusique, disciplines WHERE disciplines.idProfMusique='$idProfMusique'";
	echo $sql.'<br>';
	$result = $connection->select($sql);
	foreach ($result as $var) {
		echo '<p>'.$var['instruments'].' :: '.$var['nom'].' :: '.$var['prenom'].' :: '.$var['nomContact'].' :: '.$var['ville'].' :: '.$var['mail'].' :: '.$var['telephone'].' :: '.$var['lienSite'].' :: '.date('d-m-Y', $var['anciennete']).'</p>';
	}
?>

Code : Tout sélectionner

SELECT profmusique.nom, profmusique.prenom, profmusique.nomContact, profmusique.ville, profmusique.mail, profmusique.telephone, profmusique.lienSite, disciplines.anciennete, disciplines.instruments FROM profmusique, disciplines WHERE disciplines.idProfMusique='4'

par albat » 30 juin 2009, 13:41

Pas forcément.
- Soit tu utilises l'opérateur JOIN ... ON dans ta clause FROM
- soit tu crées une clause WHERE où tu lies un champ de chaque table

Sinon, tu obtiens un produit cartésien ! :afraid:

par x@v » 30 juin 2009, 13:39

il me faut créer une condition ?

par albat » 30 juin 2009, 13:02

Et la jointure entre tes tables ??? :evil:

ma requete fonctionne pas

par x@v » 30 juin 2009, 12:41

Je cherche à récupérer les champs du table(profMusique) en fonction du champ instrument qui à dans table(discipline) qui contient la clé étrangère idProfMusique qui est dans table(discipline).

Code : Tout sélectionner

SELECT profmusique.nom, profmusique.prenom, profmusique.nomContact, profmusique.ville, profmusique.mail, profmusique.telephone, profmusique.lienSite, disciplines.anciennete, disciplines.instruments FROM profmusique, disciplines WHERE disciplines.instruments='piano'