script adequat moteur de recherche

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : script adequat moteur de recherche

Re: script adequat moteur de recherche

par speedy fernandez » 05 juin 2014, 16:55

merci...je vais installer teamvewer et te faire signe

encore merci pour ton aide

Re: script adequat moteur de recherche

par Elie » 05 juin 2014, 15:04

Désolé mais a part te corriger le truc en live sur TeamViewer, j'arrête les frais ici !

Re: script adequat moteur de recherche

par speedy fernandez » 05 juin 2014, 13:45

bonjour,
je me conecte a ma base de données en entete de ma page avec
<?php
include('config.php');
?>

c'est un fichier de connection a ma base de donnees que j'ai appeler config.php

je veux essayer a afficher les resultats de mes requetes dans des array et faire la difference avec la fonction array_diff mais je ne sais pas trop comment m'y prendre.
cela pourrait resouddre le probleme.
merci

Re: script adequat moteur de recherche

par Elie » 04 juin 2014, 18:14

Pour moi c'est que tu ne te connecte pas a ta base de données avant ...
		// Connexion à la base
		$db = @mysql_connect('localhost', 'root', ''); 
		@mysql_select_db('liaison',$db);

Re: script adequat moteur de recherche

par speedy fernandez » 04 juin 2014, 14:56

 <?php
	if (isset($_POST['lieu']) and isset($_POST['superf']) and isset($_POST['prix']))
	{
	$lieu = $_POST['lieu'];
	$superf = $_POST['superf'];
	$prix = $_POST['prix'];
	}
	else{
	$lieu = "" ;
	$superf = "";
	$prix = "";	
	}
	
	
	?>


  <table width="596" border="1" align="center">
       <tr>
        <td width="70" align="center" bgcolor="#CCCCCC">ID</td>
        <td width="169" align="center" bgcolor="#F9C334">LIEU</td>
        <td align="center" bgcolor="#F9C334">SUPERFICIE</td>
        <td align="center" bgcolor="#F9C334">PRIX</td>
      </tr>
      <?php
	
$req_AND = mysql_query("select * from batiment where lieu='$lieu' and superficie='$superf' and prix='$prix'");
$nombre_de_resultat = mysql_num_rows($req_AND);
if($nombre_de_resultat == 0){
        echo "<p align=center><font color=red size=+2>AUCUN RESULTAT NE CORRESPOND A VOTRE RECHERCHE!</font></p>";
}
else{
        while($dnn_AND = mysql_fetch_array($req_AND)){
                        $deja_affiche[] = $dnn_AND['id'];
                ?>
                <tr>
                        <td bgcolor="#CCCCCC"><?php echo($dnn_AND['id']); ?></td>
                        <td><?php echo htmlentities($dnn_AND['lieu'], ENT_QUOTES, 'UTF-8'); ?></td>
                        <td width="152"><?php echo htmlentities($dnn_AND['superficie'], ENT_QUOTES, 'UTF-8'); ?></td>
                        <td width="132"><?php echo htmlentities($dnn_AND['prix'], ENT_QUOTES, 'UTF-8'); ?></td>
                        <td bgcolor="#CCCCCC" width="152"><?php echo($dnn_AND['description']); ?></td>
 
 
                </tr>
        <?php
        }
}
?>
        <tr>
                </table>
                <BR/><BR/>
        <HR/>
        <p><font color="#006600" size="+2">Résultats qui pourraient vous interrésser...</font></p>
        </table>
<table width="596" border="1" align="center">
        <tr>
                <td width="70" align="center" bgcolor="#FFFFFF">ID</td>
                <td width="169" align="center" bgcolor="#FFFFFF">LIEU</td>
                <td align="center" bgcolor="#FFFFFF">SUPERFICIE</td>
                <td align="center" bgcolor="#FFFFFF">PRIX</td>
                <td align="center" bgcolor="#FFFFFF">DESCRIPTION</td>
 
        </tr>
