Faire une Recherche en PHP

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 : Faire une Recherche en PHP

Re: Faire une Recherche en PHP

par Sabrina tech » 22 déc. 2010, 10:29

Bjr,
Merci pour vos remarques, je vais suivre les étapes énoncé et je vous informe de mon résultat Merci encore
A+

Re: Faire une Recherche en PHP

par macgawel » 21 déc. 2010, 17:42

Bonjour.

1. Merci d'utiliser les balises/boutons de mise en forme, le code sera plus lisible...

2. Je te conseille de lire quelques tutoriels, pour comprendre comment interroger une base de données à partir de PHP.
Par exemple ICI
A vrai dire, je te conseille même d'apprendre les bases de la programmation PHP :roll:

Il y a deux points bien distincts :
- Le formulaire.
<form method="post" action="recherche.php">
<p>Titre <input type="text" name="titre" maxlength="200" size="50" />

<select name="categorie">
<option value="livre">Livre</option>
<option value="pub">Article</option>
<option value="these">Diplôme</option>
</select>

Mots Cles <input type="text" name="motscles" maxlength="200" size="50" />

Auteur <input type="text" name="auteur" size="50" />

<input type="submit" value="rechercher" name="rechercher" />
</p>
</p>
</form>
On peut l'améliorer, mais il est utilisable...

- L'interrogation de la base. Ca va se passer dans ton script recherche.php.
Commence par faire simple : Un script qui va se connecter à la base, récupérer et afficher les livres (par exemple).

Il restera à utiliser les valeurs du formulaire pour paramètrer la requête.
Le problème, c'est que tu veux faire un seul script pour trois tables différentes (les champs ne sont pas les mêmes), et en plus tu veux utiliser un système de mots clés.
C'est bien parce que si tu mets Victor Hugo en mot clé, tu récupères les livres de et sur Victor Hugo. Mais c'est complexe à mettre en place...

Pour débuter, je te conseillerais de commencer par faire simple :
Un premier formulaire pour choisir la table (avec la liste à options).
Il appelle un deuxième formulaire qui contient les champs que tu retrouves dans la table.
Ce formulaire appelle la recherche.

Au passage, ca n'a pas marché ce n'est pas clair... Qu'est-ce qui ne marche pas ?
Il y a un message d'erreur, ça ne produit pas le résultat attendu, ... ?
Et il nous manque le code PHP de ton fichier recherche.php

Re: Faire une Recherche en PHP

par Sabrina tech » 21 déc. 2010, 17:04

Salut tout le monde,

Je vous réaffiche mon formulaire car vraiment J'ai besoin de votre aide pour faire ma recherche et c urgent :

je vous explique : je veux faire une recherche dans ma base "biblio" selon la table sélectionné (Livres, Articles, ou diplomes) et selon le titre saisi, ou l'auteur et les mots clés saisis.

Voila mon formulaire :


<form method="post" action="recherche.php">
<p>Titre <input type="text" name="titre" maxlength="200" size="50" />

<select name="categorie">
<option value="livre">Livre</option>
<option value="pub">Article</option>
<option value="these">Diplôme</option>
</select>

Mots Cles <input type="text" name="motscles" maxlength="200" size="50" />

Auteur <input type="text" name="auteur" size="50" />

<input type="submit" value="rechercher" name="rechercher" />
</p>
</p>
</form>


J'ai essayer qqs exemples mais ca n'a pas marché, peut être car je suis encore débutante et il me manque quelques astuces en PHP et Mysql. Donc si vous avez une idée ou un programme pour atteindre mon résultat je l'attends.

Veuillez m'aider à faire ma recherche s'il vous plait, j'attends vos réponses c urgent.
Merci d'avance

Re: Faire une Recherche en PHP

par Sabrina tech » 20 déc. 2010, 15:48

Bon ok j'ai fais l'insertion de ce code dans mon script mais j'ai rien recu comme résultat c à d quand je fais la recherche, rien ne s'affiche comme si il n'y a aucun enregistrement malgré que le titre que j'ai saisi existe déja dans la base

