par
glodybiss4 » 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
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 40
Voici la ligne 40 de mon code
Et voici le code entier
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>
Bonjour à tous !
J'ai créer un moteur de recherche qui permet de rechercher plusieurs catégorie avec plusieurs champs.
Une erreur #-o n'arrête pas d'apparaître lors de l'exécution de mon script.
L'erreur c'est sur la ligne 40
[code]Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\internetservices\sitemanage.php on line 40[/code]
Voici la ligne 40 de mon code
[code]if (mysql_num_rows($result)==0)[/code]
Et voici le code entier
[code]<?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>
[/code]