<?php
$req = mysql_query("select * from batiment where lieu='$lieu' or superficie='$superf' or prix='$prix'");
while($dnn = mysql_fetch_array($req)){
        if(!in_array($dnn['id'], $deja_affiche)) { // Si la réponse n'a pas déjà été afficher
        ?>
        <tr>
                <td bgcolor="#FFFFFF"><?php echo($dnn['id']); ?></td>
                <td><?php echo htmlentities($dnn['lieu'], ENT_QUOTES, 'UTF-8'); ?></td>
                <td width="152"><?php echo htmlentities($dnn['superficie'], ENT_QUOTES, 'UTF-8'); ?></td>
                <td width="132"><?php echo htmlentities($dnn['prix'], ENT_QUOTES, 'UTF-8'); ?></td>
                <td bgcolor="#CCCCCC" width="152"><?php echo($dnn['description']); ?></td>
        </tr>
<?php
}
}
?>
1ere erreure: $nombre_de_resultat = mysql_num_rows($req_AND);

2e erreure: while($dnn = mysql_fetch_array($req))


les deux affiche la meme erreur que jai mentionner.

Re: script adequat moteur de recherche

par Elie » 04 juin 2014, 14:21

Que la variable dans mysql_fetch_array($cette_variable_la); n'est pas une le resultat d'un mysql_query...
Bizarrement le code semble pourtant correcte.

Faudrait que tu me repostes ton code si tu l'a modifié et surtout me dire qu'elle est ta ligne 218...

Re: script adequat moteur de recherche

par speedy fernandez » 04 juin 2014, 14:13

j'obtient ce message d'erreur:




Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\ECOBAD_1\affichageter.php on line 218

qu'est ce que cela signifie et que dois-je faire?

merci

Re: script adequat moteur de recherche

par Elie » 04 juin 2014, 13:43

<?php
$req_AND = mysql_query("select * from batiment where lieu='$lieu' and superficie='$superf' and prix='$prix'");
$nombre_de_resultat = mysql_num_rows($req_AND);
if($nombre_de_resultat == 0){
        echo "<p align=center><font color=red size=+2>AUCUN RESULTAT NE CORRESPOND A VOTRE RECHERCHE!</font></p>";
}
else{
        while($dnn_AND = mysql_fetch_array($req_AND)){
			$deja_affiche[] = $dnn_AND['id'];
                ?>
                <tr>
                        <td bgcolor="#CCCCCC"><?php echo($dnn_AND['id']); ?></td>
                        <td><?php echo htmlentities($dnn_AND['lieu'], ENT_QUOTES, 'UTF-8'); ?></td>
                        <td width="152"><?php echo htmlentities($dnn_AND['superficie'], ENT_QUOTES, 'UTF-8'); ?></td>
                        <td width="132"><?php echo htmlentities($dnn_AND['prix'], ENT_QUOTES, 'UTF-8'); ?></td>
                        <td bgcolor="#CCCCCC" width="152"><?php echo($dnn_AND['description']); ?></td>
 
 
                </tr>
        <?php
        }
}
?>
        <tr>
                </table>
                <BR/><BR/>
        <HR/>
        <p><font color="#006600" size="+2">Résultats qui pourraient vous interrésser...</font></p>
        </table>
<table width="596" border="1" align="center">
        <tr>
                <td width="70" align="center" bgcolor="#FFFFFF">ID</td>
                <td width="169" align="center" bgcolor="#FFFFFF">LIEU</td>
                <td align="center" bgcolor="#FFFFFF">SUPERFICIE</td>
                <td align="center" bgcolor="#FFFFFF">PRIX</td>
                <td align="center" bgcolor="#FFFFFF">DESCRIPTION</td>
 
        </tr>
<?php
$req = mysql_query("select * from batiment where lieu='$lieu' or superficie='$superf' or prix='$prix'");
while($dnn = mysql_fetch_array($req)){
	if(!in_array($dnn['id'], $deja_affiche)) { // Si la réponse n'a pas déjà été afficher
        ?>
        <tr>
                <td bgcolor="#FFFFFF"><?php echo($dnn['id']); ?></td>
                <td><?php echo htmlentities($dnn['lieu'], ENT_QUOTES, 'UTF-8'); ?></td>
                <td width="152"><?php echo htmlentities($dnn['superficie'], ENT_QUOTES, 'UTF-8'); ?></td>
                <td width="132"><?php echo htmlentities($dnn['prix'], ENT_QUOTES, 'UTF-8'); ?></td>
                <td bgcolor="#CCCCCC" width="152"><?php echo($dnn['description']); ?></td>
        </tr>
<?php
}
}
?>
 
