probleme dans tableau

Petit nouveau ! | 4 Messages

11 févr. 2010, 22:51

bonjour,

Je voudrai savoir pourquoi je ne récupère pas la première ligne de ma table cat_2, mais je récupère toutes les autres.

ma table cat_2 possède les champs suivant:
ID
cat_1ID
titre
categories
photo_couleur
photo_noir


et voici mon code:
<?php
require_once("connexionMysql.inc.php");
$requete="SELECT * FROM cat_2";
$resultat=mysql_query($requete);
$cat_2=mysql_Fetch_array($resultat);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
</head>

<table border="0" align="center">
<?php

for($lig= 2; $lig>0 ; $lig--  )
{

echo"<tr>"; ?>

		<?php for($col=4 ; $col>0 ; $col--  )
			{
			 while($cat_2=mysql_Fetch_array($resultat)) { 
			 
			echo "<td align=\"center\">" ;?>
				
  <img src="images/film.gif"/> <br/>
  <a href="<?php echo $cat_2['categories']; ?>.php"><img src="images/<?php echo $cat_2['photo_noir']; ?>"  onMouseOver=this.src="images/<?php echo $cat_2['photo_couleur']; ?>" onMouseOut=this.src="images/<?php echo $cat_2['photo_noir']; ?>" /></a><br />
  <img src="images/film.gif"/><br />
  <i><b><?php echo $cat_2['titre']; ?></b></i><br/>
			<?php	
			echo"</td>";
			}
			}

echo"</tr>";
}

?>
</table>

</body>
</html>
en lisant le code vous avez remarqué que j'essaye de faire un tableau avec 4 colonnes , par exemple:
ligne1
1ere cellule(mamifere) 2eme cellule(microcosme) 3eme cellule(oiseau) 4eme cellule(artifice)
ligne2
1ere cellule(musique) 2eme cellule(rue) 3eme cellule(spectacle) 4eme cellule(ciel)
ligne 3...

ce qui est entre parenthèse sont mes catégories de la table cat_2.

