mise en forme (mise à jour)

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 : mise en forme (mise à jour)

par d0m » 03 oct. 2007, 14:41

c'est parce que tu n'as toujours pas changé ton algorithme, regarde mon post ou je compare ton algo à celui qui fait ce que tu veux

par Z3lg4dis » 03 oct. 2007, 14:31

<? 
$sql = "SELECT num_groupe, nom_groupe, img_groupe FROM groupe Group By num_groupe";
$sql_exe = mysql_query($sql) or die('Erreur : ' . mysql_error());
while ($Tab = mysql_fetch_array($sql_exe)) 
{ 
$compteur=0;

?>   
	 <br><table width="860" height="0" border="0" cellpadding="0" cellspacing="0">
	 <tr>   
     <?php 
      while ($compteur<2){      
     ?>   
        
	       <td width="860" height="200" valign="top" align="center">
            jdlkfjsdkl
           </td>
         
      <?php 
       $compteur=$compteur+1; } 
	  ?>

      <?php
       echo '<tr></tr>';
       $compteur=$compteur+0;
      ?>
	  </tr>
      </table>
<?php } ?>
Avec ça j'ai bien deux enregistrement par ligne mais c'est eux fois le même.
Donc là j'ai deux groupes donc ça me met :
GroupeA GroupeA
GroupeB GroupeB

Je pige pas la

par iclo » 03 oct. 2007, 12:02

Tu n'as pas de condition d'arrêt dans ton for, c'est voulu ?

Bon appétit à toi aussi

par jojolapine » 03 oct. 2007, 12:02

Fait attention à ce que tu écrits *%§£~!!!!!!
Tu remarques rien de spécial sur ton for, comme un oubli?

par Z3lg4dis » 03 oct. 2007, 12:00

Ca me gave maintenant il me dis qu'il manque des guillemets sur la ligne de mon for alors qu'on est pas censé en mettre
<?php
$line=2;
$compteur=0;
for($i=0;$i++)
{
if($compteur%$line==0)
{ 
?>       
		  <tr>
	       <td width="860" height="200" valign="top" align="center">
            <table width="420" cellpadding="0" cellspacing="0" border="0">
              <tr>
                <td background="images/cadre_01.gif" width="5" height="5"></td>
                <td background="images/cadre_02.gif" width="410" height="5"></td>
                <td background="images/cadre_03.gif" width="5" height="5"></td>
              </tr>
            </table>
            <table width="420" cellpadding="0" cellspacing="0">
              <tr>
                <td background="images/cadre_04.gif" width="5" height="190"></td>

                <td background="images/cadre_05.gif" width="410" height="190" valign="top" align="center">
				<span class="nom_groupe"><?php echo $Tab["nom_groupe"]; ?></span>
				<br><br>
				<img src="images/<?php echo $Tab['img_groupe']; ?>">
				</td>
				
                <td background="images/cadre_06.gif" width="5" height="190"></td>
              </tr>
            </table>
            <table width="420" cellpadding="0" cellspacing="0">
              <tr>
                <td background="images/cadre_07.gif" width="5" height="5"></td>
                <td background="images/cadre_08.gif" width="410" height="5"></td>
                <td background="images/cadre_09.gif" width="5" height="5"></td>
              </tr>
            </table>
           </td>
          </tr>
<?php 
}
echo '<tr></tr>';
} 
?>
Bonne appétit

Merci

par d0m » 03 oct. 2007, 11:45

erreur courante : = et == (affectation et égalité)

par Z3lg4dis » 03 oct. 2007, 11:42

Voila je me suis renseigner sur l'opérateur modulo est voila ce que j'ai
<?php
$compteur=0;
while ($compteur<2)
{
if($compteur%2=0);
{
?>       
	       <td width="860" height="200" valign="top" align="center">
            <table width="420" cellpadding="0" cellspacing="0" border="0">
              <tr>
                <td background="images/cadre_01.gif" width="5" height="5"></td>
                <td background="images/cadre_02.gif" width="410" height="5"></td>
                <td background="images/cadre_03.gif" width="5" height="5"></td>
              </tr>
            </table>
            <table width="420" cellpadding="0" cellspacing="0">
              <tr>
                <td background="images/cadre_04.gif" width="5" height="190"></td>

                <td background="images/cadre_05.gif" width="410" height="190" valign="top" align="center">
				<span class="nom_groupe"><?php echo $Tab["nom_groupe"]; ?></span>
				<br><br>
				<img src="images/<?php echo $Tab['img_groupe']; ?>">
				</td>
				
                <td background="images/cadre_06.gif" width="5" height="190"></td>
              </tr>
            </table>
            <table width="420" cellpadding="0" cellspacing="0">
              <tr>
                <td background="images/cadre_07.gif" width="5" height="5"></td>
                <td background="images/cadre_08.gif" width="410" height="5"></td>
                <td background="images/cadre_09.gif" width="5" height="5"></td>
              </tr>
            </table>
         </td>

<?php 
}
echo '<tr></tr>';
$compteur=$compteur+1;
}
$compteur=$compteur=0; 
?>
Il me met une parse error à la ligne de mon if

par d0m » 03 oct. 2007, 11:38