Re: Faire une Recherche en PHP

par dunbar » 20 déc. 2010, 15:43

Bon en gros Switch est une série d'instructions et chaque instruction est appeler via la variable $action.
Et le code entre */ /* est un commentaire que j'avais placé pour voir le nom des champs qui étais récupérable.

Re: Faire une Recherche en PHP

par Sabrina tech » 20 déc. 2010, 15:33

Ok je suis entrain de l'excuter mais j'ai pas compris que veux tu dire par : $action ???
$action = (iSset($_GET['action']) ? $_GET['action'] : NULL );


et aussi :

case 'search':

/*
[titre] =>
[categorie] => livre
[motscles] =>
[auteur] =>
[rechercher] => rechercher
*/
J'ai pas compris cette partie du code saisi

Re: Faire une Recherche en PHP

par dunbar » 20 déc. 2010, 15:22

Le code en exemple devrait fonctionner, mais a toi quand même d'écrire les noms des champs de TABLE de la même manière que ceux qui sont dans tes tables.

Re: Faire une Recherche en PHP

par Sabrina tech » 20 déc. 2010, 15:19

Je vous decrit ce que je pense faire mais j'arrive pas à le faire :

Selon la catégorie : si catégorie = "livre" alors ma recherche se fais dans la table livres , si le titre ou l'auteur selectionné, ou les mots clés saisis existent dans la tables livres alors on affiche le résultats si non afficher un message d'erreur.

et de meme pour les autres tables Articles et Diplomes .

Pouvez vous m'aider à faire ce code ????

Re: Faire une Recherche en PHP

par Sabrina tech » 20 déc. 2010, 15:12

le logiciel que j'utilise pour créer mes bases est : phpMyAdmin

J'ai pas trouver la commande Describe


La base Biblio, contient 3 tables : Livres articles et Diplomes

Les champs de la base Livres sont : Titre, Auteur, Cote, Maison d edition, Date d edition, Lieu d edition, Page, Format, Inventaire, ISBN, Mots cles, resume, Image

Les champs de la base articles sont : Titre, Auteur, Laboratoire, Annee de parution, Langue,ISSN, Mots cles, resume, PDF

Les champs de la base Diplomes sont : Titre, Auteur, Genre, Cote, Inventaire, Mots cles, resume,

J'espère que c claire

Re: Faire une Recherche en PHP

par moogli » 20 déc. 2010, 14:49

utilise phpmyadmin pour faire un dump de la table, la commande describe si tu sais utiliser une console mysql.

@+

Re: Faire une Recherche en PHP

par dunbar » 20 déc. 2010, 13:48

ok mais pourrez vous me dire comment vous afficher la structure de ma table ???
Ou simplement les champs de la tables alors !

Re: Faire une Recherche en PHP

par Sabrina tech » 20 déc. 2010, 13:35

ok mais pourrez vous me dire comment vous afficher la structure de ma table ???

Re: Faire une Recherche en PHP

par dunbar » 20 déc. 2010, 13:31

Merci mais c pas ca mon but et mon problème ,
j'arrive pas à faire ma recherche selon la catégorie (livre, diplome ou article) je sais pas comment le faire
S'il vous plait aider moi je dois trouver une solution le plus tot possible
merci
Tu pourrais mettre la structure de ta/tes table(s)

Re: Faire une Recherche en PHP

par Sabrina tech » 20 déc. 2010, 13:13

Merci mais c pas ca mon but et mon problème ,
j'arrive pas à faire ma recherche selon la catégorie (livre, diplome ou article) je sais pas comment le faire
S'il vous plait aider moi je dois trouver une solution le plus tot possible
merci

Re: Faire une Recherche en PHP

par moogli » 20 déc. 2010, 11:53

cherche dans la doc de mysql
- like
- soundex
- match / against

@+