PHP / Problème pour récupérer infos via id

Fermé
nik029 Messages postés 281 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 13 avril 2022 - Modifié par nik029 le 25/06/2012 à 09:55
nik029 Messages postés 281 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 13 avril 2022 - 5 juil. 2012 à 11:23
Bonjour,

J'ai créer une fonction en PHP pour récupérer sur une page des informations qui sont inscrits dans ma base de donnée.

Introduction au problème


Voici la fonction que j'ai nommé view_article

function view_article($id) 
{ 
$id = (int)$id; 
 $sql = mysql_query("SELECT * FROM articles WHERE id='$id'"); 
  
 return mysql_fetch_assoc($sql); 
}


Ensuite, dans la liste des articles (oui, c'est un créateur d'articles que j'ai créer) devrait s'afficher, j'ai mis ceci :

<?php  
foreach(titre_article() as $titrearticle) 
{ 
?> 

<p> <a href="view.php?id=<?php echo $titre_article['id']; ?>"><?php echo $titrearticle['title']; ?></a> 
</p> 

<?php } ?>


Sachant que ma fonction titre_article est la suivante :

function titre_article() 
{ 

$titrearticle = array(); 
$query = mysql_query("SELECT id, title FROM articles") or die(mysql_error()); 

while($rows=mysql_fetch_assoc($query)) 
{ 
$titrearticle[]=$rows; 
} 
return $titrearticle; 
} 



Mon problème


Au lieu de voir seulement les titres des articles affichés, un message d'erreur apparait :

SCREAM: Error suppression ignored for ( ! ) Notice: Undefined variable: titre_article in C:\wamp\www\Articles\articles.php on line 23 Call Stack #TimeMemoryFunctionLocation 10.0008248808{main}( )..\articles.php:0 ">Smic : un petit coup de pouce du gouvernement 

( ! ) SCREAM: Error suppression ignored for ( ! ) Notice: Undefined variable: titre_article in C:\wamp\www\Articles\articles.php on line 23 Call Stack #TimeMemoryFunctionLocation 10.0008248808{main}( )..\articles.php:0 ">bonjour 


Et lorsque je clique sur chacun (car ce sont des liens), il m'envoie à la page où normalement, les informations par rapport au titre (et à l'id) devrait s'afficher. Mais au lieu de cela, la page s'affiche avec pleins de message d'erreur telle que :

SCREAM: Error suppression ignored for 
( ! ) Notice: Undefined index: title in C:\wamp\www\Articles\view.php on line 34


Et le lien devient : http://localhost/Articles/view.php?id=%3Cbr%20/%3E%3Cfont%20size=%271%27%3E%3Ctable%20class=%27xdebug-error%20xe-notice%20xe-scream%27%20dir=%27ltr%27%20border=%271%27%20cellspacing=%270%27%20cellpadding=%271%27%3E%3Ctr%3E%3Cth%20align=%27left%27%20bgcolor=%27#f57900%27%20colspan=

au lieu de http://localhost/Articles/view.php?id=15

Sachant que j'ai fait appel à ma fonction view_article avec ce code :

<?php 
$info=view_article($_GET['id']); 
print_r($info); 
?>


Pouvez vous m'aider ? Merci d'avance. Cordialement.

A voir également:

8 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 juin 2012 à 13:25
mets de noms de variables différents toutes s'appellent titrearticle

<?php  
$articles=array();
$articles=titre_article();
//et question bête: as tu bien fait la connexion au serveur et selection base avant ?
foreach($articles as $article) 
{ 
?> 

<p> <a href="view.php?id=<?php echo $article['id']; ?>"><?php echo $article['title']; ?></a> 
</p> 

<?php } ?>
1
nik029 Messages postés 281 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 13 avril 2022 44
Modifié par nik029 le 26/06/2012 à 16:18
Oui, j'ai bien fait la connexion avec le serveur et sélectionner la base. ;)

Je vais essayer tout de suite ce que tu me proposes.

EDIT : Effectivement, ça marche. En faite, j'avais mis le nom de la fonction (titre_article) à la place de la variable ($titrearticle) dans :

<p> <a href="view.php?id=<?php echo $article['id']; ?>"><?php echo $article['title']; ?></a> 




Mais un autre problème survient. Dans les informations (sur la page view) qui s'afficher, les div et les codes gras s'affichent alors que je veux qu'ils s'applique. Un exemple : <p class="lettre" align="justify">2% ou 2,5%, voire moins ? Le 1<sup>er</sup> juillet une revalorisation intermédiaire du <a href="http://lci.tf1.fr/infos/smic/smic-1.html" class="tag"><strong>Smic</strong></a> .

Comment faire pour régler ce problème?
0
nik029 Messages postés 281 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 13 avril 2022 44
28 juin 2012 à 08:48
Up...
0
Kafiristanica Messages postés 263 Date d'inscription mardi 12 juin 2012 Statut Membre Dernière intervention 27 août 2012 28
28 juin 2012 à 08:57
met <?php en haut de ta page ?> en bas et met des echo "ton -texte";
0

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

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
28 juin 2012 à 10:41
je ne vois pas trop, fait afficher le code source de ta page wiew

si il y a des parties en rouge regardes les de plus près
0
nik029 Messages postés 281 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 13 avril 2022 44
29 juin 2012 à 09:44
Kafiristanica > Je n'ai pas compris ce que tu veux faire.
Alain_42 > Rien n'est en rouge.

De plus, lorsque je rentre dans un textarea mon texte, cela ne s'envoie pas sur la base de donnée puisque dans certains mots, il y a des apostrophes, des marques de citations, des parenthèses, etc. Comment régler ce problème?
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
4 juil. 2012 à 21:59
lorsque je rentre dans un textarea mon texte, cela ne s'envoie pas sur la base de donnée puisque dans certains mots, il y a des apostrophes

avant de rentrer la valeur dans la BDD passe par la fonction mysql_real_escape_string
0
nik029 Messages postés 281 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 13 avril 2022 44
5 juil. 2012 à 11:23
Ok merci.
Le problème, c'est que les <strong></strong> reste marqué et non s'applique.
0