De manière plus général, tu peux mettre n groupes par lignes de cette manière :

Code : Tout sélectionner

nombre_de_groupes_par_ligne = n; compteur = 0; Pour chaque groupe{ SI (compteur % nombre_de_groupes_par_ligne ==0){ //première cellule de la ligne commencer une nouvelle ligne //balises <TR> afficher le groupe dans une cellule } SINON SI (compteur % nombre_de_groupes_par_ligne == nombre_de_groupes_par_ligne -1){ //derniere cellule de la ligne afficher le groupe dans une cellule terminer la ligne //balise </TR> } SINON { //cellule intérieur de la ligne afficher le groupe dans une cellule } incrémenter le compteur de 1 }

par Ryle » 03 oct. 2007, 11:31

C'est comme en math, faut le diviser par deux... si tu obtiens un chiffre entier et qu'il n'y a donc pas de reste à ta division, c'est qu'il est multiple de 2 et donc que c'est un nombre pair :)

Le plus simple étant donc d'utiliser l'opérateur modulo qui te donnera directement le reste de la division : Si le reste est 0 le nombre est multiple de 2 (et donc est pair)

Code : Tout sélectionner

421 % 2 = 1 666 % 2 = 0

par Z3lg4dis » 03 oct. 2007, 11:25

Le truc c'est que je ne vois pas comment tester si un chiffre est pair ou impair

par d0m » 03 oct. 2007, 11:13

normal puisque tu executes la boucle avec le compteur à l'intérieur de celle des groupes, en gros ton code veut dire :

Code : Tout sélectionner

Pour chaque groupe{ Pour i de 0 à 1 faire{ construire une cellule du tableau } construire une nouvelle ligne du tableau }
il faut voir la solution de cette manière :

Code : Tout sélectionner

compteur = 0; Pour chaque groupe{ SI le compteur est pair{ //première cellule de la ligne commencer une nouvelle ligne //balises <TR> afficher le groupe dans une cellule } SINON{ //deuxième cellule de la ligne afficher le groupe dans une cellule terminer la ligne //balise </TR> } incrémenter le compteur de 1 }

par Z3lg4dis » 03 oct. 2007, 10:51

Bon voila j'ai avancé et je'en suis arrivé la :
<? 
$sql = "SELECT COUNT(num_groupe), nom_groupe, img_groupe FROM groupe Group By num_groupe";
$sql_exe = mysql_query($sql) or die('Erreur : ' . mysql_error());
while ($Tab = mysql_fetch_array($sql_exe)) 
{    
?>   
	 <br><table width="860" height="0" border="0" cellpadding="0" cellspacing="0">
       <tr>
         
         
<?php
$compteur=0;
while ($compteur<2)
{

?>       
	       <td width="420" height="200" valign="top" align="center">
            <table width="420" cellpadding="0" cellspacing="0" border="0">
              <tr>
                <td background="images/cadre_01.gif" width="5" height="5"></td>
                <td background="images/cadre_02.gif" width="410" height="5"></td>
                <td background="images/cadre_03.gif" width="5" height="5"></td>
              </tr>
            </table>
            <table width="420" cellpadding="0" cellspacing="0">
              <tr>
                <td background="images/cadre_04.gif" width="5" height="190"></td>

                <td background="images/cadre_05.gif" width="410" height="190" valign="top" align="center">
				<span class="nom_groupe"><?php echo $Tab["nom_groupe"]; ?></span>
				<br><br>
				<img src="images/<?php echo $Tab['img_groupe']; ?>">
				</td>
				
                <td background="images/cadre_06.gif" width="5" height="190"></td>
              </tr>
            </table>
            <table width="420" cellpadding="0" cellspacing="0">
              <tr>
                <td background="images/cadre_07.gif" width="5" height="5"></td>
                <td background="images/cadre_08.gif" width="410" height="5"></td>
                <td background="images/cadre_09.gif" width="5" height="5"></td>
              </tr>
            </table>
         </td>
<?php 
$compteur=$compteur+1;
}
echo '<tr></tr>';
$compteur=$compteur=0; 
?>
        </tr>
     </table>
<?php } ?>
C'est quasiment ce que je veux le seul hic c'est qu'il m'affiche le même enregistrement dux fois sur la même ligne.

Là je vois pas trop commen m'en sortir

Merci

par d0m » 02 oct. 2007, 16:33

Il te suffit de mettre un compteur que tu incrémentes à chaque fois que tu affiches un groupe.
- Si le compteur est impair (1,3,5,...), tu écris dans une nouvelle ligne du tableau (<tr>)
- Si le compteur pair (2,4,6,...), tu écris dans une cellule de la même ligne du tableau et tu refermes la ligne (</tr>)

par Z3lg4dis » 02 oct. 2007, 16:16

merci pour tous ces conseils

C'est bon j'ai réglé le problème mais ça ne met pas deux groupes par ligne ça les mets l'un en dessous de l'autre

par d0m » 02 oct. 2007, 16:01

c'est parce que tu n'executes pas ta requête. As tu au moins regardé le manuel de la fonction mysql_fetch_assoc ?
Il y a des exemples, ca te permettra de comprendre.