Dis moi si ca marche :)
Prochaine étape, apprendre le CSS3 et le HTML5 sans les balises <td> :)

Re: script adequat moteur de recherche

par speedy fernandez » 04 juin 2014, 10:47

bonjour et merci pour ton aide....
c'est effectivement ça que je veux faire mais je ne sais pas comment mettre le resultat de mes requete dans un array.

c'est tout mon code que jai mis ci dessus...ou dois-je modifier sil vous plait.


merci

Re: script adequat moteur de recherche

par Elie » 03 juin 2014, 21:17

Tu ne veux donc pas les memes resultats en bas ?

Je te conseille de stocker les resultats AND dans un array : $deja_affiche[] = $dnn_AND['id'];
Et dans ta 2eme requetes tu verifies si cet id a deja été afficher :
if(!in_array($dnn['id'], $deja_affiche)) // Si la réponse n'a pas déjà été afficher
 /* TON CODE */
}

script adequat moteur de recherche

par speedy fernandez » 03 juin 2014, 19:05

BONJOUR A TOUS


j'ai crée un moteur de recherche dans un site une j'ai fait pour une entreprise de construction et lorsque l'internaute tape sa recherche, selon le code php que jai fait, le resultat exacte de sa recherche apparait, si aucun resultat n'est trouvé, des resultats correspondand a un des champ rempli lui sont proposés.
je vous montre mon code php.
<?php
$req_AND = mysql_query("select * from batiment where lieu='$lieu' and superficie='$superf' and prix='$prix'");
$nombre_de_resultat = mysql_num_rows($req_AND);
if($nombre_de_resultat == 0){
	echo "<p align=center><font color=red size=+2>AUCUN RESULTAT NE CORRESPOND A VOTRE RECHERCHE!</font></p>";
}
else{
	while($dnn_AND = mysql_fetch_array($req_AND)){
		?>
		<tr>
			<td bgcolor="#CCCCCC"><?php echo($dnn_AND['id']); ?></td>
			<td><?php echo htmlentities($dnn_AND['lieu'], ENT_QUOTES, 'UTF-8'); ?></td>
			<td width="152"><?php echo htmlentities($dnn_AND['superficie'], ENT_QUOTES, 'UTF-8'); ?></td>
			<td width="132"><?php echo htmlentities($dnn_AND['prix'], ENT_QUOTES, 'UTF-8'); ?></td>
			<td bgcolor="#CCCCCC" width="152"><?php echo($dnn_AND['description']); ?></td>
 
 
		</tr>
	<?php
	}
}
?>
	<tr>
		</table>
		<BR/><BR/>
	<HR/>
	<p><font color="#006600" size="+2">Résultats qui pourraient vous interrésser...</font></p>
	</table>
<table width="596" border="1" align="center">
	<tr>
		<td width="70" align="center" bgcolor="#FFFFFF">ID</td>
		<td width="169" align="center" bgcolor="#FFFFFF">LIEU</td>
		<td align="center" bgcolor="#FFFFFF">SUPERFICIE</td>
		<td align="center" bgcolor="#FFFFFF">PRIX</td>
		<td align="center" bgcolor="#FFFFFF">DESCRIPTION</td>
 
	</tr>
<?php
$req = mysql_query("select * from batiment where lieu='$lieu' or superficie='$superf' or prix='$prix'");
while($dnn = mysql_fetch_array($req)){
	?>
	<tr>
		<td bgcolor="#FFFFFF"><?php echo($dnn['id']); ?></td>
		<td><?php echo htmlentities($dnn['lieu'], ENT_QUOTES, 'UTF-8'); ?></td>
		<td width="152"><?php echo htmlentities($dnn['superficie'], ENT_QUOTES, 'UTF-8'); ?></td>
		<td width="132"><?php echo htmlentities($dnn['prix'], ENT_QUOTES, 'UTF-8'); ?></td>
		<td bgcolor="#CCCCCC" width="152"><?php echo($dnn['description']); ?></td>
	</tr>
<?php
}
?>
il ya une erreur que je voudrais que vous m'aidiez à resoudre.
avec mon code php que j'ai enoncé ci dessus, il fait ma recherche mais jai constater que le resultat obtenu avec ma requete AND affiche aussi parmi les resultats des propositions avec ma duxieme requete OR.
chose que je veux eviter.
AIDEZ MOI SIL VOUS PLAIT