IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

pblm recherche par mot-clef - mysql_db_query


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Points : 109
    Points
    109
    Par défaut pblm recherche par mot-clef - mysql_db_query
    Bonjour,
    j'essaie d'intégrer à un formulaire un champ avec recherche par mot clef.
    Cependant, quand le formulaire est envoyé, rien ne s'affiche, ni les résultats, ni la phrase indiquant qu'il n'y a pas de résultat.
    Est-ce que qqn voit le problème ? C'est d'après une vieille discussion de ce forum.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="rech">
      <textarea name="recherche" id="recherche"></textarea>
       <input type="submit" name="ok" id="ok" value="Rechercher" />
    </form>
    <?php 
    if
    (isset($_POST['ok'])&&($_POST['ok'])=="Rechercher") 
    {
    // on se connecte à notre base 
    $base = mysql_connect ('localhost', 'xxx', 'xxx');
    mysql_select_db ('xxx', $base);
     
    	if ($recherche=="" or $recherche==" ") 
    	{ 
    	echo"Vous n'avez pas entré de mot clé." ; 
    	} 
    	else 
    	{ 
    	$recherche = $_POST['recherche']; 
    	// on passe les mots recherchés en minuscules 
    	$recherche = strtolower($recherche); 
    	$operateur="and" ; 
    	// on remplace les ' + , : par des espaces 
    	$mots = str_replace('+', ' ', trim($recherche)); 
    	$mots = str_replace('\'', ' ', $mots); 
    	$mots = str_replace(',', ' ', $mots); 
    	$mots = str_replace(':', ' ', $mots); 
    	// on place les differents mots dans un tableau 
    	$tab = explode(' ' , $mots); 
    	//on compte les éléments du tableau. 
    	$nb = count($tab); 
     
    	//on prépare la requête SQL. 
    	$sq1 = "select * from aide_ac where adresse like "; 
     
    		for($i=0 ; $i<$nb; $i++) 
    			{ 
       			if($tab[$i]!="" && strlen($tab[$i])>2) 
    				{ 
          			$sq1.='%'.$tab[$i].'% '; 
       				} 
    			} 
    	$sq1.="or description like "; 
    		for($i=0 ; $i<$nb; $i++) 
    			{ 
       			if($tab[$i]!="" && strlen($tab[$i])>2) 
    				{ 
         			 $sq1.='%'.$tab[$i].'% '; 
       				} 
    			} 
    	//requête 
    	$result = mysql_db_query(xxxx, $sq1); 
    	if ($result) 
    		{ 
    			if (mysql_num_rows($result) == 0) 
    				{ 
    				// Si pas de résultat
    				echo "Pas de Résultat"; 
    				} 
    			else 
    				{ 
    				echo "Résultat(s)"; 
    				while($row = mysql_fetch_array($result)) 
    					{ 
    				echo $row['description']; 
    				echo"<BR>" ; 
    					} 
    		 	mysql_free_result($result); 
    				} 
    		}
    	} // fin du else il y a bien un mot-clef entré
    }// fin du if le formulaire a bien été envoyé
    ?>
    En essayant continuellement on finit par réussir. Donc : plus ca rate, plus on a des chances que ca marche. Shadocks.

    un seul header par page, et pour les autres redirections : echo "<script language='javascript'>window.location.href='XXX.php'</script>";

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    C'est parce que tu définis pas $recherche au bon endroit (avant de faire le if et pas dans le else).
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Membre régulier Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Points : 109
    Points
    109
    Par défaut
    merci, mais ca ne fonctionne pas même en le définissant avant if
    En essayant continuellement on finit par réussir. Donc : plus ca rate, plus on a des chances que ca marche. Shadocks.

    un seul header par page, et pour les autres redirections : echo "<script language='javascript'>window.location.href='XXX.php'</script>";

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Montre le new code.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  5. #5
    Membre régulier Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Points : 109
    Points
    109
    Par défaut
    voilà le début du code, le reste est identique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    if
    (isset($_POST['ok'])&&($_POST['ok'])=="Rechercher") 
    {
    // on se connecte à notre base 
    $base = mysql_connect ('xxx', 'xxx', 'xxx');
    mysql_select_db ('xxx', $base);
    	$recherche = $_POST['recherche']; 
    	if ($recherche=="" or $recherche==" ") 
    	{ 
    	echo"Vous n'avez pas entré de mot clé." ; 
    	} 
    	else 
    	{ 
    	// on passe les mots recherchés en minuscules 
    	$operateur="and" ; 
    	// on remplace les ' + , : par des espaces 
    	$mots = str_replace('+', ' ', trim($recherche));
    merci de ton aide
    En essayant continuellement on finit par réussir. Donc : plus ca rate, plus on a des chances que ca marche. Shadocks.

    un seul header par page, et pour les autres redirections : echo "<script language='javascript'>window.location.href='XXX.php'</script>";

  6. #6
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Le problème c'est que quand tu valides ton FORM une page blanche arrive c'est ça ? Même le formulaire n'est plus affiché ?
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  7. #7
    Membre régulier Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Points : 109
    Points
    109
    Par défaut
    non, le formulaire reste affiché, mais je n'ai aucun message comme quoi il n'y a pas de réponse, ou comme quoi il y en a.
    le if est ok (je vois ce message d'erreur)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ($recherche=="" or $recherche==" ") 
    	{ 
    	echo"Vous n'avez pas entré de mot clé." ; 
    	} 
    {
    mais le else ensuite ne fonctionne pas
    En essayant continuellement on finit par réussir. Donc : plus ca rate, plus on a des chances que ca marche. Shadocks.

    un seul header par page, et pour les autres redirections : echo "<script language='javascript'>window.location.href='XXX.php'</script>";

  8. #8
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Ok je m'étais un peu embrouillé, fais un echo de ta requête ( echo $sql; ) pour voir ce qui est fait, et teste là dans phpmyadmin pour voir si ça fait bien ce que tu veux.

    Tu peux aussi afficher $result car le problème vient sûrement de là (il doit être à false...)
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  9. #9
    Membre régulier Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Points : 109
    Points
    109
    Par défaut
    merci, ca s'éclaircit un peu. En fait, c'est ma requête qui semble absolument pas reconnue.
    j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if ($result) 
    		{ idem que précédement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    else //pas de result
    		{echo $result; 
    		echo'blablabla';
    		echo $sql;
    		}
    et le else ne m'affiche que "blablabla"

    je vais me repencher sur l'écriture de cette requête.
    En essayant continuellement on finit par réussir. Donc : plus ca rate, plus on a des chances que ca marche. Shadocks.

    un seul header par page, et pour les autres redirections : echo "<script language='javascript'>window.location.href='XXX.php'</script>";

Discussions similaires

  1. Choix CMS présentation et recherche PDF par mots-clefs
    Par miniil dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 31/07/2012, 11h48
  2. recherche par mots clefs
    Par steph033 dans le forum Excel
    Réponses: 2
    Dernier message: 09/12/2010, 18h09
  3. Recherche par mot clef dans une feuille excel.
    Par takamo dans le forum Excel
    Réponses: 12
    Dernier message: 18/06/2008, 14h35
  4. Comment réaliser une recherche par mot clef ?
    Par mouchkar dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/09/2006, 11h48
  5. [MySQL] SQL et résultat de recherche par mot clef
    Par carelha dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/04/2006, 15h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo