Recherche dans une table sql à partir des mots clés générés

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 : Recherche dans une table sql à partir des mots clés générés

Re: Recherche dans une table sql à partir des mots clés générés

par orell1 » 25 févr. 2011, 01:41

Oh pas de problème, c'est déjà très gentil de m'aider. :wink:

Merci pour tes encouragements!

Re: Recherche dans une table sql à partir des mots clés générés

par Stef » 25 févr. 2011, 01:23

Pas de quoi! :D

Je reviens un peu tard, mais des gens compétents s'occupent de toi, pas de souci! Tu vas y arriver... : )

Re: Recherche dans une table sql à partir des mots clés générés

par orell1 » 25 févr. 2011, 01:16

Merci.
Je vais me pencher sur tout ça.
Avec un peu de patience je devrais y arriver...

Je vous tiens au courant et encore merci!

Re: Recherche dans une table sql à partir des mots clés générés

par moogli » 25 févr. 2011, 00:24

vu que ta requête est entre des " tu souhaite que php ce démerde tous seul pour trouver les variables.
Pas de bol tu peut arriver à la limite de ce que php peut faire car la il ne sais pas s'il doit utiliser $mot_clef ou mot_clef_option, il prend mot_clef ^^

deux solutions
utiliser des {} pour les variables ou utiliser des ' pour délimiter la chaine et utiliser la concaténation :)

par exemple
$c = 'une chaine '.$variable.' et du blabla';
ou
$c = "une chaine ${variable} et du blabla';

il y a deux variables non déclarées dans ton script

de plus la syntaxe du lien n'est pas bonne
echo '<a href="module_recherche.php='.urlencode($donnees['mot_cles']).'" title="Lancer une nouvelle recherche">'.stripslashes($donnees['mot_cles']).'</a>';

une url serait plus module_recherche.php?motclef='.urlencode($donnees['mot_cles']).'" etc

@+

Re: Recherche dans une table sql à partir des mots clés générés

par orell1 » 24 févr. 2011, 23:51

pas d'idées?

Re: Recherche dans une table sql à partir des mots clés générés

par orell1 » 24 févr. 2011, 19:44

Même résultat avec E_ALL | E_STRICT
#-o

Re: Recherche dans une table sql à partir des mots clés générés

par stealth35 » 24 févr. 2011, 19:27

Bon, ben si ça marche et que tu obtiens le résultat voulu, tant mieux! :)

Si tu veux déboguer tes codes, affiche les erreurs, soit en configurant php, soit en mettant ça au début de tes fichiers:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
E_ALL | E_STRICT
ou -1

:wink:

Re: Recherche dans une table sql à partir des mots clés générés

par orell1 » 24 févr. 2011, 18:41

voici les erreurs...

Notice: Undefined variable: mots_cles in /homez.333/attels/www/DOSSIER/afficher.php on line 779

Notice: Undefined variable: mots_cles_option in /homez.333/attels/www/DOSSIER/afficher.php on line 780

Notice: Undefined index: mot_cles in /homez.333/attels/www/DOSSIER/afficher.php on line 784

Ligne 779
WHERE activite like '%".$activite."%' AND code_postal like '%".$code_postal."%' AND mots_cles like '%".$mots_cles."%'
Ligne 780
AND  mots_cles_option like '%".$mots_cles_option."%'");
Ligne 784
echo '<a href="module_recherche.php='.urlencode($donnees['mot_cles']).'" title="Lancer une nouvelle recherche">'.stripslashes($donnees['mot_cles']).'</a>';
Merci

Re: Recherche dans une table sql à partir des mots clés générés

par Stef » 24 févr. 2011, 13:09

Teste en affichant les erreurs et dis-moi ce qu'il en retourne...

Re: Recherche dans une table sql à partir des mots clés générés

par orell1 » 24 févr. 2011, 12:32

Non justement ça ne fonctionne pas.... Lol :lol:

Re: Recherche dans une table sql à partir des mots clés générés

par Stef » 24 févr. 2011, 12:21

Bon, ben si ça marche et que tu obtiens le résultat voulu, tant mieux! :)

Si tu veux déboguer tes codes, affiche les erreurs, soit en configurant php, soit en mettant ça au début de tes fichiers:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>

Re: Recherche dans une table sql à partir des mots clés générés

par orell1 » 24 févr. 2011, 12:10

En fait ça se présente comme ça lorsque je lance une recherche
$conn = db_connect();
  	$sql = "SELECT * 
	FROM entreprises_coordonnees
	LEFT JOIN entreprises_dossiers ON entreprises_dossiers.num_client=entreprises_coordonnees.num_client
	WHERE activite like '%".$activite."%' AND code_postal like '%".$code_postal."%' AND mots_cles like '%".$mots_cles."%' AND mots_cles_option like '%".$mots_cles_option."%'"; 
  	$resultat = mysql_query($sql, $conn);
  	$result = mysql_query($sql, $conn);
