Bonjour.
Je me permet de venir poster un message ici dans le but de trouvées une ou plusieurs réponse si possible.
Je suis entrain de créer un site ( intranet pour une entreprise ), est je cherche a faire un formulaire qui pourrai me permettre de trouver tel ou tel information stocké dans la base de donnée.
Voici mon code qui conporte des erreurs que je n'arrive pas à résoudre :
<?php require_once('Connections/parc.php'); ?>
<?php
/*
Page de recherche des mots de passe
*/
$nb_rech =0;
$erreur ="";
if(isset($_POST["submit_rech"]))
{
$tab_rech=array();
if(isset($_POST["nom_poste"]) && $_POST["nom_poste"]!="")
{
$rech=$_POST["nom_poste"];
$tab_mots=explode(" ",$rech);
foreach($tab_mots as $mot)
{
$requete="SELECT * FROM `consultation` WHERE nom_poste LIKE \"%$mot%\" ";
}
}
elseif(isset($_POST["email"]) && $_POST["email"]!="")
{
$rech=$_POST["email"];
$tab_mots=explode(" ",$rech);
foreach($tab_mots as $mot)
{
$requete="SELECT * FROM `consultation` WHERE email LIKE \"%$mot%\" ";
}
}
elseif(isset($_POST["login_utilisateur"]) && $_POST["login_utilisateur"]!="")
{
$rech=$_POST["login_utilisateur"];
$tab_mots=explode(" ",$rech);
foreach($tab_mots as $mot)
{
$requete="SELECT * FROM `consultation` WHERE login_utilisateur LIKE \"%$mot%\" ";
}
}
else
{
$erreur.="Erreur un ou plusieurs champs sont vides";
}
if($erreur=="")
{
//execute la recherche
$resultat=mysql_query($requete);
while($ligne=mysql_fetch_assoc($resultat))
{
$nb_rech++;
$tab_rech[]=$ligne;
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Rechercher un poste</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="container">
<div id="header"></div>
<div id="sub_header">Le slogan par la !</div>
<div id="main_content_top"></div>
<div id="main_content">
<div class="content-rech">
<h2>Rechercher un poste de travail.</h2>
<p><?php
if($nb_rech ==0)
{
?>
<b>Menu:</b>
<?php echo "<center><font color=\"red\">$erreur</font></center>" ?>
<table>
<form name="rech" action="recherche.php" method="post">
<tr>
<td>Rechercher par nom du poste</td>
<td><input type="text" name="nom_poste" size="25" value="" />
</tr>
<tr>
<td>Rechercher par adresse email:
<td><input type="text" name="email" size="25" value="" />
</tr>
<tr>
<td>Rechercher par login:
<td><input type="text" name="login_utilisateur" size="25" value="" />
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" name="submit_rech" value="Go" />
<tr>
</form>
</table>
<?php
}
else
{
?>
<b>Menu:</b>
<div>
<a href="recherche.php">Nouvelle recherche</a> / <a href="index.html">Retour accueil</a>
</div>
<div>1 résultat trouvé dans la base. </div>
<br />
<table align="center">
<tr>
<td align="center">Informations générals</td>
</tr>
</table>
<table border="2" cellpadding="10" align="center">
<tr>
<th align="center">ID</th>
<th align="center">Nom du poste</th>
<th align="center">Os</th>
<th align="center">Bâtiment</th>
<th align="center">Etage</th>
<th align="center">Porte</th>
<th align="center">Prise</th>
</tr>
<?php
for($i=0;$i<$nb_rech;$i++)
{
$id=$tab_rech[$i]["id"];
$nom_poste=$tab_rech[$i]["nom_poste"];
$os=$tab_rech[$i]["os"];
$batiment=$tab_rech[$i]["batiment"];
$etage=$tab_rech[$i]["etage"];
$porte=$tab_rech[$i]["porte"];
$num_prise=$tab_rech[$i]["num_prise"];
echo "<tr>";
echo "<td align=\"center\">$id</td>";
echo "<td align=\"center\">$nom_poste</td>";
echo "<td align=\"center\">$os</td>";
echo "<td align=\"center\">$batiment</td>";
echo "<td align=\"center\">$etage</td>";
echo "<td align=\"center\">$porte</td>";
echo "<td align=\"center\">$num_prise</td>";
echo "</tr>";
}
?>
</table>
<br />
<table align="center">
<tr>
<td align="center">Informations utilisateurs</td>
</tr>
</table>
<table border="2" cellpadding="10" align="center">
<tr>
<td align="center">Service</td>
<td align="center">Email</td>
<td align="center">Login</td>
<td align="center">Password</td>
<td align="center">Application</td>
<td align="center">Commande</td>
</tr>
<?php
for($i=0;$i<$nb_rech;$i++)
{
$service=$tab_rech[$i]["service"];
$email=$tab_rech[$i]["email"];
$login_utilisateur=$tab_rech[$i]["login_utilisateur"];
$password=$tab_rech[$i]["password"];
echo "<tr>";
echo "<td align=\"center\">$service</td>";
if($email=="-")
echo "<td>-</td>";
else
echo "<td align=\"center\"><a target=\"_blank\" href=\"$email\">$email</a></td>";
echo "<td align=\"center\">$login_utilisateur</td>";
echo "<td align=\"center\">$password</td>";
echo "<td align=\"center\">";
echo "<a href=\"\" onclick=\"javascript:window.open('voir_application.php?id=$id','width=400,height=250,scrollbars=yes');\">Voir</a>";
echo "</td>";
echo "<td align=\"center\">";
echo "<a href=\"\" onclick=\"javascript:window.open('modifie_pass.php?id=$id','pass','width=400,height=250,scrollbars=yes');\">Modifier</a>";
echo "</td>";
echo "</tr>";
}
}
?>
</table>
</p>
</div>
<div id="clear"></div>
</div>
<div id="main_content_bottom">
</div>
<div id="footer"><strong>Copyright © 2010</strong> | <a href="#">Nom de l'entreprise</a> | <b>Design </b>réalier par ???</div>
</div>
</body>
</html>
Mon problème est que le formulaire fonctionne mais a moitié on va dire, car si renseigne 3 critéres de recherche et que le 1er est faux il me retournera rien ( même si le deuxiéme et juste par exemple )
Si je renseigne toujours 3 critéres de recherche et que cette fois les 3 sont correct il me donnera que le résultat du premier citére ( j'espére que j'écrit pas trop chinoi est que je suis explicite ) donc j'en conclus que la requete 1er est dominante est que les autres sont exploitatable seulement si le critére 1 n'est pas renseigné.
Comment faire pour qu'il n'y est plus ce problème ???
deuxiéme question :
Je souhaiterai si possible afficher 1 ou plusieurs résultats, dison que les 3 critéres de recherche sont correct mais qu'ils pourraient donner trois résultats différents comment réaliser cela ?
Si je vient poster ici c'est que je fait un projet d'étude et que cela est trés important pour moi j'espére vraiment trouvé de l'aide.
Merci d'avance cordialement dagny
Bonjour.
Je me permet de venir poster un message ici dans le but de trouvées une ou plusieurs réponse si possible.
Je suis entrain de créer un site ( intranet pour une entreprise ), est je cherche a faire un formulaire qui pourrai me permettre de trouver tel ou tel information stocké dans la base de donnée.
Voici mon code qui conporte des erreurs que je n'arrive pas à résoudre :
[php]<?php require_once('Connections/parc.php'); ?>
<?php
/*
Page de recherche des mots de passe
*/
$nb_rech =0;
$erreur ="";
if(isset($_POST["submit_rech"]))
{
$tab_rech=array();
if(isset($_POST["nom_poste"]) && $_POST["nom_poste"]!="")
{
$rech=$_POST["nom_poste"];
$tab_mots=explode(" ",$rech);
foreach($tab_mots as $mot)
{
$requete="SELECT * FROM `consultation` WHERE nom_poste LIKE \"%$mot%\" ";
}
}
elseif(isset($_POST["email"]) && $_POST["email"]!="")
{
$rech=$_POST["email"];
$tab_mots=explode(" ",$rech);
foreach($tab_mots as $mot)
{
$requete="SELECT * FROM `consultation` WHERE email LIKE \"%$mot%\" ";
}
}
elseif(isset($_POST["login_utilisateur"]) && $_POST["login_utilisateur"]!="")
{
$rech=$_POST["login_utilisateur"];
$tab_mots=explode(" ",$rech);
foreach($tab_mots as $mot)
{
$requete="SELECT * FROM `consultation` WHERE login_utilisateur LIKE \"%$mot%\" ";
}
}
else
{
$erreur.="Erreur un ou plusieurs champs sont vides";
}
if($erreur=="")
{
//execute la recherche
$resultat=mysql_query($requete);
while($ligne=mysql_fetch_assoc($resultat))
{
$nb_rech++;
$tab_rech[]=$ligne;
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Rechercher un poste</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="container">
<div id="header"></div>
<div id="sub_header">Le slogan par la !</div>
<div id="main_content_top"></div>
<div id="main_content">
<div class="content-rech">
<h2>Rechercher un poste de travail.</h2>
<p><?php
if($nb_rech ==0)
{
?>
<b>Menu:</b>
<?php echo "<center><font color=\"red\">$erreur</font></center>" ?>
<table>
<form name="rech" action="recherche.php" method="post">
<tr>
<td>Rechercher par nom du poste</td>
<td><input type="text" name="nom_poste" size="25" value="" />
</tr>
<tr>
<td>Rechercher par adresse email:
<td><input type="text" name="email" size="25" value="" />
</tr>
<tr>
<td>Rechercher par login:
<td><input type="text" name="login_utilisateur" size="25" value="" />
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" name="submit_rech" value="Go" />
<tr>
</form>
</table>
<?php
}
else
{
?>
<b>Menu:</b>
<div>
<a href="recherche.php">Nouvelle recherche</a> / <a href="index.html">Retour accueil</a>
</div>
<div>1 résultat trouvé dans la base. </div>
<br />
<table align="center">
<tr>
<td align="center">Informations générals</td>
</tr>
</table>
<table border="2" cellpadding="10" align="center">
<tr>
<th align="center">ID</th>
<th align="center">Nom du poste</th>
<th align="center">Os</th>
<th align="center">Bâtiment</th>
<th align="center">Etage</th>
<th align="center">Porte</th>
<th align="center">Prise</th>
</tr>
<?php
for($i=0;$i<$nb_rech;$i++)
{
$id=$tab_rech[$i]["id"];
$nom_poste=$tab_rech[$i]["nom_poste"];
$os=$tab_rech[$i]["os"];
$batiment=$tab_rech[$i]["batiment"];
$etage=$tab_rech[$i]["etage"];
$porte=$tab_rech[$i]["porte"];
$num_prise=$tab_rech[$i]["num_prise"];
echo "<tr>";
echo "<td align=\"center\">$id</td>";
echo "<td align=\"center\">$nom_poste</td>";
echo "<td align=\"center\">$os</td>";
echo "<td align=\"center\">$batiment</td>";
echo "<td align=\"center\">$etage</td>";
echo "<td align=\"center\">$porte</td>";
echo "<td align=\"center\">$num_prise</td>";
echo "</tr>";
}
?>
</table>
<br />
<table align="center">
<tr>
<td align="center">Informations utilisateurs</td>
</tr>
</table>
<table border="2" cellpadding="10" align="center">
<tr>
<td align="center">Service</td>
<td align="center">Email</td>
<td align="center">Login</td>
<td align="center">Password</td>
<td align="center">Application</td>
<td align="center">Commande</td>
</tr>
<?php
for($i=0;$i<$nb_rech;$i++)
{
$service=$tab_rech[$i]["service"];
$email=$tab_rech[$i]["email"];
$login_utilisateur=$tab_rech[$i]["login_utilisateur"];
$password=$tab_rech[$i]["password"];
echo "<tr>";
echo "<td align=\"center\">$service</td>";
if($email=="-")
echo "<td>-</td>";
else
echo "<td align=\"center\"><a target=\"_blank\" href=\"$email\">$email</a></td>";
echo "<td align=\"center\">$login_utilisateur</td>";
echo "<td align=\"center\">$password</td>";
echo "<td align=\"center\">";
echo "<a href=\"\" onclick=\"javascript:window.open('voir_application.php?id=$id','width=400,height=250,scrollbars=yes');\">Voir</a>";
echo "</td>";
echo "<td align=\"center\">";
echo "<a href=\"\" onclick=\"javascript:window.open('modifie_pass.php?id=$id','pass','width=400,height=250,scrollbars=yes');\">Modifier</a>";
echo "</td>";
echo "</tr>";
}
}
?>
</table>
</p>
</div>
<div id="clear"></div>
</div>
<div id="main_content_bottom">
</div>
<div id="footer"><strong>Copyright © 2010</strong> | <a href="#">Nom de l'entreprise</a> | <b>Design </b>réalier par ???</div>
</div>
</body>
</html>[/php]
Mon problème est que le formulaire fonctionne mais a moitié on va dire, car si renseigne 3 critéres de recherche et que le 1er est faux il me retournera rien ( même si le deuxiéme et juste par exemple ):cry:
Si je renseigne toujours 3 critéres de recherche et que cette fois les 3 sont correct il me donnera que le résultat du premier citére ( j'espére que j'écrit pas trop chinoi est que je suis explicite ) donc j'en conclus que la requete 1er est dominante est que les autres sont exploitatable seulement si le critére 1 n'est pas renseigné.
Comment faire pour qu'il n'y est plus ce problème ???
deuxiéme question :
Je souhaiterai si possible afficher 1 ou plusieurs résultats, dison que les 3 critéres de recherche sont correct mais qu'ils pourraient donner trois résultats différents comment réaliser cela ?
Si je vient poster ici c'est que je fait un projet d'étude et que cela est trés important pour moi j'espére vraiment trouvé de l'aide.
Merci d'avance cordialement dagny