Page 1 sur 1

probleme d'affichage suite a recherche

Posté : 23 sept. 2009, 00:47
par zyriuse
bonjour
j essaye de créer un petit moteur de recherche pour mon site mais voila il ne veut rien afficher a l'écran et je ne comprend pas pourquoi j ai relue à plusieurs reprise et je n'arrive pas à trouver d ou viens le problème, je me tourne donc vers vous pour solliciter votre aide
dans la table erreur j ai rentre à la mano test .
<?php

//si recherche n ai pas vide 
	if (!empty($_POST['rechercher'])) 
{

include ("connect_bdd.php");
//strtolower nous permet de convertir les majuscules en minuscule
		$recherche=strtolower($_post['recherche']);
		$ordre=($_POST['ordre']);

// requete sql
		$sql="SELECT* FROM erreur";
		$result=query($sql);
	if(!$result)
	{
		echo"probleme";	
	}
	
		else
		{
 			echo "pas de probleme :$sql";
		}
}
?>

Re: probleme d'affichage suite a recherche

Posté : 23 sept. 2009, 02:02
par Dr@ke
Pour simplifier la recherche des erreurs, Il manque le formulaire html peut-être.

Tu définis deux variables:
$recherche=strtolower($_post['recherche']);
$ordre=($_POST['ordre']);
Doivent s'écrire:
$recherche = strtolower($_post['recherche']);
$ordre = $_POST['ordre'];
Ces deux variables ne sont pas utilisées ensuite dans le code que tu as posté mais doivent, peut-être, être insérées dans ta requête Sql:
$sql="SELECT* FROM erreur";
Ensuite:
$result=query($sql);
Doit s'écrire:
$result = mysql_query($sql);
Ensuite le script tel qu'il est ici posté, ne t'affichera aucun résultat particulier quand tout fonctionnera, mais te dira seulement:
probleme -> si la requête n'a pas fonctionné
Ou:
pas de probleme -> si la requête a fonctionné
...

Je te conseil de regarder ce lien, que je trouve assez intéressant sur les requêtes Sql:
http://www.phpdebutant.org/article66.php

Re: probleme d'affichage suite a recherche

Posté : 23 sept. 2009, 08:47
par FuZZyLine
Salut,
bonjour,
j essaye de créer un petit moteur de recherche pour mon site mais voila il ne veut rien afficher a l'écran et je ne comprend pas pourquoi j ai relue à plusieurs reprise et je n'arrive pas à trouver d ou viens le problème, je me tourne donc vers vous pour solliciter votre aide
dans la table erreur j ai rentre à la mano test .
Si le résultat est vide, 2 solutions:

- Ta recherche est effectivement infructueuse,
- Les types champs ne concordent pas

Le charset peut aussi intervenir lors de ta recherche
Dans ta procédure d'accès DB enlève tous les @...
Tente la recherche via phpMyAdmin ca aidera aussi
En index.php affiche le tableau $_POST
print_r($_POST);
Ca te donnera déja un petit peu d'explication

@+ bon code ;)

Re: probleme d'affichage suite a recherche

Posté : 23 sept. 2009, 11:10
par zyriuse75
merci pour vos reponse si precise je vais regarde sa desuite
merci pour le lien je suis deja entrain de lire et d'essayer de comprendre

Re: probleme d'affichage suite a recherche

Posté : 29 sept. 2009, 23:06
par zyriuse
bonjour
avant de venir vous revoir j ai bien lu le lien aue lon ma donnee.
j ai beau chercher d ou peu bien venir mon probleme mais je n arrive pas a trouver j ai lu plusieur tuto et je ne comprend pas pourauoi rien ne s affiche sur la page .
je me retourne donc vers vous pour re soliciter votre aide .

