recherche a partir de lien

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 a partir de lien

Re: recherche a partir de lien

par moogli » 27 oct. 2011, 16:25

heu t'a compris ce que fait la requête ?

autant commencer par la :)

@+

Re: recherche a partir de lien

par squallblanc » 26 oct. 2011, 17:03

Merci pour ta réponse mais je n'est pas tout compris pour le code :
SELECT pere.id idpere,pere.nom nompere, enfant.id idenfant, enfant.nom nom enfant
FROM adherent pere
LEFT JOIN adherent enfant ON pere.id = enfant.id_profession;
Je dois m'en servir comment de cette requette ?

Re: recherche a partir de lien

par moogli » 26 oct. 2011, 14:23

salut,

tu veux afficher automatiquement les sous catégories en fonction du choix ?

tu peux soit faire une auto jointure (peux propre dans ce cas car tu récupère aussi le nom du père pour chaque enfant.)
exemple :
select pere.id idpere,pere.nom nompere, enfant.id idenfant, enfant.nom nom enfant 
from adherent pere
left join adherent enfant on pere.id = enfant.id_profession;
si j'me suis pas gouré :)

soit simplement une seconde requête avec un where qui spécifie le père.

Après lorsque tu a la sous catégorie tu a forcément le père.

j'espère pas être trop a coté de la plaque, la question étant pas trop claire ;)


@+

Re: recherche a partir de lien

par squallblanc » 25 oct. 2011, 22:22

Alors je voudrais faire evoluer mon script tel qu'il est actuellement quand je clique sur mon lien j'affiche le contenue de ma catégorie. Ce que je voudrais pouvoir afficher le contenue de ma sous catégorie sur ce même script.
Ma table contiens les champs suivant : id, nom, idprofession
idprofession contiens l'id de son parent pour les sous catégorie.

J'ai essayer de mettre un 2eme $_get mais ca ne fonctionne que pouvez vous me conseiller?
merci

Re: recherche a partir de lien

par squallblanc » 23 oct. 2011, 12:52

merci pour ta réponse c'est vrais que j'y avais pas pensé!! :D
Voilas mon nouveau code ca peu etre aider quelqu'un d'autre
<?php
if(isset($_GET['idProfession']))
{
$pro = $_GET['idProfession'];	
//On nettoie un peut la requête
//$requete = trim(stripcslashes(htmlspecialchars($_POST['requete'])));
 
//On se connecte à la base de données
//include('connexion_bd.php');
 
mysql_connect("localhost","root","");
mysql_select_db("site") or die('Impossible de s&eacute;lectionner une base de donn&eacute;e. Assurez vous d\'avoir correctement remplit les donn&eacute;es du fichier connexion_bd.php.');
 
$sql = "SELECT id,societe,adresse,ville FROM adherent WHERE idProfession LIKE '%$pro%'";
$query = mysql_query($sql) or die (mysql_error());
 
//On utilise la fonction mysql_num_rows pour compter les résultats
$nb_resultats = mysql_num_rows($query);
//Si le nombre de résultats est différent de 0, on continue
if($nb_resultats != 0)
{
//On affiche le nombre de résultats
echo 'Il existe <b>'.$nb_resultats.'</b>';
if($nb_resultats > 1)
// on vérifie le nombre de résultats pour orthographier correctement.
{
echo ' r&eacute;sultats';
}
else
{
echo ' r&eacute;sultat';
}
echo ' pour votre recherche "<b>'.$requete.'</b>" trouv&eacute; :<br/>';
//On attribue un chiffre pour chaque enregistrement trouvé
$i = "1";
//On boucle pour afficher la liste des enregistrements trouvés
while($donnees = mysql_fetch_array($query))
{
echo '<div class="cadre"><big><big>'.$i.'-<a title="'.$donnees['societe'].'" href="vitrine.php?id='.$donnees['id'].'">'.$donnees['societe'].'</a></big></big><br/><p>'.$donnees['descriptif'].'</p></div>';
$i++;
}
//on ferme if($nb_resultats > 1)
}
//Si il n'y a rien
else {
echo '<p>Nous n\'avons trouv&eacute; aucun r&eacute;sultats pour votre recherche "<b>
'.$requete.'</b>" !</p>';
}
//On ferme if(isset($_POST['requete'])
}
//On ferme mysql

