Page 1 sur 2

ma page detail ne s'affiche pas, pas d'erreur sur la page

Posté : 25 déc. 2006, 22:15
par webmaster_ism_infomaster
Joyeux noel a tous. :o je vous expose mon problème j ai une page qui liste tout mon contenue de ma base de donnée, donc la première page s'affiche bien quand je clic sur le lien pour avoir le detail de l article rien s affiche pas d'erreur de requète SQL. Donc je suis un peu désapointé car d'abitude quand il ya des erreurs qui s affiche sa m'aide bc pour débugué un script.
Voici la première page qui liste tout
<?php
include_once('connection/connection.inc.php');
//creation de la requète SQL
$sql= 'SELECT * FROM article ';
//execution de la requète SQL
$resultat = mysql_query($sql);
//on boucle sur l'ensemble des enregistrements
while ($row= mysql_fetch_assoc($resultat)) {
 $titre =$row['titre'];
 $auteur =$row['auteur'];
 $date_pub =$row['date_pub'];
 $id_article=$row['id_article'];
 //$images_portfolio =$row['images_portfolio'];
//on formate la date
$jour = substr($date_pub,8,2);
$mois = substr($date_pub,5,2);
$annee = substr($date_pub,0,4);
$date = $jour.'/'.$mois.'/'.$annee;
//on creer l'affichage
//echo '<img src="miniphoto/' . $images_portfolio . '" width="100" height="200">';
echo "<hr><a href='listing_detail.php?id_article=$id_article'>$titre</a>";
echo " auteur: $auteur. Publié le $date<hr><br>";
}
?>
et voici (page detail)
<?php
include_once('connection/connection.inc.php');
$id_ar = intval($_REQUEST['id_article']);
$sql = "SELECT 
ar.id_article,
ar.titre AS titre,
ar.auteur AS auteur,
ar.date_pub AS date_pub, 
ar.texte AS texte, 
au.login, 
au.nom AS nom, 
au.prenom AS prenom,
au.email AS email
FROM article AS ar, auteur AS au
WHERE ((ar.id_article = $id_ar) AND (ar.auteur=au.login))";

$resultat = mysql_query($sql);

$row = mysql_fetch_assoc($resultat);

$titre = $row['titre'];
$a_nom = $row['nom'];
$a_prenom = $row['prenom'];
$a_email = $row['email'];
$date_pub = $row['date_pub'];
$id_article = $row['id_article'];
$texte = nl2br($row['texte']);

//on formate la date
$jour = substr($date_pub,8,2);
$mois = substr($date_pub,5,2);
$annee = substr($date_pub,0,4);
$date = $jour.'/'.$mois.'/'.$annee;

echo "<h1>$titre</h1>";
echo "Cet article à été réalisé par $a_nom $a_prenom le $date";
echo "Vous pouvez le contactez par email:$a_email";
echo '<br><b>Texte de l\'article</b></br>', $texte;
?>
Merci d'avance pour votre aide :wink:

Posté : 25 déc. 2006, 22:24
par HD
pour que les erreurs s'affichent il faut généralement du requêtes du genre :
$resultat = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
or toi tu ne fait que des (exemple)
$resultat = mysql_query($sql);
donc si tu complétai ton code, des erreurs éventuelles devrait faire leur apparition !

merci

Posté : 25 déc. 2006, 22:31
par webmaster_ism_infomaster
merci pour l information. J'ai fait comme tu m'a dit mais il n'ya aucune erreur qui s' affiche :roll:

Posté : 25 déc. 2006, 22:33
par Truc
un sujet à lire... notamment pour l'affichage de la requête générée. :wink:

Posté : 25 déc. 2006, 22:35
par HD
alors montre nous ce qui s'affiche (même s'il n y a pas d'erreurs), ou alors rien ne s'affiche ce que me surprendrai énormément
Autre chose, quand tu code tu peux ajouter des affichages temporaires genre :
$titre = $row['titre']; 
echo 'titre : $titre .<br>';
comme ca tu sais si ton script se déroule bien...

re

Posté : 25 déc. 2006, 22:38
par webmaster_ism_infomaster
Sa affiche
Cet article à été réalisé par le //Vous pouvez le contactez par email:
Texte de l'article
Truc je regarde dessuite le lien que tu m'a passé merci

re

Posté : 25 déc. 2006, 22:43
par webmaster_ism_infomaster
Et en fesant un test avec
echo $resultat;
sa m'affiche
Resource id #4

Posté : 25 déc. 2006, 22:46
par HD
ce n'est $resultat qu'il faut afficher mais les autres variables :wink:

re

Posté : 25 déc. 2006, 22:59
par webmaster_ism_infomaster
j ai tester les variables et il ya ces variables qui ne s'affiche pas
$titre = $row['titre']; 
$a_nom = $row['nom']; 
$a_prenom = $row['prenom']; 
$a_email = $row['email']; 
$date_pub = $row['date_pub']; 
$id_article = $row['id_article']; 
$texte = nl2br($row['texte']);

re

Posté : 25 déc. 2006, 23:09
par webmaster_ism_infomaster
ya rien qui change. je comprend pas du tout je me suis creer des erreurs pour testé affectivement sa fonctionne normalement. A mon avi le probleme vient de l affichage

Posté : 25 déc. 2006, 23:21
par Truc
As tu affiché la requête générée ?
Puis exécutée directement dans phpmyadmin (par exemple) pour voir si un résultat y correspond bien ?

$_REQUEST['id_article'] vaut bien quelque chose (echo)?
Utilise $_GET[''id_article'] à la place.

Voilà comment on avance pas avec des suppositions :wink:

re

Posté : 25 déc. 2006, 23:37
par webmaster_ism_infomaster
j ai utilisé $_GET[''id_article'] à la place sa me fait pareil et quand je fait
echo $sql;
sa me fait
SELECT ar.id_article, ar.titre AS titre, ar.auteur AS auteur, ar.date_pub AS date_pub, ar.texte AS texte, au.login, au.nom AS nom, au.prenom AS prenom, au.email AS email FROM article AS ar, auteur AS au WHERE ((ar.id_article=3) AND (ar.auteur=au.login))

re

Posté : 25 déc. 2006, 23:41
par webmaster_ism_infomaster
la requète sql est bonne

re

Posté : 25 déc. 2006, 23:45
par webmaster_ism_infomaster
j ai tester la requète sa dit que c est bon mais il ya un truc que me semble bizzar
MySQL n'a retourné aucun enregistrement.
et pourtant il ya des choses d'enregister

re

Posté : 25 déc. 2006, 23:45
par webmaster_ism_infomaster
MySQL n'a retourné aucun enregistrement. (traitement: 0.0002 sec.)requête SQL:SELECT ar.id_article, ar.titre AS titre, ar.auteur AS auteur, ar.date_pub AS date_pub, ar.texte AS texte, au.login, au.nom AS nom, au.prenom AS prenom, au.email AS email
FROM article AS ar, auteur AS au
WHERE (
(
ar.id_article =3
)
AND (
ar.auteur = au.login
)
)
LIMIT 0 , 30