quand je lance le script il me sort une requete correcte
SELECT * from Etablissement where nature = '1' and (dpt='75' or dpt='95') order by nomEtablissement
<?php
require("connect.php");
$dsn="mysql:dbname=".BASE.";host=".SERVER;
try{
$connexion=new PDO($dsn,USER,PASSWD);
}
catch(PDOException $e){
printf("Échec de la connexion : %s\n", $e->getMessage());
exit();
}
$sql="SELECT * from Etablissement order by nomEtablissement";
if(!$connexion->query($sql)) echo "Pb d'accès à la table Etablissement";
else{
?>
<form action="etablissement.php" method="GET">
<select name="nom">
<?php
foreach ($connexion->query($sql) as $row){
echo "<option value=".$row['idEtablissement'].">".$row['nomEtablissement']."</option>";
}
}
?>
</select>
<input type="submit" value="Rechercher">
</form>
<?php
$where="";
if(isset($_POST['dpt']) and !empty($_POST['dpt'])){$where.="dpt = '".$_POST['dpt']."' and ";}
if(isset($_POST['nature']) and !empty($_POST['nature'])){$where.="nature = '".$_POST['nature']."' and ";}
if(isset($_POST['checkbox'])){$where.=implode($_POST['checkbox'])." and";}
if(isset($_POST['checkbox']) and !empty($_POST['checkbox'])){$where.="(dpt='".implode("' or dpt='",$_POST['checkbox'])."') and ";}
if(!empty($where)){$where = 'where '.substr($where, 0, -4);}
;
$sql="SELECT * from Etablissement $where order by nomEtablissement";
if(!$connexion->query($sql)) echo "Pb d'accès à la table Etablissement";
else{
echo "<table><tr><td>NOM D'ETABLISSEMENT</td></tr>";
foreach ($connexion->query($sql) as $row)
?>
<form action="" method="POST">
<p>Département</p>
<input type="checkbox" name="checkbox[]" value="75">75
<input type="checkbox" name="checkbox[]" value="92">92
<input type="checkbox" name="checkbox[]" value="95">95
<input type="checkbox" name="checkbox[]" value="98">98
<p>Nature</p>
<input type="radio" name="nature"value="1">Université
<input type="radio" name="nature" value="2">Ecole d'ingénieur
<input type="submit" value="Rechercher">
</form>
<?php
echo "<br><a href=\"etablissement1.php?idEtablissement=".$row['idEtablissement'].'">'.'<br/>'.$row['nomEtablissement'];
echo "</table>";
}
?>
</body>
</html>
if(isset($_POST['checkbox'])){$where.=implode($_POST['checkbox'])." and";}
puis ton 2eme form est dans une boucle Oo <?php
require("connect.php");
$dsn="mysql:dbname=".BASE.";host=".SERVER;
try{
$connexion=new PDO($dsn,USER,PASSWD);
}
catch(PDOException $e){
printf("Échec de la connexion : %s\n", $e->getMessage());
exit();
}
$sql="SELECT * from Etablissement order by nomEtablissement";
if(!$connexion->query($sql)) echo "Pb d'accès à la table Etablissement";
else{
?>
<form action="etablissement.php" method="GET">
<select name="nom">
<?php
foreach ($connexion->query($sql) as $row){
echo "<option value=".$row['idEtablissement'].">".$row['nomEtablissement']."</option>";
}
?>
</select>
<input type="submit" value="Rechercher">
</form>
<?php
}
//la parti du haut fonctionne aucun probleme
?>
<?php
$where="";
if(isset($_POST['dpt']) and !empty($_POST['dpt'])){$where.="dpt = '".$_POST['dpt']."' and ";}
if(isset($_POST['nature']) and !empty($_POST['nature'])){$where.="nature = '".$_POST['nature']."' and ";}
if(isset($_POST['checkbox']) and !empty($_POST['checkbox'])){$where.="(dpt='".implode("' or dpt='",$_POST['checkbox'])."') and ";}
if(!empty($where)){$where = 'where '.substr($where, 0, -4);}
;
$sql="SELECT * from Etablissement $where order by nomEtablissement";
if(!$connexion->query($sql)) echo "Pb d'accès à la table Etablissement";
else{
echo "<table><tr><td>NOM D'ETABLISSEMENT</td></tr>";
echo'<form action="" method="POST">
<p>Département</p>';
foreach ($connexion->query($sql) as $row){
echo'<input type="checkbox" name="checkbox[]" value="'.$row['idEtablissement'].'">'.$row['idEtablissement'];
}
?>
<p>Nature</p>
<input type="radio" name="nature"value="1">Université
<input type="radio" name="nature" value="2">Ecole d'ingénieur
<input type="submit" value="Rechercher">
</form>
<?php
echo "<br><a href=\"etablissement1.php?idEtablissement=".$row['idEtablissement'].'">'.'<br/>'.$row['nomEtablissement'];
echo "</table>";
}
?>
</body>
</html>
<?php
require("connect.php");
$dsn="mysql:dbname=".BASE.";host=".SERVER;
try{
$connexion=new PDO($dsn,USER,PASSWD);
}
catch(PDOException $e){
printf("Échec de la connexion : %s\n", $e->getMessage());
exit();
}
$sql="SELECT * from Etablissement order by nomEtablissement";
if(!$connexion->query($sql)) echo "Pb d'accès à la table Etablissement";
else{
?>
<form action="etablissement.php" method="GET">
<select name="nom">
<?php
foreach ($connexion->query($sql) as $row){
echo "<option value=".$row['idEtablissement'].">".$row['nomEtablissement']."</option>";
}
?>
</select>
<input type="submit" value="Rechercher">
</form>
<?php
}
//la parti du haut fonctionne aucun probleme
?>
<?php
$where="";//initialise la variable $where
if(isset($_POST['dpt']) and !empty($_POST['dpt'])){$where.="dpt = '".$_POST['dpt']."' and ";}//si le champ dpt n'est pas vide alors $where prend cette condition
if(isset($_POST['nature']) and !empty($_POST['nature'])){$where.="nature = '".$_POST['nature']."' and ";}//si le champ nature n'est pas vide alors $where prend cette condition
if(isset($_POST['checkbox']) and !empty($_POST['checkbox'])){$where.="(dpt='".implode("' or dpt='",$_POST['checkbox'])."') and ";}//si le champ checkbox n'est pas vide alors $where prend cette condition
if(!empty($where)){$where = 'where '.substr($where, 0, -4);}//on efface le and et l'espace de fin
;
$sql="SELECT * from Etablissement $where order by nomEtablissement";//on prepart la requete avec ou sans condition
if(!$connexion->query($sql)) echo "Pb d'accès à la table Etablissement";
else{
//on affiche le formulaire
echo'
<form action="" method="POST">
<p>Département</p>
<input type="checkbox" name="checkbox[]" value="75">75
<input type="checkbox" name="checkbox[]" value="92">92
<input type="checkbox" name="checkbox[]" value="95">95
<input type="checkbox" name="checkbox[]" value="98">98
<p>Nature</p>
<input type="radio" name="nature"value="1">Université
<input type="radio" name="nature" value="2">Ecole d\'ingénieur
<input type="submit" value="Rechercher">
</form>
';
echo "<table><tr><td>NOM D'ETABLISSEMENT</td></tr>";//on prepart l'affichage des donnee
foreach ($connexion->query($sql) as $row){//on boucle sur la requete
echo "<br><a href=\"etablissement1.php?idEtablissement=".$row['idEtablissement'].'">'.'<br/>'.$row['nomEtablissement'];//on liste les resultats
}
echo "</table>";
}
?>
</body>
</html>
<?php
require("connect.php");
$dsn="mysql:dbname=".BASE.";host=".SERVER;
try{
$connexion=new PDO($dsn,USER,PASSWD);
}
catch(PDOException $e){
printf("Échec de la connexion : %s\n", $e->getMessage());
exit();
}
$sql="SELECT * from Etablissement order by nomEtablissement";
if(!$connexion->query($sql)) echo "Pb d'accès à la table Etablissement";
else{
?>
<form action="etablissement.php" method="GET">
<select name="nom">
<?php
foreach ($connexion->query($sql) as $row){
echo "<option value=".$row['idEtablissement'].">".$row['nomEtablissement']."</option>";
}
?>
</select>
<input type="submit" value="Rechercher">
</form>
<?php
}
//la parti du haut fonctionne aucun probleme
?>
<?php
$where="";//initialise la variable $where
if(isset($_POST['dpt']) and !empty($_POST['dpt'])){$where.="dpt = '".$_POST['dpt']."' and ";}//si le champ dpt n'est pas vide alors $where prend cette condition
if(isset($_POST['nature']) and !empty($_POST['nature'])){$where.="nature = '".$_POST['nature']."' and ";}//si le champ nature n'est pas vide alors $where prend cette condition
if(isset($_POST['checkbox']) and !empty($_POST['checkbox'])){$where.="(dpt='".implode("' or dpt='",$_POST['checkbox'])."') and ";}//si le champ checkbox n'est pas vide alors $where prend cette condition
if(!empty($where)){$where = 'where '.substr($where, 0, -4);}//on efface le and et l'espace de fin
;
$sql="SELECT * from Etablissement $where order by nomEtablissement";//on prepart la requete avec ou sans condition
if(!$connexion->query($sql)) echo "Pb d'accès à la table Etablissement";
else{
//on affiche le formulaire
echo'
<form action="" method="POST">
<p>Département</p>
<input type="checkbox" name="checkbox[]" value="75">75
<input type="checkbox" name="checkbox[]" value="92">92
<input type="checkbox" name="checkbox[]" value="95">95
<input type="checkbox" name="checkbox[]" value="98">98
<p>Nature</p>
<input type="radio" name="nature"value="1">Université
<input type="radio" name="nature" value="2">Ecole d\'ingénieur
<input type="submit" name="valide" value="Rechercher">
</form>
';
if(isset($_POST['valide'])){
echo "<table><tr><td>NOM D'ETABLISSEMENT</td></tr>";//on prepart l'affichage des donnee
foreach ($connexion->query($sql) as $row){//on boucle sur la requete
echo "<br><a href=\"etablissement1.php?idEtablissement=".$row['idEtablissement'].'">'.'<br/>'.$row['nomEtablissement'];//on liste les resultats
}
echo "</table>";
}
}
?>
</body>
</html>