Affichage de données selon choix du visiteur

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par GhostShell, 28 Mai 2006.

  1. GhostShell
    GhostShell Nouveau WRInaute
    Inscrit:
    26 Janvier 2006
    Messages:
    13
    J'aime reçus:
    0
    Bonjour ...

    je suis en train de developper un script mais je bloque ...

    je voudrais faire un affichage des données d'une table mais en fonction d'un choix possible pour le visiteur ... exemple il a deux listes deroulantes et on affiche selon les options des listes ... avec un affichage par defaut qui n'est pas dans les listes ...

    je sais pas du tout comment faire cela ... qqun pourrais me mettre sur la voie ?

    mon formulaire d'ajout de données dans la table est deja réalisé et fonctionne parfaitement ...

    Code:
    <body>
                <form method="post" action="ajout.php">
                      <div align="center">
                        <p>&nbsp;</p>
                        <p class="Style1">Ajout d'une astuce </p>
                        <table align="center" width="80%" border="0">
                          <tr align="right">
                            <td colspan="2" valign="middle"><div align="center">
                              <p>Titre :
                                <input name="titre" type="text" value="Titre de l'astuce ..." size="80" maxlength="255" />
                              </p>
                              </div></td>
            </tr>
                          <tr align="center" valign="middle">
                            <td width="49%" align="right" valign="middle"><div align="center">
                              <p>Catégorie :
                                <select name="categorie">
                                  <option value="optimisation">Optimisation</option>
                                  <option value="systeme">Système</option>
                                  <option value="securite">Sécurité</option>
                                  <option value="internet">Internet</option>
                                  <option value="reseau">Réseau</option>
                                  <option value="personalisation">Personalisation</option>
                                  <option value="autres">Autres</option>
                                </select></p>
                              </div></td>
              <td width="51%" align="center" valign="middle"><div align="center">
                <p>O.S. :
                          <select name="os">
                              <option value="winnt">Windows NT</option>
                              <option value="win2k">Windows 2000</option>
                              <option value="winxphome">Windows XP Familial</option>
                              <option value="winxppro">Windows XP Pro</option>
                              <option value="win2003serveur">Windows 2003 Serveur</option>
                              <option value="win98">Windows 98</option>
                              <option value="win95">Windows 95</option>
                        </select></p>
                </div></td>
            </tr>
                    <tr align="center">
                            <td colspan="2" valign="middle">
                                    <div align="center">
                                    <textarea name="preview" rows="5" cols="90">Preview ici.</textarea>
                                    </div>
                                    </td>
                      </tr>
                          <tr align="right">
                            <td colspan="2" valign="middle"><div align="center">
                              <p>
                                <textarea name="contenu" rows="20" cols="90">Votre astuce ici.</textarea>
                              </p>
                <p><input type="submit" value="Ajouter" /></p>
              </div></td>
            </tr>
                        </table>
                  </div>
                </form>
                   
                    <?php
    mysql_connect("******", "*******", "****");
    mysql_select_db("*********");
    
    $preview = nl2br($preview); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
    
    $contenu = nl2br($contenu); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
    
    mysql_query("INSERT INTO astuces VALUES('', '" . $titre . "', '" . $preview . "', '" . $contenu . "', '" . $categorie . "', '" . $os . "')");
    mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
    ?>
    </body>
    
    Merci d'avance
     
  2. schtroumpf
    schtroumpf WRInaute occasionnel
    Inscrit:
    26 Octobre 2003
    Messages:
    347
    J'aime reçus:
    0
    Si j'ai bien compris, c'est une sorte de moteur de recherche que tu veux faire.
    Ce n'est pas compliqué :
    - tu crée un formulaire avec les listes pour que l'utilisateur choisisse l'(les)item(s) qu'il veut voir.
    - tu récupère les donnée du formulaire
    - tu récupère les données voulues via une requète :
    Code:
    SELECT * FROM table1, table2, ... WHERE param1='donnée_formulaire1', param2='donnée_formulaire2'
    - tu affiches les données.

    Arnaud
     
  3. GhostShell
    GhostShell Nouveau WRInaute
    Inscrit:
    26 Janvier 2006
    Messages:
    13
    J'aime reçus:
    0
    merci pour cette reponse .. je n'ai pas le temps de voir ca haujourd'hui ... peut etre ce soir ... je te tient au courrant ...
     
  4. GhostShell
    GhostShell Nouveau WRInaute
    Inscrit:
    26 Janvier 2006
    Messages:
    13
    J'aime reçus:
    0
    j'ai essayer de travailler sur mon script mais j'ai encore qques soucis ..

    voila le code de la page affichage.php

    Code:
    <body>
    <form method="post" action="affichage.php">
    <table width="100%" border="0">
      <tr>
        <td align="center" height="50" colspan="2">Catégorie :
          <select name="choix1">
            <option value="all" selected="selected">toutes</option>
                  <option value="optimisation">Optimisation</option>
                  <option value="systeme">Syst&egrave;me</option>
                  <option value="securite">S&eacute;curit&eacute;</option>
                  <option value="internet">Internet</option>
                  <option value="reseau">R&eacute;seau</option>
                  <option value="personalisation">Personalisation</option>
                  <option value="autres">Autres</option>
              </select>
        <br />
          O.S. :
            <select name="choix2">
              <option value="all" selected="selected">tous</option>
                  <option value="winnt">Windows NT</option>
                  <option value="win2k">Windows 2000</option>
                  <option value="winxphome">Windows XP Familial</option>
                  <option value="winxppro">Windows XP Pro</option>
                  <option value="win2003serveur">Windows 2003 Serveur</option>
                  <option value="win98">Windows 98</option>
                  <option value="win95">Windows 95</option>
            </select>
    		<br />
    		<input type="submit" value="Ok" />
          </td>
      </tr>
      <tr>
        <td width="44%" height="287" align="left" valign="middle">
    <?php
    mysql_connect("localhost", "********", "********");
    mysql_select_db("********");
    
    $reponse = mysql_query('SELECT * FROM astuces WHERE $choix1, $choix2');
    
    while ($donnees = mysql_fetch_array($reponse))
    {
        echo '<p>' . $donnees['categorie'] . ' <br />' . $donnees['os'] . ' <br />' . $donnees['preview'] . ' <br />' . $donnees['titre'] . ' <br />' . $donnees['contenu'] . '</p>';
    }
    
    mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
    ?>
    </td>
      </tr>
    </table>
    </form>
    </body>
    
    suite a ca il me met l'erreur :
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\www\optim-pc.com\htdocs\astuces\affichage.php on line 47 qui est la ligne :
    Code:
    while ($donnees = mysql_fetch_array($reponse))
    
    je ne vois quel argument pourrait etre invalid ... qqun vois mon erreur ?

    merci d'avance
     
  5. schtroumpf
    schtroumpf WRInaute occasionnel
    Inscrit:
    26 Octobre 2003
    Messages:
    347
    J'aime reçus:
    0
    A mon avis, c'est ta requète qui n'est pas bonne. Du coup mysql_query renvoit 'false'.
    Dans la clause WHERE, sépare les tests par AND à la place de la virgule.

    Arnaud
     
  6. GhostShell
    GhostShell Nouveau WRInaute
    Inscrit:
    26 Janvier 2006
    Messages:
    13
    J'aime reçus:
    0
    j'ai fais ce que tu m'as dit et rien ... toujours une erreur ...

    j'ai essayer le code
    Code:
    $reponse = mysql_query('SELECT * FROM astuces WHERE categorie='$choix1' AND os='choix2' ');
    
    Parse error: syntax error, unexpected T_VARIABLE

    et

    Code:
    $reponse = mysql_query('SELECT * FROM astuces WHERE categorie=$_POST['choix1'] AND os=$_POST['choix2'] ');
    
    Parse error: syntax error, unexpected T_STRING
     
  7. GhostShell
    GhostShell Nouveau WRInaute
    Inscrit:
    26 Janvier 2006
    Messages:
    13
    J'aime reçus:
    0
    j'ai mis la ligne suivante :

    Code:
    $reponse = mysql_query('SELECT * FROM astuces WHERE categorie="$choix1" AND os="$choix2" ');
    
    et plus d'erreur ...

    par contre je n'ai pas d'affichage de mes donnees ...

    j'ai ceci juste apres ma requete :

    Code:
    while ($donnees = mysql_fetch_array($reponse))
    {
        echo '<p>' . $donnees['categorie'] . ' <br />' . $donnees['os'] . ' <br />' . $donnees['titre'] . ' <br />' . $donnees['preview'] . ' <br />' . $donnees['contenu'] . '</p>';
    }
    mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
    ?>
    
    je vois pas trop ou ca coince non plus lol
     
  8. schtroumpf
    schtroumpf WRInaute occasionnel
    Inscrit:
    26 Octobre 2003
    Messages:
    347
    J'aime reçus:
    0
    Ok, y'avait un problème avec les " et '. Essaie de te familiariser avec leur emploi, ça t'évitera bien des problèmes par la suite.

    Pour le dernier point, je ne vois pas. Ta requète est bien censée donner un résultat non-vide?

    Arnaud
     
  9. GhostShell
    GhostShell Nouveau WRInaute
    Inscrit:
    26 Janvier 2006
    Messages:
    13
    J'aime reçus:
    0
    en principe j'affiche les donnees en fonction des choix 1 et 2 ...

    je ne dois pas avoir de resultat vide ...
     
  10. GhostShell
    GhostShell Nouveau WRInaute
    Inscrit:
    26 Janvier 2006
    Messages:
    13
    J'aime reçus:
    0
    j'ai trouver pourquoi je n'avais pas d'affichage ...

    j'ai changer ma requete et ca fonctionne ...

    Code:
    $reponse = mysql_query("SELECT * FROM `astuces` WHERE `categorie`='".$choix1."' AND `os`='".$choix2."'");
    
    reste a faire l'affichage par defaut qd le visiteur arrive et avant qu'il fasse un choix :)
     
  11. DaMonkey
    DaMonkey WRInaute discret
    Inscrit:
    20 Février 2004
    Messages:
    77
    J'aime reçus:
    0
    après ta requête, met ce code afin de voir ou se trouve l'erreur :

    Code:
    $reponse = mysql_query("SELECT * FROM `astuces` WHERE `categorie`='".$choix1."' AND `os`='".$choix2."'") OR die ("Impossible d'exécuter la requête : ".mysql_error());
    Et vois où est le problème...
     
  12. GhostShell
    GhostShell Nouveau WRInaute
    Inscrit:
    26 Janvier 2006
    Messages:
    13
    J'aime reçus:
    0
    en fait je n'ai plus de probleme a proprement parler :)

    pour l'instant tout fonctionne ...

    il faut juste que j'affiche tous les champs "titres" sur la page a l'arrivee du visiteur avant qu'il fasse un choix ... ce qui m'amene a la question ...

    une variable de formulaire est elle vide par defaut ? avant de faire un choix et valider par le bouton ...

    si oui je pense savoir comment faire mon petit shmilblique :p
     
  13. schtroumpf
    schtroumpf WRInaute occasionnel
    Inscrit:
    26 Octobre 2003
    Messages:
    347
    J'aime reçus:
    0
    Pour les input, le paramètre value="valeur" est le texte qui sera présent dans la case. P. ex
    Code:
    <input type="text" name="input1" value="valeur1" />
    affichera "valeur1" dans la case.

    Pour les textarea, c'est différent et de la forme :
    Code:
    <textarea name="textarea1">ton texte</textarea>
    Et pour les select, il faut ajouter selected dans l'option sélectionnée par défaut :
    Code:
    <select name="select1">
    <option value"valeur1">valeur1</option>
    <option value"valeur2" selected>valeur2</option>
    <option value"valeur3">valeur3</option>
    </select>
    L'option 2 sera sélectionnée par défaut.

    Arnaud
     
  14. GhostShell
    GhostShell Nouveau WRInaute
    Inscrit:
    26 Janvier 2006
    Messages:
    13
    J'aime reçus:
    0
    pour moi tout ca c'est bon c'est déjà fait ... ce que je voulais savoir c'est lorsque la page est chargée et avant que le visiteur fasse un choix dans les listes et valide, une variable prends elle une valeur ou est-elle vide ? ... ou $variable == NULL si tu préfères ...
     
  15. GhostShell
    GhostShell Nouveau WRInaute
    Inscrit:
    26 Janvier 2006
    Messages:
    13
    J'aime reçus:
    0
    merci pour vos reponses ... mais j'ai fini par trouver ce que je voulais savoir ...
     
