Champ de recherche multiple avec php mysql
Posté : 28 déc. 2011, 11:49
Bonjour à tous !
J'ai créer un moteur de recherche qui permet de rechercher plusieurs catégorie avec plusieurs champs.
Une erreur
n'arrête pas d'apparaître lors de l'exécution de mon script.
L'erreur c'est sur la ligne 40
Voici la ligne 40 de mon code
Et voici le code entier
J'ai créer un moteur de recherche qui permet de rechercher plusieurs catégorie avec plusieurs champs.
Une erreur
L'erreur c'est sur la ligne 40
Code : Tout sélectionner
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\internetservices\sitemanage.php on line 40Code : Tout sélectionner
if (mysql_num_rows($result)==0)Code : Tout sélectionner
<?php
//recherche des résultats dans la base de données$result = mysql_query( 'SELECT prenom
if(isset($_GET['recherche'])){
extract($_GET);
$req = "SELECT `id`, `idsiteinterne`, `idsiteprovider`, `site_name`, `adresseIP`, `service` FROM cyb_site WHERE 1=1 ";
//Le WHERE 1=1 permet de pas s'embeter à savoir si le WHERE a déjà été mis ou pas après dans les différents "if isset..."
//Ajout de la recherche sur le idsiteinterne s'il est renseigné
if (isset($_POST['idsiteinterne'])) $req = $req & " AND idsiteinterne LIKE '%".htmlentities(trim($_post['idsiteinterne']))."%'";
//Ajout de la recherche sur le idsiteprovider s'il est renseigné
if (isset($_POST['idsiteprovider'])) $req = $req & " AND idsiteprovider LIKE '%".htmlentities(trim($_post['idsiteprovider']))."%'";
//Ajout de la recherche sur site_name si elle est renseignée
if (isset($_POST['site_name'])) $req = $req & " AND site_name LIKE '%".htmlentities(trim($_post['site_name']))."%' ";
if (isset($_POST['adresseIP'])) $req = $req & " AND adresseIP LIKE '%".htmlentities(trim($_post['adresseIP']))."%' ";
if (isset($_POST['service'])) $req = $req & " AND service LIKE '%".htmlentities(trim($_post['service']))."%' ";
$req = $req & " LIMIT 10";
echo'<h4>Resultat de recherche</h4>';
echo '<table>';
echo '<tr>';
echo '<th class="td_seach_titre">N°</th>';
echo '<th class="td_seach_titre">ID Provider</th>';
echo '<th class="td_seach_titre">ID Interne</th>';
echo '<th class="td_seach_titre">Etat du site</th>';
echo '<th class="td_seach_titre">Nom du site</th>';
echo '<th class="td_seach_titre">Adresse IP</th>';
echo '<th class="td_seach_titre">Service</th>';
echo '</tr>';
echo '</table>';
// affichage d'un message "pas de résultats"
//$result = mysql_query($req)
echo $result = mysql_query($req);
if (mysql_num_rows($result)==0)
{
?>
<h3 style="text-align:center; margin:10px 0;">Pas de résultats pour cette recherche</h3>
<?php
}
else
{
// parcours et affichage des résultats
while( $result = mysql_query($result))
{
?>
<div class="article-result">
<table>
<tr>
<td class="id"><?php echo $post->id; ?></td>
<td class="td_seach"><a href="accueil.php?view=24&u='.$row['id'].'""><?php echo $post->idsiteinterne; ?></a></td>
<td class="td_seach"><?php echo $post->idsiteprovider; ?></td>
<td class="td_seach"><?php echo $post->idetatsite; ?></td>
<td class="td_seach"><?php echo $post->site_name; ?></td>
<td class="td_seach"><?php echo $post->adresseIP; ?></td>
<td class="td_seach"><?php echo $post->service; ?></td>
</tr></table>
</table>
</div>
<?php
}
}
}
?>
<div id="boxManage">
<h4>Rechercher un site</h4>
<p>Trouvez un site par son nom, sa date de création, son ID, son statut. </p>
<form method="get" action="">
<table width="480" border="0" class="right">
<tr>
<td class="recherche_text"><label for="id_interne">ID interne</label></td>
<td > <input type="text" name="idsiteinterne" class="recherche" id="id_interne" value="<?php if (isset($_POST['idsiteinterne'])) echo htmlentities(trim($_POST['idsiteinterne'])); ?>"></td>
</tr>
<tr>
<td class="recherche_text"><label for="id_provider" >ID Provider</label></td>
<td >
<input type="text" name="idsiteprovider" class="recherche" id="id_provider" value="<?php if (isset($_POST['idsiteprovider'])) echo htmlentities(trim($_POST['idsiteprovider'])); ?>"></td>
</tr>
<tr>
<td class="recherche_text"><label for="nom_du_site">Nom du site</label></td>
<td >
<input type="text" name="site_name" class="recherche" id="nom_du_site" value="<?php if (isset($_POST['site_name'])) echo htmlentities(trim($_POST['site_name'])); ?>"></td>
</tr>
<tr>
<td class="recherche_text"> <label for="adresse_ip">Adresse IP</label></td>
<td >
<input type="text" name="adresseIP" class="recherche" id="adresse_ip" value="<?php if (isset($_POST['adresseIP'])) echo htmlentities(trim($_POST['adresseIP'])); ?>"></td>
</tr>
<tr>
<td class="recherche_text">Statut</td>
<td class="seach_name" >
<?php
$query = "SELECT * FROM `etat_site`";
$result = mysql_query($query);
echo '<SELECT name="idetatsite" class="recherche_select">';
while ($row = mysql_fetch_array($result)) {
echo '<OPTION>'.$row['etatsite'].'</OPTION>';
}
echo '</SELECT>';
?>
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="recherche" class="recherche_submit" value="Rechercher" /></td>
</tr>
</table>
</form>
</div>
<div id="results"></div>