Pouvez-vous m'aider a resoudre mes 2 problemes (je resume):
afficher toutes les categories de ma table même la première
faire correctement le tableau qui affichera comme dans le modèle (pour le moment toutes mes categories s'affichent sur une meme ligne, donc dès que je depasse 4 categories dans cat_2 ça ne change pas de ligne).
Merci d'avance pour vos reponses.
Modifié en dernier par lanam le 12 févr. 2010, 03:17, modifié 1 fois.

ViPHP
AB
ViPHP | 5818 Messages

12 févr. 2010, 00:34

Premier problème :
Quand on lit une ressource le pointeur avance au résultat suivant.

Donc $cat_1=mysql_Fetch_array($resultat); lit le premier résultat et le pointeur passe au résultat suivant.

... ce qui fait que cat_2=mysql_Fetch_array($resultat) qui est plus loin dans le code commence par lire le second résultat.

Petit nouveau ! | 4 Messages

12 févr. 2010, 01:38

Merci pour ta réponse, en fait c'est une erreur de ma part, il doit y avoir des cat_2 partout a la place des cat_1. Je viens de corriger cette erreur, j'ai refait le test et je n'ai toujours pas ma première ligne.

Eléphant du PHP | 170 Messages

12 févr. 2010, 02:27

Bonsoir,
... il doit y avoir des cat_2 partout a la place des cat_1. Je viens de corriger cette erreur ...
Ce n'est pas corriger la première ligne qui exécute un "mysql_Fetch_array()" qu'il faut faire, mais supprimer cette ligne.
( relis l'explication de AB )

Petit nouveau ! | 4 Messages

12 févr. 2010, 03:34

merci, j'ai supprimé la ligne donc j'ai ma ligne 1 de ma table MySQL qui s'affiche.
Pour mon tableau, il ne me l'affiche toujours pas correctement :
<?php
require_once("connexionMysql.inc.php");
$requete="SELECT * FROM cat_2";
$resultat=mysql_query($requete);


?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
</head>


<body bgcolor="#000000" text="#FFFFFF" link="#000000" alink="#000000" vlink="#000000">


<?php
$c=0;

?>

<table border="1" align="center">

<?php echo"<tr>"; 
 while($cat_2=mysql_Fetch_array($resultat)) {

if ($c<5 )
			{ 
			echo "<td align=\"center\">" ;			
				
			?>
  <img src="images/film.gif"/> <br/>
  <a href="<?php echo $cat_2['categories']; ?>.php"><img src="images/<?php echo $cat_2['photo_noir']; ?>"  onMouseOver=this.src="images/<?php echo $cat_2['photo_couleur']; ?>" onMouseOut=this.src="images/<?php echo $cat_2['photo_noir']; ?>" /></a><br />
  <img src="images/film.gif"/><br />
  <i><b><?php echo $cat_2['titre']; ?></b></i><br/>
  <?php
  $c++;		
  echo"</td>";
			}
			 else
			 {
			
			echo"</tr>";
			echo"<tr>";
			echo "<td align=\"center\">" ;			
				
			echo"<pre>";
			print_r($c);
			echo"</pre>";?>
  <img src="images/film.gif"/> <br/>
  <a href="<?php echo $cat_2['categories']; ?>.php"><img src="images/<?php echo $cat_2['photo_noir']; ?>"  onMouseOver=this.src="images/<?php echo $cat_2['photo_couleur']; ?>" onMouseOut=this.src="images/<?php echo $cat_2['photo_noir']; ?>" /></a><br />
  <img src="images/film.gif"/><br />
  <i><b><?php echo $cat_2['titre']; ?></b></i><br/><?php
		
			$c=0;
			 } 
			
echo "</tr>";
}
?>
</table>


</body>
</html>
j'ai changé des choses mais il ne fonctionne toujours pas comme je veux. Si vous trouvez aussi cette erreur ça serait super car je m'arrache les cheveux!!!!

Petit nouveau ! | 4 Messages

12 févr. 2010, 22:33

Merci a tous ceux qui m'ont repondu, j'ai resolu mon probleme. Voici mon code pour si ça intéresse quelqu'un.
<?php
require_once("connexionMysql.inc.php");
$requete="SELECT photo_couleur,photo_noir,titre,categories FROM cat_2";
$resultat=mysql_query($requete);

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
</head>


<body bgcolor="#000000" text="#FFFFFF" link="#000000" alink="#000000" vlink="#000000">

<p align=center >

<?php
$c=0;

?>
<table border="0" align="center">
<?php
echo"<tr>";
while($cat_2=mysql_Fetch_array($resultat))
{
			if($c<5)
			{
			echo"<td align=\"center\">";				 
			 $c++;			 
			 ?>			 
				<img src="images/film.gif"/> <br/>
				<a href="<?php echo $cat_2['categories']; ?>.php"><img src="images/<?php echo $cat_2['photo_noir']; ?>"  onMouseOver=this.src="images/<?php echo $cat_2['photo_couleur']; ?>" onMouseOut=this.src="images/<?php echo $cat_2['photo_noir']; ?>" ></a><br />
				<img src="images/film.gif"/><br />
				<i><b><?php echo $cat_2['titre']; ?></b></i><br/>					
			<?php 			
			echo"</td>";
			}
			else
			{
			echo"</tr>";?> </table> <table border="0" align="center">
			<?php
			echo"<tr>";
			$c=0;
			echo"<td align=\"center\">";				 
			 $c++;			 
			 ?>			 
				<img src="images/film.gif"/> <br/>
				<a href="<?php echo $cat_2['categories']; ?>.php"><img src="images/<?php echo $cat_2['photo_noir']; ?>"  onMouseOver=this.src="images/<?php echo $cat_2['photo_couleur']; ?>" onMouseOut=this.src="images/<?php echo $cat_2['photo_noir']; ?>" /></a><br />
				<img src="images/film.gif"/><br />
				<i><b><?php echo $cat_2['titre']; ?></b></i><br/>					
			<?php 			
			echo"</td>";
			}
}
  	echo"</tr>";
?>
</table>

</body>
</html>