Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

besoin d aide pour lancer requete mysql


Messages recommandés

Posté(e)

bonjour

j ai une question a priori tres con ( faut pas m'en vouloir)...j ai un formulaire ou je veux effectuer une recherche dans ma base (recherche pour trouver quelqu'un par son nom par exemple) la requete en elle meme fonctionne (quand je fais une page avec uniquement ma requete j'affiche bien ce que je veux) mais je ne sais pas comment la declancher en cliquant sur mon bouton ok du formulaire

merci de m aider j'espere avoir été clair

Posté(e)

Tu utilises quelle plate-forme ?

OS ? Serveur Web ? Langage ?

 

Le principe est simple : tu mets ta page comme "action" de ton formulaire de recherche, et tu construis ta requête avec les éléments transmis dans le POST ou le GET contenant les éléments du formulaire...

Posté(e) (modifié)

oui mais ily a une difference entre ce que tu me dis (qui me parait assez simple) et un moteur de recherche interne je pense?? je ne sais pas ce qui est le mieux...sans doute ta solution parce qu'en fait je n ai pas besoin d'un moteur de recherche complet puisque je ne veux que faire des lecture sur une bdd

en tout cas merci a toi

j utilise php mysql et xp sp2

Modifié par michka
Posté(e)

Qu'est-ce que tu appelles "moteur de recherche interne" ?

Tu fais une page de recherche sur un outil complet qui en a déjà une (un forum, un blog, etc.) ?

 

Tout dépend de ce que tu souhaites faire :

- si c'est uniquement pour bidouiller / apprendre

- si c'est pour faire une page qui ira s'intégrer à un site existant

- si c'est quelque chose de spécifique qui n'a pas encore été fait ailleurs

etc.

 

Si tu as déjà un "module" qui fait la recherche et que celui-ci te convient, inutile de te prendre la tête.

Si tu fais cette page juste pour apprendre à récupérer des données d'un formulaire, construire une requête et présenter les résultats, fonce ! ;-)

Posté(e)

Pour repondre a ta question je suis en phase d apprentissage et actuellement en stage dans une boite de comm. Je suis en train de faire un site complet

Quand je lance les requetes seules cela fonctionne comme je veux (requete ou j'indique le nom de la personne par exp) mais je ne sais pas comment integrer les dites requetes dans mes pages

j ai une base de donnees contenant ( entre autre) une liste de nom de personnes et le nom de leur societe. J ai un trombinoscope avec toutes les tetes et chaque photo est un lien vers une fiche detaillee de la personne avec ses coordonnees sa boite ect...)

je veux quand je tape dans le champ de recherche le nom (ou celui de la societe dans un autre champ) pouvoir recuperer les donnees concernant cette personne;dans l ideal je voudrais arriver directement sur la fiche individuelle de la personne recherchee

donc je ne sais pas si je dois faire un moteur de recherche interne (ce dont je doute) ou executer des requetes et si tel est le cas je ne sais pas ou les mettre dans mon code ni d ailleurs comment les ecrire

dois ecrire une requete nominative pour chaque personne?? et ensuite faire une recherche en comparant les noms???

voila j espere avoir été clair ...mais je n en suis pas si sur

merci

Posté(e)

Commençons par le début.

Quand je lance les requetes seules cela fonctionne comme je veux
Actuellement, tu "lances" tes requêtes de quelle façon, exactement ?

Sous quelle forme obtiens-tu le résultat ?

 

Et juste un truc rapide :

dois-je ecrire une requete nominative pour chaque personne ?
Non, surtout pas ! Le but / l'interêt du SQL embarqué dans PHP c'est que tu peux paramétrer les requêtes.
Posté(e)

je lance mes requete dans une page php specialement dediee a ca (juste pour verifier qu'elles fonctionnent)

Quand je fais une recherche generale (select * ...) j obtiens une liste de resultats; idem quand je fais "select * wherre ...from...." et comme je les essayiais je n ai pas fais de presentation particuliere mais ce n est pas ce qui m inquiete le plus

Posté(e)

tu devrais jeter un coup d'oeil dans la doc de php sur les commandes mysql...

 

en général tu commence ton code par :

$serveur = "l'url de ton serveur";
$database = "Le nom de ta base de données";
$database_user = "Ton nom d'utilisateur";
$database_pwd = "Ton mot de passe";
$table = "Le nom d'une table de données";

// Connexion et selection de la base de données
$link = mysql_connect($serveur, $database_user, $database_pwd) or die(mysql_error());  
mysql_select_db($database) or die(mysql_error());

// et ensuite tu effectue tes requêtes comme ça :
$query = "SELECT * FROM $table"; // pour récupérer toutes les entrées
$result = mysql_query($query) or die(mysql_error());

while ($une_fiche = mysql_fetch_array($result) { // récupère les données dans un tableau array()
print_r($une_fiche); // pour afficher le résultat "brut" 
}

mysql_free_query($result); // pour libérer la mémoire
mysql_close($link); // fermeture de la connexion

Posté(e)

lut,

 

Bon une réponses concrète pour changer. :P

 

C'est simple. Tu a dans tes tables sql le nom de la personne et plein d'infos.

 

Pour facilité les choses on va dire que tout les personnes de ta liste seront selectionnable en écrivant leur nom.(plus simple que même niveau codage)

 

Donc en premier lieux tu fait un formulaire de cette forme :

 

<form method='POST' action='ta_page-de_traitement_sql.php'>
<input type='text' name='nom' />
<input type='submit' value='voir le profil'/>
</form>

 

Ensuite sur ta page de traitement tu rajoute :

 

if (isset ($_POST['nom']))
{
 $nom = $_POST['nom'];

... tout tes traitements...
}

 

Cordialement,

Posté(e)

Selon l'utilité, tu peux utiliser, selon tes besoins (si j'ai bien compris ton problème), les solutions suivantes :

 

--> SELECT ... WHERE Nom = Toto

--> SELECT .... LIKE Nom=Toto (plus certain de la requête, faudrait vérifier :P )

 

Dans le premier cas, la requête sélectionnera que les insertions qui possède un nom "Toto". Dans le second, cela sélectionnera tous les utilisateurs dont le nom contient une partie appelée "Toto".

 

Ensuite, comme précisé plus haut dans le post, tu fais une boucle pour afficher tes résultats.

 

Pour finir, pour donner un avis personnel, un système d'auto-complétion (Web 2.0 --> AJAX) sera le bienvenue dans ce cas. Je n'ai pas de lien sur l'AJAX sous la main, mais je sais que sur PHPSources se trouvent quelques scripts intéressants à ce sujet.

 

VOilà, j'espère avoir répondu à ton problème :P:-P

 

Bonne journée

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...