Générer des liens à partir d'une base

Petit nouveau ! | 2 Messages

18 août 2010, 12:21

Oyé oyé, bonjour à tous :)
Je consulte très souvent ce forum mais la j'ai un problème, alors il est temps de me lancer.

J'ai eu des problème de net pendant quelques semaines et en pleine conception d'un site web, je suis toujours bloqué sur ce point, et comme je ne connais pas le nom de cette méthode, difficile de chercher sur le forum. Je réexplique donc mieux le problème :

Mes connaissances en PHP s'arrêtent à la création d'un CMS ultra simple (changement de texte sur les pages, édition, suppression des données).

Je voudrais, sur un fansite, afficher les traductions des chansons d'un groupe de musique. Je voudrais que dans l'administration du site, on remplisse 2 champs :

Titre de la chanson (titre)
Traduction de la chanson (traduction)

Ensuite, sur une page traduction.php, je voudrais afficher la liste (sous forme de lien) des chansons comme ceci :

Chanson 1
Chanson 2
Chanson 3


Mais voilà, le problème, c'est qu'il faudrait que chaque titre de chanson soit un lien, et que ce lien amènent vers une page contenant la traduction, j'imagine qu'il faut utiliser la méthode Get pour récupérer les données en rapport à l'url (comme l'a suggéré Sebinto ?)

J'espère que mon problème est clair et précis, j'ai fais au possible, si quelqu'un pouvait me détailler l'étape à suivre de manière claire, je lui en serait très très reconnaissant

A titre d'exemple, je voudrais obtenir quelque chose comme ça :
http://www.u2achtung.com/02/lyrics/

Bonne journée et merci d'avance.

Eléphant du PHP | 314 Messages

18 août 2010, 14:00

Salut,

je vais essayer de t'expliquer cela..

Dans ta base de données, tu dois avoir une table qui stocke tes chansons...

j'imagine plus ou moins cela

Code : Tout sélectionner

chanson_id - titre - paroles 1 - vive les pates - xxxx 2 - Lorie c'est cool - zzzzzz 3 - MegaLOL - yyyyyyy
à partir de ce moment là, tu fais une requete dans la base pour affiches les différentes chansons....imaginons pour les avoirs dans l'ordre alphabétique
SELECT chanson_id, titre from chanson ORDER BY titre ASC
ensuite dans une boucle while & mysql_fetch_assoc, tu affiches les résultats sous forme de lien
<a href="traduction.php?id=<?php echo $resultat["chanson_id"]; ?>"><?php echo $resultat["titre"]; ?></a> <br />
Tu arrives ensuite sur la page traduction.php

Tu fais une requete pour récuperer la chanson, sachant que l'id passé dans l'URL, récupérable avec $_GET DEVRAIT être un entier > 0
$id = intval($_GET["id"]);
if($id > 0)
{
    // c'est ok
}
else
{
    // id anormal
}
tu exécutes ensuite une requête pour récupéré la chanson qui correspond à cet id
$R = mysql_query('SELECT titre, paroles FROM chanson WHERE chanson_id = '.$id);
if(mysql_num_rows($R)==1)
{
  // la chanson existe
   $res = mysql_fetch_assoc($R);
   echo "<h3>".$res["titre"]."</h3>";
   echo "<div>".$res["paroles"]."</div>";

}
else
{
   // la chanson n'est pas dans la base
}
Bon ça marche comme ça en gros, j'espère t'avoir aidér...
Cordialement,
Julien - http://laravel.fr/

Petit nouveau ! | 2 Messages

18 août 2010, 14:39

je testerai le code rapidement, merci beaucoup !
Bonne journée :D