Bonjour,
Voici mon problème. J'essaie de construire un catalogue de livres à partir d'une base de données MySQL. J'aimerais que l'on puisse effectuer une recherche dans ce catalogue via deux critères : le thème du livre (accessible par un menu déroulant) ou un champ de saisie dans lequel on peut rentrer un titre. Par défaut mon menu déroulant affiche la première catégorie de la liste (récupérée ds ma table sql). Je passe donc par un formulaire, configuré en GET.
Ma requête ne fonctionne que partiellement : si on sélectionne un thème, on a bien les ouvrages correspondants qui s'affichent. Mais je voudrais que lorsqu'on saisit un mot clé, le thème ne soit plus pris en compte.
Je ne suis pas sûr d'avoir été très clair. Voici donc mon code, peut-être y verrez-vous plus clair et pourrez-vous ainsi m'aider
Je précise également que je débute, alors soyez indulgent et aiguillez-moi plutôt que me rentrer ds le lard si je suis passé à côté d'un truc évident! Merci
Code :
- <?php
- include("../connexion.php" );
- //déclaration des variables d'URL
- if(isset($_GET['titre']))
- $titre=$_GET['titre'];
- else $titre="";
- if(isset($_GET['rubriqueID']))
- $rubriqueID=$_GET['rubriqueID'];
- else $rubriqueID="";
- //requête de récup des résultats
- $catalogue = mysql_query("SELECT * FROM articles WHERE titre='$titre' OR rubriqueID='$rubriqueID'" );
- ?>
- <body>
- <div id="contenu">
- <p>Catalogue client : </p>
- <p><form action="catalogue.php" method="get">
- Choisissez un thème <select name="rubriqueID">
- <?php
- $result = mysql_query("SELECT * FROM rubriques" );
- while ($val = mysql_fetch_array($result)) { ?>
- <option value="<? echo $val["0"]; ?>"><? echo $val["1"]; ?></option>
- <? }
- ?>
- </select>
- ou saisissez un titre
- <input type="text" name="titre" />
- <input type="submit" name="Submit" value="Afficher" />
- </form></p>
- <p>
- <?php
- //on essaie d'afficher les résultats
- while ($catalogue1 = mysql_fetch_array($catalogue))
- {
- echo $catalogue1['titre'];
- ?>
- </p>
- <?php
- }
- //mysql_close();
- ?>
- </body>
|
Message édité par Onesque le 30-05-2005 à 16:08:39