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>