Précédent   Forum du club des développeurs et IT Pro > PHP > Scripts
Scripts Forum d'entraide sur les scripts PHP téléchargés. Les meilleurs scripts PHP, la FAQ scripts PHP, toutes les FAQ PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 30/03/2012, 20h28   #1
rota90
Invité de passage
 
Femme
etudiante
Inscription : octobre 2011
Messages : 41
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Tunisie

Informations professionnelles :
Activité : etudiante
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2011
Messages : 41
Points : 3
Points : 3
Par défaut simple moteur de recherche

salut,
je suis entrain de developper un petit moteur de recherche
mais j'ai toujours ce probleme qui s'affiche
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files\EasyPHP-5.3.8.0\www\rentacar\fonction.php on line 19
voila ma fonction.php:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
<?php 
mysql_connect("localhost", "root", "") or die("Impossible de se connecter à la base de
données");
mysql_select_db("recherche") or die("base inexistante");
function resultat_recherche($search)
{
    $ou="";
	$search=preg_split('/[\s]+/',$search);
	$total_resultat=count($search);
	foreach($search as $key=>$searches)
	{
		$ou.="mot_clé LIKE '%$searches%'";
		if($key!=($total_resultat-1))
		{
			$ou.=" AND ";
		}
	}
	$query=mysql_query("SELECT* FROM moteurderecherche WHERE $ou");
	$rows=mysql_num_rows($query);
	if($rows)
	{
		while($row=mysql_fetch_assoc($query))
		{
			echo $row['mot_clé']."<br/>".$row['info']."<br/>";
		}
	}
	else 
	{
		echo " pas de résultat pour ".$searches;
}
}
?>
et mon code search.php:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
mysql_connect("localhost", "root", "") or die("Impossible de se connecter à la base de
données");
mysql_select_db("recherche") or die("base inexistante");
include('fonction.php');
if (isset($_POST['submit']))
{
	$search=mysql_real_escape_string(htmlentities(trim($_POST['search'])));
	if(empty($search))
	{
		$error[]="vueillez saisir une recherche";
	}
	elseif(strlen($search)<2)
	{
		$error[]="Veuillez insérer une recherche plus détaillé";
	}
	if (empty($error))
	{
	resultat_recherche($search);
	}
	else
	{
		foreach($error as $errors)
		{
			echo $errors."<br/>";
		}
	}
}
	?>
est ce quelqu'un peut m'aider?
merci d'avance
rota90 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2012, 03h41   #2
vorace
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 594
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 594
Points : 906
Points : 906
ta requete retourne false...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php 
mysql_connect("localhost", "root", "") or die("Impossible de se connecter à la base de
données");
mysql_select_db("recherche") or die("base inexistante");
function resultat_recherche($search)
{
    $ou="";
	$search=preg_split('/[\s]+/',$search);
	$total_resultat=count($search);
	foreach($search as $key=>$searches)
	{
		$ou.="mot_clé LIKE '%$searches%'";
		if($key!=($total_resultat-1))
		{
			$ou.=" AND ";
		}
	}
        echo "SELECT* FROM moteurderecherche WHERE $ou";// que tu testes sous phpmyadmin
	/*$query=mysql_query("SELECT* FROM moteurderecherche WHERE $ou");
	$rows=mysql_num_rows($query);
	if($rows)
	{
		while($row=mysql_fetch_assoc($query))
		{
			echo $row['mot_clé']."<br/>".$row['info']."<br/>";
		}
	}
	else 
	{
		echo " pas de résultat pour ".$searches;
}*/
}
?>
fais un echo sur ta requete comme plus dans le code et vois la syntaxe quitte à la tester sous phpmyadmin...
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2012, 12h08   #3
rota90
Invité de passage
 
Femme
etudiante
Inscription : octobre 2011
Messages : 41
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Tunisie

Informations professionnelles :
Activité : etudiante
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2011
Messages : 41
Points : 3
Points : 3
c'est exactement ce que j'ai fait ma requête fonctionne normalement mais le probléme est venant de mysql_num_rows()
lorsque je fait
Code :
$rows=mysql_num_rows($query)  or die("erreur");
c 'est erreur qui s'affiche
je sais pas pourquoi elle ne fonctionne pas .
rota90 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2012, 08h20   #4
delphipolm
Invité de passage
 
Inscription : novembre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3
Points : 3
Points : 3
Par défaut une reponse

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
 
<?php
function resultat_recherche($search)
{
 
    mysql_connect("localhost", "root", "") or die("bdd données");
    mysql_select_db("annonces") or die("base inexistante");
 
	$ou="";
	$search=mysql_real_escape_string($search);
	$search=preg_split('/[\s]+/',$search);
	$total_resultat=count($search);
 
	if(!empty($total_resultat) && $total_resultat>5){
 
	/*rien à faire soit trop de mots ou aucun*/
 
	}else{
 
 
	$s=null;
 
	foreach($search as $key => $searches)
	{
		$ou.="contenu LIKE '%$searches%'";
		if($key!=($total_resultat-1))
		{
			$ou.=" AND ";
		}
 
	$s.="  ".$searches;
 
	}
 
	if($query=mysql_query("SELECT * FROM mesannonces WHERE $ou")){
	$rows=mysql_num_rows($query);
	}else{
	/*err*/
	}
 
	if($rows>0)
	{
		while($row=mysql_fetch_assoc($query))
		{
			echo $row['contenu']."<br/>".$row['id']."<br/>";
		}
	}
	else 
	{
		echo " pas de résultat pour ".$s;
    }
 
	}
/*fin function*/
}
 
if (isset($_POST['submit']))
{
	$search=htmlentities(trim($_POST['search']));
	if(empty($search))
	{
		$error[]="vueillez saisir une recherche";
	}
	elseif(strlen($search)<2)
	{
		$error[]="Veuillez insérer une recherche plus détaillé";
	}
	if (empty($error))
	{
	resultat_recherche($search);
	}
	else
	{
		foreach($error as $errors)
		{
			echo $errors."<br/>";
		}
	}
}
?>
<form action="" method="post">
<input type="text" name="search">
<input type="submit" value="recherche" name="submit">
</form>
Bonjour un peu en retard mais ça peut servir ... j'ai essayé ainsi et ça fonctionne ++
delphipolm est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 22h21.


 
 
 
 
Partenaires

Hébergement Web