?>

<a href="rech.php?idProfession=407">Sport</a>

Re: recherche a partir de lien

par xTG » 23 oct. 2011, 08:32

En gros tu ne veux plus passer par un formulaire mais par un lien avec une variable de recherche qui serait statique ?
Il suffit d'exploiter une variable $_GET au lieu de $_POST et de mettre dans ton lien la valeur de recherche. :)

recherche a partir de lien

par squallblanc » 22 oct. 2011, 21:55

Bonsoir a tous,
j'ai un script php qui me permet de faire des recherches à partir de mots clés il fonctionne parfaitement mais je voudrais l'améliorer pour pouvoir effectuer les recherche directement à partir des liens d'un menu.
Voici le code de mon moteur :
<?php
if(isset($_POST['submit']))
{
//On nettoie un peut la requête
$requete = trim(stripcslashes(htmlspecialchars($_POST['requete'])));
 
//On se connecte à la base de données
//include('connexion_bd.php');
 
mysql_connect("localhost","root","");
mysql_select_db("site") or die('Impossible de s&eacute;lectionner une base de donn&eacute;e. Assurez vous d\'avoir correctement remplit les donn&eacute;es du fichier connexion_bd.php.');
 
$query = mysql_query("SELECT id,societe,descriptif,activites FROM adherent WHERE societe 
REGEXP '[[:<:]]".mysql_real_escape_string($requete)."[[:>:]]' OR descriptif 
REGEXP '[[:<:]]".mysql_real_escape_string($requete)."[[:>:]]' OR activites 
REGEXP '[[:<:]]".mysql_real_escape_string($requete)."[[:>:]]' ORDER BY id ASC") 
or die (mysql_error()); 
 
//On utilise la fonction mysql_num_rows pour compter les résultats
$nb_resultats = mysql_num_rows($query); 
//Si le nombre de résultats est différent de 0, on continue
if($nb_resultats != 0) 
{
//On affiche le nombre de résultats 
echo 'Il existe <b>'.$nb_resultats.'</b>'; 
if($nb_resultats > 1) 
// on vérifie le nombre de résultats pour orthographier correctement. 
{ 
echo ' r&eacute;sultats'; 
} 
else 
{ 
echo ' r&eacute;sultat'; 
} 
echo ' pour votre recherche "<b>'.$requete.'</b>" trouv&eacute; :<br/>';
//On attribue un chiffre pour chaque enregistrement trouvé
$i = "1";
//On boucle pour afficher la liste des enregistrements trouvés
while($donnees = mysql_fetch_array($query)) 
{
echo '<div class="cadre"><big><big>'.$i.'-<a title="'.$donnees['societe'].'" href="page.php?id='.$donnees['id'].'">'.$donnees['societe'].'</a></big></big><br/><p>'.$donnees['descriptif'].'</p></div>';
$i++;
}
//on ferme if($nb_resultats > 1)
}
//Si il n'y a rien
else {
echo '<p>Nous n\'avons trouv&eacute; aucun r&eacute;sultats pour votre recherche "<b>
'.$requete.'</b>" !</p>';
}
//On ferme if(isset($_POST['requete'])
}
//On ferme mysql

?>

<h1>Recherches</h1>
<form method="post" action="rech.php">
<p><input size="20" name="requete" value="" type="text"/>
<input value="Rechercher" name="submit" type="submit"/></p>
</form>
</div>
Voilas si vous pouviez me donner quelques explications pour créer çà, ca serais super.
Merci a vous