mysql_fetch_assoc et while

Eléphanteau du PHP | 12 Messages

17 juin 2012, 18:40

Bonjour,

Je rencontre un problème, j'ai un code qui récupère dans la base de données des informations pour les afficher ensuite :
<?php
			include("includes/connexion.php");
			
			$sql = "SELECT civilite, nom, email, telephone, rue, superficie, loyer, type, libelle_quartier, nom_commune, nombre_habitant FROM user, logement, type_logement, quartier, commune WHERE user.id_user=logement.id_user AND type_logement.id_type_logement=logement.id_type_logement AND quartier.id_quartier=logement.id_quartier AND commune.id_commune=quartier.id_commune";
			$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

			$data = mysql_fetch_assoc($req);

			?>
			
			<div class="box">
				<p>
				<strong>Type</strong> : <?php echo $data['type']; ?><br />
				Superficie : <?php echo $data['superficie']; ?>m²<br />
				Loyer : <?php echo $data['loyer']; ?>€<br />
				Rue : <?php echo $data['rue']; ?><br />
				Quartier : <?php echo $data['libelle_quartier']; ?><br />
				Commune : <?php echo $data['nom_commune']; ?><br />
				Nombre d'habitants : <?php echo $data['nombre_habitant']; ?><br />
				Logement proposé par : <?php echo $data['civilite']; echo "&nbsp;"; echo $data['nom']; ?><br />
				Contact email : <?php echo $data['email']; ?><br />
				Téléphone : 0<?php echo $data['telephone']; ?><br />
				</p>
			</div>
Seulement mysql_fetch_assoc ne lit que une ligne de résultat MySQL, il faut donc que j'utilise une boucle while pour afficher tout les résultats.
Cela donnerais donc quelque chose comme
while($row = mysql_fetch_assoc($sql)){ }
Mais je ne sais pas comment m'en tiré vu que je peut pas encadré la div box avec mes balises php dans la configuration actuel :?

Eléphanteau du PHP | 21 Messages

17 juin 2012, 18:55

Bonsoir,

Et tu ne peux pas afficher ton texte comme ci-dessous ?
<?php
echo '
<div class="box">
  <p>
     <strong>Type</strong> : '.$data['type'].'<br />
  </p>
</div>';
?>

Eléphanteau du PHP | 12 Messages

17 juin 2012, 19:03

non car mes balises php se font arrêté par les balises html j'ai l'impression

Eléphanteau du PHP | 21 Messages

17 juin 2012, 19:06

Qu'entends-tu par "mes balises php se font arrêté par les balises html" ?

Est-ce que tu as ton code php qui s'affiche sur ta page ? Y a-t-il une erreur qui s'affiche ? Ta page a bien l’extension .php ?

Car que ce code ne fonctionne pas n'est pas normal.

Eléphanteau du PHP | 12 Messages

17 juin 2012, 19:47

Oui je suis bien en .php, je me suis mal exprimé les balises HTML n’arrête pas le code php mais elle génère des erreurs qu'il n'y a pas si je les enlevents

Petit nouveau ! | 9 Messages

17 juin 2012, 19:57

Tu peux nous envoyer les erreurs que ça génère ? Ca me parait bizzare =/

Eléphanteau du PHP | 12 Messages

17 juin 2012, 20:15

Une erreur assez classique où il signale les signes < > et ' je crois.

Mais c'est plus la boucle while qui m'intéresse en fait, je l'ai déjà fait mais en PDO et ça marché, ça donné ça :
while ($donnees = $reponse->fetch())
    {
    ?>
<div class="box">.....</div>
<?php>
}
?>
Mais en jeu d'instruction mysql je ne sais pas trop comment la traduire

Eléphanteau du PHP | 21 Messages

17 juin 2012, 20:31

Je ne vois pas vraiment ton problème..

Pour ta boucle :
<?php
while($donnees = mysql_fetch_array($reponse))
{
?>
<div class="box">...</div>
<?php
}
?>
De plus l'erreur avec les < et > est bizarre, tu devrais la poster pour trouver la source du problème.