affichage en php

Eléphanteau du PHP | 13 Messages

31 mai 2007, 12:01

bonjour a tous, je viens d'arriver sur ce forum car j'ai une question importante:

comment puis-je afficher la phrase "vous avez x nouveaux messages"
sachant que le x est le resultat d'une requête sql :?

voici ce que j'ai coder pour le moment:
<?php
	
	if($connect) {
	
	// connexion réussie
	$sql="select count [num_postit] as [nouveaux_messages] 
		 from post_it, type_message
		 where post_it.num_typemessage = type_message.num_typemessage and libelle_typemessage = nouveaux";
	
	//execution de la requête
	$requete= mssql_query($sql) or die(sql_error());

	//on affiche le résultat
	$donnees=  mssql_fetch_assoc($requete);
	
	//-------affichage du nombre de nouveaux message------
	echo  ????
	
	else
	echo "problème à la connexion<BR>";
	mssql_close($connect)
	
	?>
comment je dois coder après le echo qui sert pour l'affichage ?
merci de repondre rapidement !
Modifié en dernier par Punisher le 31 mai 2007, 15:13, modifié 1 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

31 mai 2007, 12:17

Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Débuter en PHP".

Merci de prendre le temps de lire les règlements
ainsi que l'intitulé de chaque forum avant de poster un nouveau sujet.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 13 Messages

31 mai 2007, 12:26

oups desoler :?

ViPHP
ViPHP | 5924 Messages

31 mai 2007, 13:35

Fais un var_dump($donnees); ca te donnera le contenu de la variable et donc comment récupérer la donnée dont tu as besoin.

Eléphanteau du PHP | 13 Messages

31 mai 2007, 14:38

le var_dump($donnees) je l'utilise comme ça ?

echo 'vous avez ' var_dump($donnees) 'nouveaux messsages'

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

31 mai 2007, 14:56

Nope, le var_dump() ou print_r() te permet d'afficher la structure d'un objet ou d'un tableau (index, attributs, valeurs..) :
echo '<pre>'; 
print_r($donnees);
echo '</pre>';
les balises <pre> imposent au navigateur de ne pas formater le code, ce qui le rend plus lisible (retour à la ligne et tabulations conservées)

Tu devrais obtenir quelque chose du genre :

Code : Tout sélectionner

array ( clé1 => 'valeur1', clé2 => 'valeur2', clé3 => 'valeur3' )
Ce qui te permet de connaitre les index disponibles et les valeurs associées. Quant à l'affichage d'une valeur, il te suffit donc de spécifier l'index du tableau auquel tu veux accéder :
echo $donnees['clé2']; // affichera 'valeur2'
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 13 Messages

31 mai 2007, 15:06

heu, en gros ça donne quoi le code que je dois saisir?

echo ....

voici ce que j'ai coder pour le moment:
<?php 
     
    if($connect) { 
     
    // connexion réussie 
    $sql="select count [num_postit] as [nouveaux_messages]  
         from post_it, type_message 
         where post_it.num_typemessage = type_message.num_typemessage and libelle_typemessage = nouveaux"; 
     
    //execution de la requête 
    $requete= mssql_query($sql) or die(sql_error()); 

    //on affiche le résultat 
    $donnees=  mssql_fetch_assoc($requete); 
     
    //-------affichage du nombre de nouveaux message------ 
    echo  ???? 
     
    else 
    echo "problème à la connexion<BR>"; 
    mssql_close($connect) 
     
    ?>
parce que ça doit m'afficher la phrase : vous avez X nouveaux message ou X est obtenu grâce a ma requête. la seule chose que je sais pas c'est comment interpréter le resultat et l'afficher dans la phrase.

parce qu'avec ce que chacun a dit je suis un peu perdu... : :( :?

ViPHP
ViPHP | 5924 Messages

31 mai 2007, 15:48

Je t'ai dit de tester le contenu de $donnees en placant juste après
$donnees=  mssql_fetch_assoc($requete); 
le code var_dump($donnees) pour savoir quoi mettre dans ton echo. Si tu ne fais pas ce qu'on te demande, ne demande pas d'aide...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

31 mai 2007, 15:50

Il te suffit de faire une chaine en concaténant tes morceaux de phrases et ta valeur :)
echo 'vous avez ' . $X . ' nouveaux message';
où $X est la variable qui contient le nombre de message (et dont on a expliqué comment la retrouver plus haut :))
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 13 Messages

31 mai 2007, 16:00

ok,
maintenant, il indique:
Parse error: syntax error, unexpected T_ECHO in C:\wamp\www\intranet\index.php on line 80
qui correspond a la ligne de mon echo :

echo 'vous avez'.$donnees['NbreNouveauxMsg'].'nouveaux messages';

je vois pas trop ou est l'erreur de syntaxe... help-me! :?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

31 mai 2007, 16:17

Ton code mal indenté... réorganise le proprement (ouverture d'une structure décalage à droite, fermeture d'une structure décalage à gauche), je pense qu'il te manque une accolade fermante :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 13 Messages

31 mai 2007, 16:30

Ton code mal indenté... réorganise le proprement (ouverture d'une structure décalage à droite, fermeture d'une structure décalage à gauche), je pense qu'il te manque une accolade fermante :)
non ça ce bon, l'accolade est en place mais le problème persiste...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

31 mai 2007, 16:47

bah redonne ton code (nottament les quelques lignes qui précèdent, puisque le message d'erreur est que le "echo" est innatendu à cette position, c'est que tu as un soucis avant, genre point-virgule absent ou autre... :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 13 Messages

31 mai 2007, 17:00

ok, voila.
j'ai revérifier mais j'ai toujours pas trouver... :? :?

<!-- DEBUT MENU -->
	
		<?php
	
	if ($_SESSION['active'] == true)
	{
		echo '<p>Bonjour '.$_SESSION['pseudo'].'</p>';
		echo '<p><a href="deconnexion.php">Se d&eacute;connecter</a></p>';
		
	}
	else
	{
		$connect = mssql_connect("HORUS", "", "");
	}
	if($connect)
	{
		// connexion réussie
		$sql = "SELECT	count [num_postit] AS [NbreNouveauxMsg]
				FROM	post_it, type_message
				WHERE	post_it.num_typemessage = type_message.num_typemessage
					AND	libelle_typemessage = nouveaux
				";
		
		//execution de la requête
		$requete= mssql_query($sql);

		//on affiche le résultat
		$donnees=  mssql_fetch_assoc($requete);
		var_dump($donnees)
		
		//-------affichage du nombre de nouveaux message------
		
		echo "vous avez" .$donnees['NbreNouveauxMsg']. "nouveaux messages";
	}
	else
	{
		echo "problème à la connexion<BR>";
		mssql_close($connect);
	}
	?>

ViPHP
ViPHP | 5924 Messages

31 mai 2007, 17:22

le var_dump, c'était pour tester, vu que tu ne t'en sers pas, enlève le...