Requete php/mysql

Bonjour,
voila mon probleme :
j'ai une base de données se composant de deux chants (id, video)par table avec un certain nombre de table.
Comment je peut faire pour afficher sur mon site l'id de chaque table et de faire que quand je clique dessus cella m'envoi sur la video ?
Configuration: Windows Vista
Firefox 3.0.12

17 réponses

  1. Tu devrais utiliser le code suivant apres mysql_query :

    if (!$reponse) {
    $message = 'Requête invalide : ' . mysql_error() . "\n";
    die($message);
    }
    else
    {
    while ($film = mysql_fetch_array($reponse) )
    {
    echo $film['id'];
    echo $film['lien'];
    }
    }

    Ca devrait donner plus de detail ;-P
    0
    1. ????
      ta ligne 6 c'est laquelle ???
      0
      1. c'est un peu logique....
        tu fait un select sur un champ et pres tu lui demande d'afficher d'autre champs de ta bd
        donc remplace
        $reponse = mysql_query("SELECT lien FROM films WHERE nom LIKE Stargate");
        

        par
        $reponse = mysql_query("SELECT * FROM films WHERE nom LIKE Stargate");


        et ca devrais mieux fonctionner
        0
        1. cela semble etre ça mais j'ai cette erreur :
          Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/142/free.fr/2/f/devservertest/test.php on line 6

          avec ce code :
          <?php
          mysql_connect("devservertest.free.fr", "devservertest", "7gevzxp8");
          mysql_select_db("devservertest");
          $reponse = mysql_query("SELECT lien FROM films WHERE nom LIKE Stargate");

          while ($film = mysql_fetch_array($reponse) )
          {
          echo $film['id'];
          echo $film['lien'];
          }
          ?>
          0
          1. ok merci je teste ça des que je peut
            0
            1. oui parceque tu fait un FROM stargate, je me suis dis que tu as une table par film ^^

              En gros j'vais te faire un exemple, tu as ta table film :

              1er champ : id;
              2eme champ : nom;
              3eme champ : lien;

              imaginons :
              id:212;
              nom : Stargate;
              lien : http://monsite.fr/stargate.wmv

              Donc de là pour faire recuperer l'id et le lien de stargate tu fera

              $variable = mysql_query(SELECT * FROM films WHERE nom LIKE "Stargate");

              while ($film = mysql_fetch_array($variable) ) {

              Echo $film['id'];
              echo $film['lien'];

              }

              ca t'eviterai de faire une table pour stargate et de tout recuperer dedans voila la bonne marche a suivre ^^

              Si tu fais bien ca il ne devrait pas y avoir d'erreur
              0
              1. non je me suis mal exprimer j'ai une table avec mes truc dedans
                0
                1. AAAAAH t'as fais une table par video ???

                  Merci Mateo pour les horreurs que tu fais faire au gens :o

                  soit j'ai mal compris soit ta base de donnée est un vrai chantier :p
                  0
                  1. J'ai tapé la requete SQL sans la verifier ( je ne suis pas chez moi :-( ), peut-etre serait-il bon de la verifier dans un phpMyAdmin ...
                    0
                    1. d'accord j'ai compris pour le html dans le php mais je ne comprend pas le code et j'ai cette erreur maintenant:
                      Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/142/free.fr/2/f/devservertest/test.php on line 8
                      0
                      1. Ce que je te propose, c'est de ne pas multiplier les tables ( surtout quand elles ont le meme format ) mais d'ajouter le titre dans la table, ainsi que le nom de ta video. Ainsi, tu reconstruit l'html directement :

                        print $donnees['Nom']." saison ".$donnees['saison']." episode <a href=\"http://video/".$donnees['video']."\">".$donnees['id']."</a> <br />\n";

                        Pour eviter les <?php echo $donnees['nom'] ?> Saison ..., tu vois que j'ai insere l'html dans php et pas l'inverse. Le . sert a concatener toutes les chaines de caracteres

                        C'est plus clair ?
                        0
                        1. o lala je programme en php depuis hier xD j'ai un peu rien compris dsl
                          0
                          1. Ah ... Oui, c'est un peu plus clair. Maintenant, je ne mettrais pas chaque saison dans un tableau, mais ajouterais un champs nom ( Var 255 ) et un autre avec le nom de la video

                            Ton code deviendrait :
                            $reponse = mysql_query("SELECT * FROM video ORDER BY Nom ASC, saison ASC, Id ASC");
                            while ($donnees = mysql_fetch_array($reponse) )
                            {

                            echo $donnees['Nom']." saison ".$donnees['saison']." episode <a href=\"http://video/".$donnees['video']."\">".$donnees['id']."</a> <br />\n";
                            }

                            Ca devrait etre plus ou moins ce que tu desires non ? C'est bien sur une exemple, je te conseille de faire un tableau en utilisant ROWSPAN pour le titre et faire plus joli ;-P ( Il te faudra compter le nombre de ligne avec le mem titre AVANT d'afficher les resultats)
                            0
                            1. Donc je vais esseyer d'etre plus clair voila mon code :
                              <html>
                              <?php
                              mysql_connect("devservertest.free.fr", "********", "******"); // Connexion à MySQL
                              mysql_select_db("devservertest"); // Sélection de la base mateo21

                              $reponse = mysql_query("SELECT * FROM stargate");
                              while ($donnees = mysql_fetch_array($reponse) )
                              {
                              ?>
                              Stargate SG-1 saison <?php echo $donnees['saison']; ?> episode <?php echo $donnees['id']; ?> <br />
                              <?php
                              }
                              mysql_close();
                              ?>
                              </html>

                              ce qui donne ceci www.devservertest.free.fr/test.php

                              j'aimerais faire de "Stargate SG-1 saison 1 episode 1" un lien qui renvoi a la video dont l'id est 1.

                              En gros par exemple on a une liste 1 2 3 4 5 6 7 8 9 qui sort d'un base chaque numeraux représente quelque chose. mon je veu la variable qui va dire (si on clique sur 2) a la base affiche ce qui ya dans 2.

                              c'est un peu dur a expliquer
                              0
                              1. Bonjour,

                                pas tres clair ton explication ... Tu as deux champs (Id, Video) dans une table ... Ce que je ne comprends pas, c'est pourquoi tu parles de plusieurs tables ? Sinon un "SELECT * FROM table" te retourneras tous les id et les videos associes ...Il va te falloir etre plus explicite si tu veux qu'on t'aide.
                                0
                                1. bonsoir,

                                  le select renvoit id et vidéo

                                  alors on fait
                                  <a href='video'>id</a>

                                  maintenant reste à coder ça dans le bon langage.
                                  0