[PHP] Affichage / ou pas d'un lien HELP PLZ

Résolu/Fermé
narutoo7 Messages postés 19 Date d'inscription mercredi 2 avril 2008 Statut Membre Dernière intervention 5 août 2008 - 3 août 2008 à 22:52
narutoo7 Messages postés 19 Date d'inscription mercredi 2 avril 2008 Statut Membre Dernière intervention 5 août 2008 - 5 août 2008 à 13:10
Bonjour,
Voila après de nombreuses heures passé, à essayé de voir où était mon problème, je ne vois pas je vous demande votre aide.
En fait je veux que si un lien existe ( dans la bdd ) alors afficher le lien sinon afficher message disant que c'est indisponible. Le problème qui se pose en fait ce que la page n'affiche que le message "Ici" qu'il y ait un lien dans la bdd ou pas, vu que je suis un néophyte en php je ne vois pas ou est mon erreur, si vous pouviez m'éclairer.

Merci d'avance.

Voici mon code:

<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("coursphp"); // Sélection de la base coursphp

$id = intval($_GET['id']);
$reponse = mysql_query('SELECT lien FROM episode WHERE id='.$id.' ORDER BY id DESC') or die (mysql_error()); // Requête SQL

if (mysql_num_rows($reponse) > 0)
{
$donnees = mysql_fetch_assoc($reponse);

echo '<strong>Lien :</strong> <a href="'.stripslashes($donnees['lien']).'">Ici</a> ';
}
else
{
echo 'Indisponible';
}

mysql_close();
?>

2 réponses

billwate Messages postés 48 Date d'inscription samedi 2 août 2008 Statut Membre Dernière intervention 19 avril 2010 28
3 août 2008 à 23:14
Ta ligne de lien m'a l'air un peu trop compliquée
echo '<strong>Lien :</strong> <a href="'.stripslashes($donnees['lien']).'">Ici</a> ';
Es tu sur de l'exécution de la fonction stripslashes ?

Je te propose plutôt ceci :
$lien = stripslashes($donnees['lien']);
echo "<strong>Lien :</strong> <a href='$lien'>Ici</a>";

J'ai utilisé des double-quotes (") après echo et en fin de ligne,
simple quote pour encadrer $lien.

Habituellement, pour travailler sur une base de données, c'est plutôt

$link = mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("coursphp", $link); // Sélection de la base coursphp

0
narutoo7 Messages postés 19 Date d'inscription mercredi 2 avril 2008 Statut Membre Dernière intervention 5 août 2008 5
4 août 2008 à 22:01
Merci pour ta réponse, mais c'est toujours la même chose, en fait ton code et celui juste en haut marche mais seulement:
- lorsqu'il y a bel et bien un lien dans la table, ça affiche donc "Lien : ici"
- et dans le cas ou il n'y a aucune donnée dans la table (j'ai essayé avec une nouvelle table), ici appellé "episode" ça affiche "Indisponible"
or sachant que moi dans ma table "episode" il y a plus d'une centaine d'épisodes ça m'embête un peu >_<
Je veux qu'à la fin sa donne quelque chose comme ça : http://www.huecomundo.free.fr/onepiece-episode.php?id=364&titre_episode=Oz%20hurle%20%21%21%20Montre-toi%2C%20%E9quipage%20du%20chapeau%20de%20paille
Et encore merci pour ta réponse.
0
billwate Messages postés 48 Date d'inscription samedi 2 août 2008 Statut Membre Dernière intervention 19 avril 2010 28
4 août 2008 à 22:57
Je te propose ceci, si j'ai bien compris

$lien = stripslashes($donnees['lien']);
$lien = trim($lien);
if (!empty($lien)) {
echo "<strong>Lien :</strong> <a href='$lien'>$lien</a>";
} else {
// pas de lien ---> mettre ici ce que tu prévois
}

0
narutoo7 Messages postés 19 Date d'inscription mercredi 2 avril 2008 Statut Membre Dernière intervention 5 août 2008 5
5 août 2008 à 13:10
Miracle !!!!!!!!! ça marche !!!! Je te remercierait jamais assez.

Voici mon code final :
<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("coursphp"); // Sélection de la base coursphp

$id = intval($_GET['id']);
$reponse = mysql_query('SELECT lien FROM episode WHERE id='.$id.' ORDER BY id DESC') or die (mysql_error()); // Requête SQL

$donnees = mysql_fetch_assoc($reponse);
$lien = stripslashes($donnees['lien']);
$lien = trim($lien);
if (!empty($lien)) {
echo "<strong>Lien :</strong> <a href='$lien'>$lien</a>";
}
else
{
echo "Indisponible";
}

mysql_close();
?>

Et encore une fois merci beaucoup
0