Page 1 sur 1

condition base de données et affichage texte

Posté : 19 nov. 2013, 19:56
par nsr88
Bonjour,

Après avoir repris le tuto du sdz, j'ai réussi à afficher les données de ma bdd. Mais étant donné que certains de mes champs sont parfois vide, je ne veux pas tous les afficher. Ici, mon problème est que je ne peux pas faire d'accolade avec les if sans avoir de message d'erreur : "Parse error: syntax error, unexpected '}' "

Comment puis-je régler ce problème ?
<?php
// On affiche chaque entrée une à une
while ($donnees =  $reponse->fetch())
{
?>
    <div id="j">
			<h2><?php echo $donnees['titre']; ?></h2>
			
			<p><strong>Liste des accessoires :</strong></br>	
			 <?php echo $donnees['accessoires']; ?></br></br>
			 
			<strong>Nombre minimum de joueur :  <?php echo $donnees['joueurs']; ?></strong></br></br>
			
			<script type='text/javascript'>if(<?php echo $donnees['prerequis']; ?><>""){
				<strong>Prérequis : </strong></br>
				<?php echo $donnees['prerequis']; ?></br></br>}</script>
			
			<strong>Les règles du jeu pour picoler :</strong></br>
			<?php echo $donnees['regles_p1']; ?></br></p>
			
			<?php if(!(  $donnees['lien_image'] ==$vide)){?>
				<div id="media">
					<?php echo $donnees['lien_image']; ?><p></br></p>
					<?php echo $donnees['figcaption']; ?><p></br></p>
				</div><?php}?>
			
			if(!(  $donnees['regles_p2'] ==$vide)){?>
				<?php echo $donnees['regles_p2']; ?><p></br></br></p>
				<?php } 
			
			if(!( $donnees['problemes'] ==$vide)) {?>
				<strong>Problèmes : </strong></br>
				<?php echo $donnees['problemes']; ?><p></br></br></p>
				<?php } 
				
			if(!(  $donnees['lien_video'] ==$vide)){?>
				<div id="media">
					<p><strong>La démonstration en vidéo : </strong></br></p>
					<?php echo $donnees['lien_video']; ?>
				</div>
				<?php } ?>
				
		</div>

<?php		
}

$reponse->closeCursor(); // Termine le traitement de la requête

?>



Re: condition base de données et affichage texte

Posté : 19 nov. 2013, 20:57
par moogli
salut,

une erreur de syntaxe n'est pas du au contenu de ta base.

c'est simplement que tu as un } qui n'est pas a place.
Dans ton cas c'est parce que le second if n'est pas dans du code php.
du coup l'accolade qui elle l'est pose problème.

je te conseil d'utiliser un éditeur de texte avancé (comme notepad++ ou équivalent) ou mieux un IDE (eclipse, netbeans, zend studio, phpstorm etc) qui eux t'indiqueront le problème directement.

regarde bien ton premier message, tu verra que le second if n'a pas la même couleur que les autres ;)


@+