Afficher une variable PHP

Fermé
ced3E Messages postés 101 Date d'inscription mardi 28 décembre 2010 Statut Membre Dernière intervention 9 janvier 2013 - 30 janv. 2011 à 16:35
ced3E Messages postés 101 Date d'inscription mardi 28 décembre 2010 Statut Membre Dernière intervention 9 janvier 2013 - 1 févr. 2011 à 18:13
Bonjour,



Je crée une messagerie interne mais j' ai des petits problèmes d' affichage des variables.
Je n' arrive pas a charger le titre alors qu' il est bien dans la bdd :-S

Et d' après l' id expéditeur je voudrai afficher le nom de la personne.

Voila mon code :

<?php
mysql_connect("localhost","root", "")  OR die('Erreur de connexion à la base'); 
mysql_select_db("myphone");


$result = mysql_query ('SELECT * FROM messages WHERE id_destinataire='.$_SESSION['id'].'');
$sql = ('SELECT Prenom, Nomdefamille, photo FROM membres WHERE <?php echo $post->id_expediteur; ?> ');

if( mysql_num_rows( $result ) == 0 )

{
?>
    <center><h2>Pas de messages</h2></center>
<?php
}
else
{

    while( $post = mysql_fetch_object( $result))
    {
    ?>
	<div class="article-result">
	
	
<?php echo $post->titre; ?><?php echo $post->message; ?><hr WIDTH="550px">
</div>
<?php
    }
}
 
function safe($var)
{
	$var = mysql_real_escape_string($var);
	$var = addcslashes($var);
	$var = trim($var);
	$var = htmlspecialchars($var);
	return $var;
}
?>



Message d' erreur pour le titre : Notice: Undefined property: stdClass::$titre
Et je ne sais pas trop comment faire pour afficher les variables nom prénom photo.

Merci d' avance de votre aide.

6 réponses

__construct()
30 janv. 2011 à 16:59
Bonjour,
Dans quel table se trouve le titre ?
N'aurais-tu pas une erreur de syntaxe dans cette requête SQL :
$result = mysql_query ('SELECT * FROM messages WHERE id_destinataire='.$_SESSION['id'].'');
0
ced3E Messages postés 101 Date d'inscription mardi 28 décembre 2010 Statut Membre Dernière intervention 9 janvier 2013 2
30 janv. 2011 à 18:05
Justement c' est dans cette table que j' ai le titre, non je pense car ça marche trés bien pour le message.
0
__construct()
30 janv. 2011 à 20:06
Alors le nom de la colonne dans la table messages n'est pas titre mais possède un autre nom !
Peut-être titre_msg ou je ne sais quoi d'autre...? A toi de vérifier dans la table...!
0
ced3E Messages postés 101 Date d'inscription mardi 28 décembre 2010 Statut Membre Dernière intervention 9 janvier 2013 2
31 janv. 2011 à 01:18
Non du tout un bug car j ai supprimer et recrée la même ligne titre et ça marche . . .
0

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

Posez votre question
ced3E Messages postés 101 Date d'inscription mardi 28 décembre 2010 Statut Membre Dernière intervention 9 janvier 2013 2
1 févr. 2011 à 00:17
Petit question on peu faire une req sql avec une echo de se style :

$sql = ('SELECT Prenom, Nomdefamille, photo FROM membres WHERE <?php echo $post->id_expediteur; ?> ');
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
1 févr. 2011 à 05:49
Effectivement, y'a un problème là...
D'ailleurs cette requête ne semble pas utilisé dans cet extrait de code...
0
ced3E Messages postés 101 Date d'inscription mardi 28 décembre 2010 Statut Membre Dernière intervention 9 janvier 2013 2
Modifié par ced3E le 1/02/2011 à 15:56
oui car pour le moment cette ligne n ' est pas fonctionnel, en plus faudrait plutôt faire $sql = ('SELECT Prenom, Nomdefamille, photo FROM membres WHERE <?php echo $result->id_expediteur; ?> ');
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
1 févr. 2011 à 17:12
On ne met pas d'echo dans un requête.
Encore moins avec <?php et ?>.

Exemple de requête:
$sql='SELECT * FROM table WHERE champ="'.$var.'"';
0
ced3E Messages postés 101 Date d'inscription mardi 28 décembre 2010 Statut Membre Dernière intervention 9 janvier 2013 2
1 févr. 2011 à 18:02
oui c est se que je me dis mais je ne sais pas comment prendre la variable de la requête :
$result = mysql_query ('SELECT * FROM messages WHEREnid_destinataire='.$_SESSION['id'].'');


C' est cette requête que je prend la variable " id_expediteur " on ne pas faire un echo ? style :
('SELECT Prenom, Nomdefamille, photo FROM membres WHERE " echo id_expediteur;" ');


Car justement je cherche a mettre id_expediteur dans mon where mais je sais pas trop comment faire.

Donc voila se que fais mon code : select de id_expéditeur, id_destinataire, titre, message.

Je cherche tout les messages avec l' id de la session qui sont afficher en echo.

Et la je cherche a prendre id_expediteur pour allé dans la table membres pour charger le nom du membre qui a envoyer le message.

Donc j' ai besoin d' utiliser l' id_expediteur pour sélectionné le bon membre.
0
Tu mélange tout dans ton code, ton erreur est du au faite que tu fais appel à des objet qui ne sont pas déclaré dans le code que tu donne.

<?php echo $post->titre; ?><?php echo $post->message; ?>


ce code par exemple c'est celui qui te génère l'erreur à priorie, tu fais appel a un objet post qui n'est déclaré null part c'est pour sa que php te retourne cette erreur, avant de faire de la programmation orienté objet apprend a codé en procédural.
Au début de ton code tu écris 2 requêtes une dans un mysql_query (ce qui peux marcher) et l'autre comme sa dans une variable entre parenthèse sa m'étonne que sa te retourne pas une erreur sa aussi.
bref ton code est complètement bugé pour afficher le resultat d'une requête sql rien de simple aprend à le faire comme ci-dessous avant de t'attaquer à la POO.

<?php

$req = 'SELECT * FROM messages WHERE id_destinataire='.$_SESSION['id']; // Construction de la requête sql
$query = mysql_query($req); // Envoie de la requête a mysql
$num_rows = mysql_num_rows($query); // Retourne le nombre de lignes d'un résultat MySQL

$d=array(); // Déclaration d'un tableau php
while($data = mysql_fetch_array($query)) // Parcours du résultat MySQL
{
	$d[] = $data; // Insertion des données dans le tableau 
}
foreach($d as $data) // Parcours le tableau 
{
	print_r($data); // Affiche le resultat
}

?>
0
ced3E Messages postés 101 Date d'inscription mardi 28 décembre 2010 Statut Membre Dernière intervention 9 janvier 2013 2
1 févr. 2011 à 18:13
Merci pour ton code mais ouii je sais bien que les objets ne sont pas déclaré dans le code c' est bien la mon problème.

J' ai bien toute mes variables pour se qui est de la tables messages mais je ne sais pas comment avoir l' id expéditeur dans ma 2 eme req sql
0