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

Résolu
narutoo7 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
narutoo7 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -
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();
?>
A voir également:

2 réponses

billwate Messages postés 48 Date d'inscription   Statut Membre Dernière intervention   28
 
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   Statut Membre Dernière intervention   5
 
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   Statut Membre Dernière intervention   28
 
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   Statut Membre Dernière intervention   5
 
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