Affichage php avec a href

Fermé
alhodhod - 10 août 2009 à 17:09
 alhodhod - 19 août 2009 à 15:36
Bonjour,

j'ai crée une BD aaa, et une table bbb, pour gerer des articles, comportant les champs ci-après : id, auteur, date_pub, titre, resume, corps

j'ai crée un fichier rub_11.php permettant d'afficher les données : id 'numéroe de l'article), le nom de l'auteur, le titre et le résumé de chaque article contenu dans la table bbb.

Mon problème :

- je veux que les titre de l'article comporte un lien sur le quel doit cliquer le visiteur, pour consulter, sur une autre page (detail.php) le contenu des autres chaps de la table y compris le champs "corps" qui concerne le détail des articles.

Prière de mindiquer ce que je dois faire :

- au niveau du fichier de départ : rub_11.php
- au niveau du fichier de destination : detail.php

Sachant bien que le détail du fichier rub11. est comme suit :

<?php

print("<br>");
echo ' <b><font face="arial" size="2" color="red">Bonjour le monde !</font></b> ';


print("<br>");



if(!mysql_connect('localhost','root')){
Echo'Connection Impossible<br>';
exit();
} else{
// Echo'Connexion réussie <br>';
}
Mysql_select_db('aaa');
$requete="SELECT id, titre, auteur, date_pub, resume FROM bbb";
$valeur=mysql_query($requete);

print("<b><font color=\"red\">Résultat de la recherche : ".mysql_num_rows($valeur). ' articles(s)</font></b><br>');



print("<br>");
print("<br>");

while ($tableau=mysql_fetch_array($valeur)){


print("<b><font color=\"red\">Article n° ".$tableau["id"]." : ".$tableau["titre"]."</font></b>"."<br>". "<b><font color=\"green\">Publié par : ".$tableau["auteur"].". En date du ".$tableau["date_pub"]."</font></b>"."<br>"."<br>"."<font color=\"red\">Résumé : "."</font>".$tableau["resume"]."<br>"."<br>"."</b>\n");
}
mysql_close()
?>

Merci à l'avance.
A voir également:

5 réponses

benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
10 août 2009 à 17:20
Pour placer le lien tu modifies le print :

print("<b><font color=\"red\">Article n° ".$tableau["id"]." : <a href='detail.php?id=".$tableau["id"]."'>".$tableau["titre"]."</a></font></b>"."<br>". "<b><font color=\"green\">Publié par : ".$tableau["auteur"].". En date du ".$tableau["date_pub"]."</font></b>"."<br>"."<br>"."<font color=\"red\">Résumé : "."</font>".$tableau["resume"]."<br>"."<br>"."</b>\n");

Ensuite dans detail.php (qui est dans le même dossier que rub_11.php ) tu te connectes à ta base de données puis tu recupères l'id ( $_GET['id'] ) et tu fais une requête SELECT WHERE id=".intval($_GET['id']) puis tu affiches les données (un mysql_fetch_array de la requête).
0
Bonjour,

mercibcp+++ pour la réactivité

- OK pour la page rub_11.php ça marche bien.

- pour la page de destination detail.php, j'ai mis ce qui suit :

<?php

echo'Affichage avec clic pour afficher plus de détails id cas 1 : test pour une seule ligne resultat';


print("<br>");
echo ' <b><font face="arial" size="2" color="red">Bonjour le monde !</font></b> ';

print("<br>");

if(!mysql_connect('localhost','root')){
Echo'Connection Impossible<br>';
exit();
} else{
// Echo'Connexion réussie <br>';
}


Mysql_select_db('allhcom');

$_GET['id'];
$requete="SELECT titre, auteur, resume, corps WHERE id=".intval($_GET['id'])"";

$valeur=mysql_query($requete);

while ($tableau=mysql_fetch_array($valeur)){

print("<b><font color=\"red\">Article n° ".$tableau["id"]." : <a href='detail.php?id=".$tableau["id"]."'>".$tableau["titre"]."</a></font></b>"."<br>". "<b><font color=\"green\">Publié par : ".$tableau["auteur"].". En date du ".$tableau["date_pub"]."</font></b>"."<br>"."<br>"."<font color=\"red\">Résumé : "."</font>".$tableau["resume"]."<br>"."<br>"."</b>\n");
}

