Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lister les tutos sous forme de tableau

    25 novembre 2005 à 8:10:20

    Bonjour à tous les lèves-tot ! :p

    Je voudrais savoir comment lister les différents tutos de mon site dans un tableau à la maniere du sdz. Seulement je ne vois pas comment faire. Je me vois mal faire des $_GET pour chaque sous catégories de tutos.
    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      25 novembre 2005 à 8:49:07

      Salut !

      Ce qu'il faut que tu fasses, tu ressors les données de ta BDD.
      Ensuite, dans le while, tu mets la cellule d'un tableau en affichant le titre du tuto dedans ;) .

      ++
      • Partager sur Facebook
      • Partager sur Twitter
        25 novembre 2005 à 9:19:49

        Ok merci déjà ça m'a éclairci les idées. :)


        J'ai une autre question, pour enregistrer les grandes catégories comment je peux faire ?

        Par exemple voici le code ou le visiteur propose un tuto et ou il doit choisir la catégorie de son tuto :
        <label>
                   Selectionnez une catégorie<br />
                   <select name="categorie">
                          
                            <optgroup label="Site Web">
                       <option value="xhtml_css">Xhtml/CSS</option>           
                       <option value="php">PHP</option>               
                       <option value="autres">Autres</option>
                    </optgroup>   
                               
                                <optgroup label="Logiciels">
                       <option value="nero">Nero</option>               
                       <option value="msn">Msn</option>               
                       <option value="skype">skype</option>
                    </optgroup>

                    <optgroup label="exemple">     
                       <option value="Photoshop">Photoshop</option>               
                       <option value="hardware">Hardware</option>
                       <option value="jeux">Jeux</option>
                                </optgroup>
                       
                       
                   </select>
               </label>


        Je voudrais savoir comment enregistrer les "optgroup" dans ma BDD.

        Merci d'avance
        Cordialement,
        • Partager sur Facebook
        • Partager sur Twitter
          25 novembre 2005 à 9:38:56

          Salut

          Si ton formulaire utilise la methode d'envoi "post", la variable $_POST['catagorie'] aura la valeur choisie par le visiteur.

          Exemple : si le visiteur sélectionne PHP et que tu fais
          <?php
          echo 'La catégorie sélectionnée est : '.$_POST['categorie'];
          ?>

          Tu auras :

          Citation : Affichage

          La catégorie sélectionnée est : php



          Amicalement

          T@kniX
          • Partager sur Facebook
          • Partager sur Twitter
            25 novembre 2005 à 9:51:42

            Non moi je veux recupérer les grandes catégories (comme "Site Web" ; "Logiciels" etc)
            En gros je veux recupérer les optgroup
            "Php" étant une sous-catégorie,ce n'est pas ça qui m'intérresse. (Merci quand meme T@kniX ;) )
            Comment je peux faire ?
            merci
            • Partager sur Facebook
            • Partager sur Twitter
              25 novembre 2005 à 9:55:20

              Tu veux une solu viable qui te permet de faire des modif sans changer tes scripts ?

              Utilise un array multiple dans un fichier externe et génère ton select dynamiquement avec php.
              • Partager sur Facebook
              • Partager sur Twitter
                25 novembre 2005 à 10:00:38

                Citation : Bison

                Tu veux une solu viable qui te permet de faire des modif sans changer tes scripts ?

                Utilise un array multiple dans un fichier externe et génère ton select dynamiquement avec php.


                o_Oo_O:waw:
                Ca doit pas etre de mon niveau lol !
                Pourrais-tu etre plus clair s'il te plait ?
                Merci
                • Partager sur Facebook
                • Partager sur Twitter
                  25 novembre 2005 à 11:37:59

                  Ce que tu pourrais éventuellement faire c'est quelque chose comme ça :
                  <?php
                  if($_POST['categorie']=='xhtml_css' OR $_POST['categorie']=='php')
                    {
                      $categorie='Site Web';
                    }
                  elseif($_POST['categorie']=='nero' OR $_POST['categoriee']=='msn' OR $_POST['categorie']=='skype')
                    {
                      $categorie='Logiciels';   
                    }
                  else
                    {
                      echo 'Il manque quelque chose dans les conditions :p';
                    }


                  Amicalement

                  T@kniX
                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 novembre 2005 à 11:48:02

                    Tiens regarde, j'ai même codé un formulaire bidon pour toi tester!
                    Voilà l'idée :
                    <?php
                    //--- cet array peut très bien être mis dans un fichier séparé et inclu dans la page
                    $liste=array(
                            'site web'=>array(
                            'xhtml_css','php','autres'
                            ),
                            'logiciels'=>array(
                            'nero','msn','skype'
                            ),
                            'exemple'=>array(
                            'Photoshop','hardware','jeux'
                            )
                    );
                    //-------------------------
                    if(!empty($_POST))
                    {
                    echo 'La catégorie choisie est : ',$_POST['categorie'],'<br />';
                    foreach($liste as $key=>$val)
                    {
                    if(in_array($_POST['categorie'],$val)) $groupe=$key;
                    }
                    echo 'Le groupe choisi est : ',$groupe;
                    }
                    //---- fin affichage après post
                    else
                    {
                    //---- le formulaire
                    echo '<form method="post" action="',$_SERVER['PHP_SELF'],'"><select name="categorie">';
                    foreach($liste as $key1=>$val1)
                    {
                    echo '<optgroup label="',$key1,'">';
                    foreach($liste[$key1] as $val2)
                    {
                    echo '<option value="',$val2,'">',$val2,'</option>';
                    }
                    }
                    echo '</select><input type="submit" value="tester" /></form>';
                    }


                    Et voilà !
                    Si tu désires ajouter une catégorie ou un élément dans une catégorie, tu dois juste toucher à ton array $liste
                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 novembre 2005 à 17:22:50

                      Re Salut,

                      Comme je sais pas si tu as eu ta réponse, je te donne une autre solution :

                      Tu créer une table pour chaque grosse catégorie, dans les champs, tu marques la sous catégorie, le titre du tuto, et ce que contient le tuto.
                      Ensuite, sur la page qui liste les différentes catégories, tu fais un lien, avec un $_GET dedans (http://tonlien/tuto.php?id=photoshop)

                      Ca donnerait un truc du style :

                      <?php
                      mysql_connect("localhost", "user", "password");
                      mysql_select_db("ta_db");

                      $tuto = mysql_query("SELECT * FROM $_GET['id']");


                      while ($donnees = mysql_fetch_array($reponse) )
                      {
                      // Je ne mets pas les cellules ;)
                      ?>

                      <p>
                      Liste des tutos :<br />
                        <?php echo $tuto['titre']; ?> Par <?php echo $tuto['auteur']; ?>
                      </p>
                      <?
                      mysql_close();
                      ?>


                      Je ne suis pas sur que la requête fonctionne, j'ai un doute, si quelqu'un pouvait corriger si il le faut :-°

                      Voilà ++

                      • Partager sur Facebook
                      • Partager sur Twitter
                        26 novembre 2005 à 10:16:18

                        Je trouve ton code un peu... effrayant !

                        Ton code en propre et optimisé :
                        <?php
                        $link = mysql_connect('localhost', 'user', 'password') or exit('Erreur de connexion au serveur de base de données<br />'.mysql_error($link));

                        mysql_select_db('ta_db', $link) or exit('Erreur lors de la sélection de la base de données<br />'.mysql_error($link));

                        $sql = 'SELECT * FROM `'.$_GET['id'].'`';

                        $tuto = mysql_query($sql, $link) or exit(
                        '<p>Erreur dans la requête <br />
                        <span style="font-style: italic;">'
                        .$sql.'</span><br />
                        '
                        .mysql_error($link));

                        while ($donnees = mysql_fetch_array($reponse))
                          {
                            echo '
                        <p>
                        Liste des tutos :<br />
                        '
                        .$tuto['titre'].' Par '.$tuto['auteur'].'
                        </p>'
                        ;
                          }

                        mysql_close($link);
                        ?>


                        Tu ne concatènes pas correctement (et même pas du tout).
                        La boucle while n'a pas été refermée.
                        Définir l'identifiant de connexion MySQL dans un variable n'est pas indispensable mais c'est plus propre.
                        Et puis tu peux gérer les erreurs c'est toujours plus pratique.

                        Voilà

                        Amicalement

                        T@kniX
                        • Partager sur Facebook
                        • Partager sur Twitter
                          26 novembre 2005 à 11:14:45

                          Le tien aussi n'est pas optimisé :D

                          D'abord il est conseillé d'utiliser mysql_fetch_assoc ou mysql_fetch_row plutot que d'utiliser mysql_fetch_array.

                          Ensuite pour la connexion a la base de donnée il est conseillé aussi de faire comme ceci :

                          $serveur = 'localhost';
                          $login = 'root';
                          $pass = '';
                          $db = 'ta_db';

                          mysql_connect("$serveur","$login","$pass");
                          mysql_select_db("$db");

                          Ca permet en cas d'erreur de connexion de ne pas afficher ton mot de passe aux yeux de tous !
                          • Partager sur Facebook
                          • Partager sur Twitter
                            26 novembre 2005 à 16:19:33

                            Citation : crc

                            Le tien aussi n'est pas optimisé :D


                            Si tu veux critiquer, comment par parler correctement : en français on dit : "Le tien non plus n'est pas optimisé"


                            Citation : crc

                            D'abord il est conseillé d'utiliser mysql_fetch_assoc ou mysql_fetch_row plutot que d'utiliser mysql_fetch_array.


                            Et qui conseille ça ?
                            Renseigne toi avant de parler sur un sujet que tu ne connais pas :

                            Citation : La Doc

                            Performance : Une chose importante à noter est que l'utilisation de mysql_fetch_assoc() n'est pas significativement plus lent que l'utilisation de mysql_fetch_row(), alors qu'il fournit des valeurs significatives ajoutées.




                            Citation : crc

                            Ensuite pour la connexion a la base de donnée il est conseillé aussi de faire comme ceci :

                            $serveur = 'localhost';
                            $login = 'root';
                            $pass = '';
                            $db = 'ta_db';

                            mysql_connect("$serveur","$login","$pass");
                            mysql_select_db("$db");

                            Ca permet en cas d'erreur de connexion de ne pas afficher ton mot de passe aux yeux de tous !


                            Celà n'a rien à voir avec de l'optimisation :

                            Citation : Wikipedia

                            En programmation informatique, l'optimisation est la pratique qui consiste généralement à réduire le temps d'exécution d'une fonction, l'espace occupé par les données et le programme, ou la consommation d'énergie.


                            Or faire celà ne réduit en rien le temps d'exécution du script.

                            Pourquoi s'exprimer sur un sujet non maitrisé ?

                            A+

                            T@kniX
                            • Partager sur Facebook
                            • Partager sur Twitter
                              26 novembre 2005 à 16:52:02

                              Autant je suis d'accord sur le mysql_fetch_assoc() en lieu et place de mysql_fetch_array(), autant sur la connexion à la bd, le parsage des variables entourée de " est moins performant que sans les " mysql_connect($serveur,$login,$pass);
                              • Partager sur Facebook
                              • Partager sur Twitter
                                26 novembre 2005 à 17:38:52

                                Moi aussi j'utilise mysql_fetch_assoc habituellement, c'est juste la façon dont il a dit ça alors qu'il ne sait pas de quoi il parle (la preuve le mysql_connect("$serveur","$login","$pass"); où il entoure inutilement des variables avec des ").

                                Voilà c'était juste pour lui montrer qu'il devrait se renseigner avant de poster quelque chose de pire qu'avant.

                                • Partager sur Facebook
                                • Partager sur Twitter

                                Lister les tutos sous forme de tableau

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                • Editeur
                                • Markdown