Partage
  • Partager sur Facebook
  • Partager sur Twitter

Système de tutoriaux

Un peu délicat pour mon niveau en PHP ^^'

Sujet résolu
    4 avril 2006 à 16:04:11

    Bonjour à tous! :)

    Ca fesait longtemps que je n'avais pas poster pour demander de l'aide. (Non je me la pète pas :lol: )

    Alors voilà, sur mon site pour tester mes scripts, je me suis lancé dans l'élaboration d'un système de tutos fonctionnant comme celui du fabuleux SDZ ( ^^ ), c'est à dire que l'on va sur la page de tous les tutos, on voit les titres, on clique sur celui qui nous intéresse, et on tombe sur une page avec le titre, le contenu, la date de rédaction et le pseudo du redacteur.

    Pour l'instant j'ai réussi avec toutes les pages, mais je bloque sur la page "lire_tuto.php" (celle qui doit tout afficher).

    D'abord, le lien pour lire le tuto ("liste_tutos.php")

    <a href="http://acassam.free.fr/lire_tuto.php?idtuto=<?php echo $donnees['id']; ?>&amp;titretuto=<?php echo stripslashes($donnees['titre']); ?>"><?php echo $donnees['titre']; ?></a>


    Donc on débarque sur la page "lire_tuto.php". Pour reprendre le titre, j'utilise tout bêtement

    <?php echo $_GET['titretuto']; ?>


    Mais je ne sais pas comment "reprendre" le contenu, la date de rédaction et le pseudo du rédacteur...

    Quelqu'un peut m'aider ? :euh:
    • Partager sur Facebook
    • Partager sur Twitter
      4 avril 2006 à 16:08:21

      bha t'as bien une base de données??? récupere dedans :D
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        4 avril 2006 à 16:09:06

        Déjà, a ta palce, je ferais comme ça :
        lire_tuto?id=122
        Comme ça tu affiche les données correspondant à cet id et c'est dans la poche...
        • Partager sur Facebook
        • Partager sur Twitter
          4 avril 2006 à 16:09:50

          ouai tonio76 à carrement raison j'avais meme pas regarder
          • Partager sur Facebook
          • Partager sur Twitter
            4 avril 2006 à 16:12:28

            C'est ce que je pensais, mais je sais pas trop comment faire... :'(
            • Partager sur Facebook
            • Partager sur Twitter
              4 avril 2006 à 16:14:19

              fait voir un peu la stucture de ta bdd
              • Partager sur Facebook
              • Partager sur Twitter
                4 avril 2006 à 16:19:05

                -"id" en INT, auto-increment et INDEX
                -"titre" en VARCHAR (255)
                -"contenu" en TEXT
                -"pseudo" en VARCHAR (255)
                -"timestamp" en BIGINT
                -"valide" en ENUM ("0", "1") (merci au tuto de stargatefan :) )

                Voilà, c'est tout ^^
                • Partager sur Facebook
                • Partager sur Twitter
                  4 avril 2006 à 16:23:16


                  $id = (int)$_GET['id'];
                  $sql = "SELECT * FROM matable WHERE id = '$id' AND valide = '1'";
                  $result = msql_query($sql,$link);
                  $row = mysql_fetch_array;
                  • Partager sur Facebook
                  • Partager sur Twitter
                    4 avril 2006 à 16:35:10

                    Ca je l'affiche sur "lire_tuto.php", et ensuite j'écris quoi ?

                    EDIT: j'ai modifié le bout de code que tu m'as donné plus haut :

                    $id = (int)$_GET['id'];
                    $reponse = mysql_query("SELECT * FROM matable WHERE id = '$id' AND valide = '1'");
                    while ($donnees = mysql_fetch_array($reponse))
                    {
                    ?>
                        <h2>
                            <?php echo $donnees['titre']; ?>
                        </h2>
                       
                        <p>
                        <?php
                        $contenu = nl2br(stripslashes($donnees['contenu']));
                        echo $contenu;
                        ?>
                        </p>

                    <?php
                    }
                    ?>


                    Je l'ai changé parce que je connais mieux ce "système". Ca marche nickel!! Merci beaucoup à vous deux! :)

                    Et pour ceux qui voudraient faire la même chose, je donne le genre de lien, c'es tout bête:

                    <a href="http://votresite.com/lire_tuto.php?id=<?php echo $donnees['id']; ?>"><?php echo $donnees['titre']; ?></a>


                    Voilà! Encore merci! ;)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      5 avril 2006 à 20:25:15

                      Euh j'ai un autre problème: quand on lit un tuto, j'aimerai que le nom du rédacteur puisse être cliquable, et ramène à son profil.

                      Donc le lien pour son auteur:

                      Ecrit par <a href="http://acassam.free.fr/profil.php?pseudo=<?php echo $donnees['pseudo']; ?>"><?php echo $donnees['pseudo']; ?></a>

                      Et sur la page "profil.php":
                      $pseudo = (int)$_GET['pseudo'];
                      $reponse = mysql_query("SELECT * FROM membre WHERE pseudo = '$pseudo'");
                      while ($donnees = mysql_fetch_array($reponse))
                      {

                      Le problème c'est que je ne sais pas quoi écrire à la place de (int). Je pense que c'est par rapport à ce qu'il y a marqué dans la table SQL "membre": c'est à dire que "id" est en "int" alors que "pseudo" est en "varchar". Alors j'ai remplacé (int) par (varchar), mais une erreur s'affiche :(

                      Quelqu'un sait quoi faire ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        5 avril 2006 à 21:35:56

                        Perso, j'ai une table avec les membres et pour ce genre de choses (tutos), le champ pseudo se réfère à l#ID du pseudo dans la table. Donc tu fais plutot (DSL pour la ponctuation mais je la trouve pas sur les claviers allemands)

                        <a href="profil.php?pseudoid=<?echo $donees['idpseudo'];?>">


                        et pour pseudo.php

                        <?
                        $pseudoid = $_GET['pseudoid'];
                        mysql_conect("localhost", "root", "");
                        mysql_select_db("/*ta base*/");
                        $sql = mysql_query("SELECT * FROM membres WHERE id='$pseudoid'");
                        ?>


                        Sinon, avec ta méthode, ca donne

                        $pseudo = $_GET['pseudo'];
                        mysql_conect("localhost", "root", "");
                        mysql_select_db("/*ta base*/");
                        $sql = mysql_query("SELECT * FROM membres WHERE pseudo='$pseudo'");
                        • Partager sur Facebook
                        • Partager sur Twitter
                          5 avril 2006 à 21:39:19

                          A ba oui c'est tout bête en fait pas la peine de "(int)" >_< ralala jcrois que c'est la fatigue :p

                          J'ai gardé ma méthode parce que j'y suis plus habitué ^^

                          Merci beaucoup MégaBimon :)
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Système de tutoriaux

                          × 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