Chargement...
Similar Threads - Affichage données choix Forum Date
Affichage des données démographiques Google Analytics 10 Mai 2022
Absence d'affichage de données dans tableau de bord Analytics Google Analytics 25 Juin 2021
données "portée" et "affichage" des vidéos sur Hootsuite Facebook 15 Décembre 2020
Astuce pour continuer l'affichage des étoiles dans les SERP de GOOGLE: balises de données structurée Référencement Google 6 Janvier 2020
trie et affichage de données xml externe Développement d'un site Web ou d'une appli mobile 11 Mai 2012
Base de données : affichage en deux colonnes Administration d'un site Web 4 Janvier 2010
Questions l'affichage de données php Développement d'un site Web ou d'une appli mobile 28 Septembre 2009
Besoin d'aide pour une requête MySQL jointe + affichage (hiérarchisation de données) Développement d'un site Web ou d'une appli mobile 20 Juillet 2009
Menus déroulants et affichage données présentes dans BDD Développement d'un site Web ou d'une appli mobile 28 Octobre 2008
Search Console Comment réparer l'affichage de Google dans la mauvaise balise de description Meta ? Problèmes de référencement spécifiques à vos sites 19 Août 2022
WordPress Problème affichage style avec Elementor (titre, bordures, separateur) Administration d'un site Web 8 Août 2022
Le simple affichage de ma page déclenche les événements onClick... Merci Google Analytics 17 Mai 2022
Problème d'affichage des campagnes Google Ads dans un tableau de bord Data Studio AdWords 26 Avril 2022
Problème de vitesse d'affichage des pages sur Analytics Google Analytics 26 Avril 2022
Problème affichage Meta Title, Desc ... Débuter en référencement 20 Janvier 2022
Google chrome : affichage incomplet Google : l'entreprise, les sites web, les services 18 Janvier 2022
redirection permanente et affichage URL Rewriting et .htaccess 3 Janvier 2022
Virtuemart : affichage des poids et dimensions e-commerce 8 Février 2021
Référencement url sur Google - Affichage positions sur mobile différents d'un OS à un autre ? Référencement Google 7 Août 2020
En test : affichage des informations de licence dans Google Images YouTube, Google Images et Google Maps 28 Février 2020