voici le code apres plusieur petit modification
<?php
 
	if (!empty($_POST['rechercher'])) 
{

   include ('connect_bdd.php');
// strtolower nous permet de convertir les majuscules en minuscule
		$recherche=strtolower($_POST['recherche']);
		$ordre=($_POST['ordre']);
		
// requete sql
		$sql="SELECT* FROM erreur WHERE erreur LIKE '%$recherche%' ORDER BY id";

// envoie de la requete 
	  	$result = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// boucle qui fait un tour pour chaque enregistrement 
	while($data = mysql_fetch_assoc($result))
			{
			//
			//?>
			//<a href="index.php?id=<? echo $data['erreur']; ?>"><? echo $data['erreur']; ?></a>
			//<?
			}
	if(!$result)
	               {
		    echo "blablabla";
		}
	else
	//$result ->rowcount() count le nombre de resultat de la requete
		{
		echo "<div><h2> il y a ",$result->rowcount(),"de resultat a votre requete</h2></div>";
		}	
	}
?>
merci a vous tous pour votre aide

Re: probleme d'affichage suite a recherche

Posté : 29 sept. 2009, 23:17
par Dr@ke
Il faut mettre l'affichage des résultats dans la boucle (ici le while).
La boucle ici est faites pour cela, comme il peut y avoir plusieurs résultats, au lieu d'utiliser un simple if, on utilise une boucle...
De plus ta boucle est vide à part des commentaires.

Une fois que tout fonctionnera, ta simple vérification de la variable $Post est:
if (!empty($_POST['rechercher']))
Te conseil donc de faire ensuite quelques recherches sur le forum, pour sécuriser cette variable que tu insères directement dans ta requete Sql...

Voila en gros :wink:

Re: probleme d'affichage suite a recherche

Posté : 29 sept. 2009, 23:27
par zyriuse
merci de ta reponse rapide dr@ke mais rien ne s affiche meme si j essaye de mettre un echo dans la boucle while
while($data = mysql_fetch_assoc($result))
                        {
                echo " blA BLA";
                        }
j ai toujou ma petit page blanche sniff au moin y a pas d erreur de syntaxe :D :D

Re: probleme d'affichage suite a recherche

Posté : 29 sept. 2009, 23:35
par Dr@ke
SELECT* FROM erreur WHERE erreur
Le premier erreur est le nom de la table
Le deuxième devrait être le nom du champ de la table erreur ou il doit rechercher..

Ensuite la syntaxe c'est par exemple:
echo $data['champ']; // (champ est le nom d'un champ de ta table)

Re: probleme d'affichage suite a recherche

Posté : 30 sept. 2009, 20:22
par zyriuse
je viens de faire se que tu ma conseiller dr@ke mais cela na rien changer au probleme.je vais essayer de poster mon index.php des fois que sa soit lui cause de mes probleme

Re: probleme d'affichage suite a recherche

Posté : 30 sept. 2009, 20:43
par Dr@ke
Quelque soit les conseils que je pourrait te donner , si tu ne passes pas par les petits tutoriaux de départ, cela va être compliqué.

Donc va voir ce lien, li les tutoriaux, fais les exemples, ensuite test sur ta table suivant les exemples...
D'après moi, c'est le meilleur conseil que je peux te donner :wink:

http://www.phpdebutant.org/article62.php

Re: probleme d'affichage suite a recherche

Posté : 09 oct. 2009, 02:00
par zyriuse
bonjour je viens de réussir à faire fonctionner mon petit moteur de recherche mais voila il me reste un dernier petit problème.
quand je clique sur le bouton rechercher il m'envoie sur la page recherche.php seulement voila je voudrais qu il m affiche le résultat dans ma page principale "index.php"
seulement voila je ne voie pas comment faire :lol: merci à vous de bien vouloir m aider .

index.php
<!-- declaration du champs de recherche -->
<div id="search">
	<form method="search" action="recherche.php" method="post" name="onglet-de-recherche">
			<input id="search" type="text"/>
   	 	<input type="submit" value="Rechercher"/>
   </form>
</div>