AFFICHAGE DU RESULTAT
while ($active = mysql_fetch_array($resultat)) {
		
	  		echo '<li><a href=\'afficher_resultat.php?nom_entreprise='.stripslashes(mb_strtoupper($active[nom_entreprise])).'\'>'.mb_strtoupper($active[nom_entreprise]).'</a>';
Et une fois que le résultat est affiché, on peut cliquer sur le lien généré par la recherche lancé.
Lorsque l'on clique sur le lien généré par la recherche (LE RESULTAT DE RECHERCHE) on arrive sur une fiche regroupant toutes les infos concernant l'entreprise en question dont les mots clés...

	$conn = db_connect();
  	$sql = "SELECT * FROM ".IGSW_ENTREPRISES_DOSSIERS." WHERE num_client = '$num_client'"; 
  	$result = mysql_query($sql, $conn);

while ($aff_donnee_entreprise = mysql_fetch_array($result)) {


<table border="0" align="center" cellspacing="1" cellpadding="1" width="100%" style="margin-top:-20px;">

  <?php if ($aff_donnee_entreprise["mots_cles"]) { ?>
<h5 style="color:#1e297c"><b><u>Mots Cl&eacute;s</u></b></h5>
<ul>
<li style="margin-left:-25px;"><b class="titre">Mots Cl&eacute;s principaux : </b><font size="2" face="verdana"> <?php echo stripslashes($aff_donnee_entreprise["mots_cles"]); ?></font></li>
</ul>
<?php } ?>
<ul>
<?php if ($aff_donnee_entreprise["mots_cles_option"]) { ?>
<li style="margin-left:-25px; margin-top:-10px;"><b class="titre" >Autres : </b><font size="2" face="tahoma" ><?php echo stripslashes($aff_donnee_entreprise[mots_cles_option]); ?></font></li>
</ul>
<?php 
  }
}  
?>

</table>
Voila. sinon j'ai essayé d'adapter ton code mais : echo '<a href="module_recherche.php='.urlencode($donnees['mot_cles']).'" title="Lancer une nouvelle recherche">'.stripslashes($donnees['mot_cles']).'</a>';
ne s'affiche pas...

Merci beaucoup!

Re: Recherche dans une table sql à partir des mots clés générés

par Stef » 24 févr. 2011, 07:46

plutôt mysql_fetch_assoc non ?
Je m'étais pas posé la question vu que j'utilise jamais la fonction list...

Sur la doc php y a un exemple avec mysql_fetch_row

http://fr.php.net/manual/fr/function.list.php

Merci pour la remarque stealth ;)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
je viens de regarder mais je n'arrive pas à l'adapter à ce résultat... Peux-tu m'aider stp..?
<?php if ($aff_donnee_entreprise["mots_cles"]) { ?>
<h5 style="color:#1e297c"><b><u>Mots Cl&eacute;s</u></b></h5>
<ul>
<li style="margin-left:-25px;"><b class="titre">Mots Cl&eacute;s principaux : </b><font size="2" face="verdana"> <?php echo stripslashes($aff_donnee_entreprise["mots_cles"]); ?></font></li>
</ul>
<?php } ?>
Est-ce que $aff_donnee_entreprise résulte de la requête que tu donnes après? Comment crées-tu ton tableau contenant $aff_donnee_entreprise, comme dans le code de ton 1er post?

Par ailleurs pourquoi tu fais 2 mysql_query avec la chaine $sql?
Ma connexion à la base pour lancer une recherche :
$resultat = mysql_query($sql, $conn);
$result = mysql_query($sql, $conn);

Je te propose ça, en considérant que tu veux générer des liens pour la recherche à partir du contenu de la colonne mots_cles de ta table (et en considérant aussi que ce que contient ta variable $sql est correct):
$sql = mysql_query("SELECT * 
	FROM entreprises_coordonnees
	LEFT JOIN entreprises_dossiers ON entreprises_dossiers.num_client=entreprises_coordonnees.num_client
	WHERE activite like '%".$activite."%' AND code_postal like '%".$code_postal."%' AND mots_cles like '%".$mots_cles."%' 
        AND  mots_cles_option like '%".$mots_cles_option."%'"); 

while ($donnees = mysql_fetch_array($sql)) {

    echo '<a href="./recherche.php?motscles='.urlencode($donnees['mot_cles']).'" title="Lancer une nouvelle recherche">'.stripslashes($donnees['mot_cles']).'</a>';

}
En complément voici la doc php sur la fonction urlencode dont tu auras besoin dans ce cas (regarde les exemples sur la page, ça t'aidera):

http://fr.php.net/manual/fr/function.urlencode.php

Re: Recherche dans une table sql à partir des mots clés générés

par orell1 » 24 févr. 2011, 02:08

Merci.

je viens de regarder mais je n'arrive pas à l'adapter à ce résultat... Peux-tu m'aider stp..?

Merci beaucoup!
<?php if ($aff_donnee_entreprise["mots_cles"]) { ?>
<h5 style="color:#1e297c"><b><u>Mots Cl&eacute;s</u></b></h5>
<ul>
<li style="margin-left:-25px;"><b class="titre">Mots Cl&eacute;s principaux : </b><font size="2" face="verdana"> <?php echo stripslashes($aff_donnee_entreprise["mots_cles"]); ?></font></li>
</ul>
<?php } ?>
Les mots clés correspondent aux activités de l'entreprise...

Ma connexion à la base pour lancer une recherche :
$conn = db_connect();
  	$sql = "SELECT * 
	FROM entreprises_coordonnees
	LEFT JOIN entreprises_dossiers ON entreprises_dossiers.num_client=entreprises_coordonnees.num_client
	WHERE activite like '%".$activite."%' AND code_postal like '%".$code_postal."%' AND mots_cles like '%".$mots_cles."%' AND mots_cles_option like '%".$mots_cles_option."%'"; 
  	$resultat = mysql_query($sql, $conn);
  	$result = mysql_query($sql, $conn);
Merci

Re: Recherche dans une table sql à partir des mots clés générés

par stealth35 » 24 févr. 2011, 01:55

Hello,

génère tes liens dans ta boucle:
<?php
// affichage du résultat
while(list($colonne1, $colonne2)=mysql_fetch_array($sql)){
echo '<a href="./recherche.php?col1='.$colonne1.'&col2='.$colonne2.'" title="Lancer une nouvelle recherche">'.$colonne1.', '.$colonne2.'</a>';
}
?>
plutôt mysql_fetch_assoc non ?