affichage en php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : affichage en php

par Sékiltoyai » 01 juin 2007, 03:27

Enlève le AS de ta requète, et remet le var_dump, en n'oubliant pas le ; à la fin.
Ensuite, en fonction de ce qu'il te retourneras, tu sauras ce qu'il faut mettre dans ton echo pour afficher le résultat de ta requète.

par Punisher » 31 mai 2007, 17:50

voila ce que ça donne:

Warning: mssql_query() [function.mssql-query]: message: Syntaxe incorrecte vers le mot clé 'AS'. (severity 15) in C:\wamp\www\intranet\index.php on line 77

Warning: mssql_query() [function.mssql-query]: Query failed in C:\wamp\www\intranet\index.php on line 77

Warning: mssql_fetch_assoc(): supplied argument is not a valid MS SQL-result resource in C:\wamp\www\intranet\index.php on line 80
vous aveznouveaux messages
apparament il accepte pas le AS, et je ne sais quoi comme problème avec le mssql_query...

par Sékiltoyai » 31 mai 2007, 17:22

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

par Punisher » 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);
	}
	?>

par Ryle » 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... :)

par Punisher » 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...

par Ryle » 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 :)

par Punisher » 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! :?

par Ryle » 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 :))

par Sékiltoyai » 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...

par Punisher » 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... : :( :?

par Ryle » 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'

par Punisher » 31 mai 2007, 14:38

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

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

par Sékiltoyai » 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.

par Punisher » 31 mai 2007, 12:26

oups desoler :?