Eyeron
Messages postés12Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention22 mars 2010
-
13 janv. 2010 à 12:54
Eyeron
Messages postés12Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention22 mars 2010
-
13 janv. 2010 à 16:10
[i]Bonjour,
j'ai une table avec les champs suivants:
id
prenom
nom
discipline
perfs
commentaire
J'ai une page de recherche avec un formulaire classique:/i <form action= "clients_recherche2.php" method="post">
Rechercher par discipline,
----
Nom de la discipline :, ,
----
OU,
----
Rechercher par nom du client,
----
Nom :, ,
----
,
</form>
Puis on arrive sur la page clients_recherche2 :
<?php
$discipline =$_POST['discipline_r'];
$nom=$_POST['nom_r'];
if (empty($discipline))
{
$req1=mysql_query("SELECT * FROM clients WHERE nom='".$nom."' ");
$req = mysql_fetch_array($req1);
$discipline=$req['discipline'];
$nom=$req['nom'];
$id=$req['id'];
$prenom=$req['prenom'];
$perfs=$req['perfs'];
$commentaire=$req['commentaire'];
$count=mysql_num_rows($req1);
}
else
{
$req1=mysql_query("SELECT * FROM clients WHERE discipline='".$discipline."'");
$req = mysql_fetch_array($req1);
$discipline=$req['discipline'];
$nom=$req['nom'];
$id=$req['id'];
$prenom=$req['prenom'];
$perfs=$req['perfs'];
$commentaire=$req['commentaire'];
$count=mysql_num_rows($req1);
}
{
?>
[i]Ensuite j'affiche dans une table le résultat.
Cependant un client peut avoir des perfs dans plusieurs disciplines.
C'est pour ça que je définis la variable $count
Mais pour afficher je ne sais pas comment faire... Pour le moment j'utilise un if:/i
phpAnonyme
Messages postés392Date d'inscriptionmercredi 28 octobre 2009StatutMembreDernière intervention23 mars 201255 13 janv. 2010 à 15:40
Bonjour,
Alors plusieurs choses :
Ta condition if-else peut être effectuer uniquement sur la ligne $req1 donc inutile de retranscrire à chaque fois les lignes qui suivent après :
if (empty($discipline))
{
$req1=mysql_query("SELECT * FROM clients WHERE nom='".$nom."' ");
}
else
{
$req1=mysql_query("SELECT * FROM clients WHERE discipline='".$discipline."'");
}
- Ensuite, inutile de redéfinir les variables : $nom et $discipline puisqu'elles ont déjà été définie en amont $_POST[]
Après pour, récupérer les champs nécessaires ta variable $count n'est pas utile, pour cela faudrait faire une boucle while :
<?php
if (empty($discipline))
{
$req1=mysql_query("SELECT * FROM clients WHERE nom='".$nom."' ");
}
else
{
$req1=mysql_query("SELECT * FROM clients WHERE discipline='".$discipline."'");
}
if(mysql_num_rows($req1)>0)
{
while($req = mysql_fetch_array($req1))
{
$discipline;
$nom;
$id=$req['id'];
$prenom=$req['prenom'];
$perfs=$req['perfs'];
$commentaire=$req['commentaire'];
?>