mysql_close()
?>
mais je reçois le message : Parse error: parse error in c:\program files\easyphp1-8\www\detail1.php on line 22 (il sagit de la ligne ci-dessous comportant ce qui suit : $requete="SELECT titre, auteur, resume, corps WHERE id=".intval($_GET['id'])"";

prière de m'aider pour débloquer la situation.

merci à l'avance.
0
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
10 août 2009 à 19:29
Ok tu dois juste rajouter un . comme ceci :
$requete="SELECT titre, auteur, resume, corps WHERE id=".intval($_GET['id'])."";

Si cela ne marche pas tu peux aussi rajouter des ' comme ceci :
$requete="SELECT titre, auteur, resume, corps WHERE id='".intval($_GET['id'])."'";
0
alhodhod Messages postés 5 Date d'inscription lundi 10 août 2009 Statut Membre Dernière intervention 5 avril 2010
11 août 2009 à 13:24
Bonjour Benvii

j'ai effectué les corrections proposées. Je rencontre maitenant un nouveau message d'erreur au niveau de la ligne 29 du ficheir detail.php (page de destination:
"Parse error: parse error in c:\program files\easyphp1-8\www\detail1.php on line 29".

Le fichier detail.php à l'origine de l'erreur est le suivant :

<?php

echo'Affichage avec clic pour afficher plus de détails id cas 1 : test pour une seule ligne resultat';


print("<br>");
echo ' <b><font face="arial" size="2" color="red">Bonjour le monde !</font></b> ';

print("<br>");

if(!mysql_connect('localhost','root')){
Echo'Connection Impossible<br>';
exit();
} else{
// Echo'Connexion réussie <br>';
}


Mysql_select_db('aaa');

$_GET['id'];
$requete="SELECT titre, auteur, resume, corps FROM bbbWHERE id='".intval($_GET['id']).""';


$valeur=mysql_query($requete);

while ($tableau=mysql_fetch_array($valeur)){

print("<b><font color=\"red\">Article n° ".$tableau["id"]." : <a href='detail.php?id=".$tableau["id"]."'>".$tableau["titre"]."</a></font></b>"."<br>". "<b><font color=\"green\">Publié par : ".$tableau["auteur"].". En date du ".$tableau["date_pub"]."</font></b>"."<br>"."<br>"."<font color=\"red\">Résumé : "."</font>".$tableau["resume"]."<br>"."<br>"."</b>\n");
}

mysql_close()
?>

NB : la ligne 29 c'est celle commençant par "print ................"

Merci encore à l'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
benvii Messages postés 308 Date d'inscription dimanche 8 juin 2008 Statut Membre Dernière intervention 28 octobre 2010 137
18 août 2009 à 11:59
Désolé pour le retard j'étais en vacances, bon l'erreur c'est normal, il y a une erreur des erreurs de syntaxe, ce qui donne :
<?php

echo 'Affichage avec clic pour afficher plus de détails id cas 1 : test pour une seule ligne resultat';


print("<br>");
echo ' <b><font face="arial" size="2" color="red">Bonjour le monde !</font></b> ';

print("<br>");

if(!mysql_connect('localhost','root')){
echo 'Connection Impossible<br>';
exit();
} else{
// Echo'Connexion réussie <br>';
}


Mysql_select_db('aaa');

$_GET['id'];
$requete="SELECT titre, auteur, resume, corps FROM bbb WHERE id='".intval($_GET['id'])."'";


$valeur=mysql_query($requete);

while ($tableau=mysql_fetch_array($valeur)){

print("<b><font color=\"red\">Article n° ".$tableau["id"]." : <a href='detail.php?id=".$tableau["id"]."'>".$tableau["titre"]."</a></font></b>"."<br>". "<b><font color=\"green\">Publié par : ".$tableau["auteur"].". En date du ".$tableau["date_pub"]."</font></b>"."<br>"."<br>"."<font color=\"red\">Résumé : "."</font>".$tableau["resume"]."<br>"."<br>"."</b>\n");
}

mysql_close()
?>

Sinon es-que tu utilises un éditeur de texte avancé ? comme notepad++, avec ce genre d'éditeur tu peux tout de suite voir les erreurs de syntaxes.
0
Bonjour,

Avec les conseils ci-dessus, maintenant ça marche.

merci bcs pour votre assistance.

Alhodhod
0