[résolu] problème paramètres

Mammouth du PHP | 790 Messages

26 déc. 2011, 14:01

ok, sur ma page qui affiche tout les résultats, je te montre le système de vote mais tu le connais déjà:
    <!--ZONE VOTES-->      
  	<script type="text/javascript" src="webroot/vote/jquery-1.4.1.min.js"></script>
	<script type="text/javascript" src="webroot/vote/jquery.rater.js"></script> 
        
<?php		

        //connexion
        $dbh = new PDO('......', $pdo_options);
        $dbh -> setAttribute (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		$id_question = '3'; 
		$id_chien = $donnees['id_chien']; 
    try
    {		
		// calcul de la moyenne des notes d'une quesion pour un chien
		$moy = $dbh->query("SELECT AVG(note) as moyenne FROM vote where `id_question` = '".$id_question."' AND `id_chien`='".$id_chien."'");
		$data = $moy->fetch();
		$moyenne_1 = round($data["moyenne"]);
    }
    catch( PDOException $exception )
    {
        die($exception->getMessage());
    }
    $dbh = NULL;		
		
?>        
        
<table align="center">
	<tr>
		<td>IMG</td>
		<td>
			<div id="1" class="vote"></div>	
				<script type='text/javascript'>
					$('#1').rater("webroot/vote/ratingsdemo.php?id_question=3&id_chien=1", {curvalue:<?php echo $moyenne_1; ?>});
				</script>
		</td> 

	</tr>

</table>
    
    <!-- FIN ZONE DE VOTES--> 
je te montre maintenant un code qui affiche les résultats d'un parents (le pere) au sein de son bloc, le 1er des 14 qui sont en dessous l’individu principale:
<?php
// cet array est créée dans le page principale 
    // js crée un array pour recuperer id du pere
    $id_cp = array ($donnees['id_pere']);

    include "webroot/parents/pere.php" 
?>

j'ai 14 fois le script qui suit, 1 pour chaque parents...

<?php
         if (!empty($donnees[lof_pere]))  
         {

        /**
         * On traite le pere du chien
         */
        foreach($id_cp as $c => $idc)
            {
        // nouvelle requete pour lier les votes aux IDs
        $sql_cp  = "SELECT
                          qt.id_question,
                          vt.id_chien, 
                       COUNT( vt.note ) AS nombre_de_notes, 
                       IFNULL( ROUND(AVG( vt.note )), 0.00 )   AS note_moyenne 
                       FROM questionnaire      qt 
                       LEFT OUTER JOIN vote  vt  ON qt.id_question = vt.id_question AND vt.id_chien = ". $idc ."
                       GROUP BY qt.id_question 
                       ORDER BY qt.id_question";
        $req_cp = $bdd->query($sql_cp);
        // On affiche chaque entrée une à une
        if(false !== ($infosvotes  = $req_cp->fetchAll(PDO::FETCH_ASSOC)))
        {
            /**
             * $c est l'index du tableau $id_chien, donc 0 pour le chien, 1 pour le 
             * père et 2 pour la mère.
             * On va maintenant boucler sur les résultats de la seconde requête
             * pour construire les lignes de notation :
             * d'abord, ouverture du tableau 
             */
            $sLigneNotes     = '';
            $sNombreQuestion = '';
            /* Maintenant on boucle sur les notes : */
            foreach($infosvotes  as $l => $info)
            {
                /* S'il y a une ligne pour la note traitée */
                if($info['nombre_de_notes'] > 0)
                {
                    /**
                     * Comme la note moyenne est un nombre flottant, on doit récupérer uniquement la valeur entière :
                     */
                    $note = abs($info['note_moyenne']);
                    $sLigneNotes .= <<<CODE_HTML
                                <td><center><img src="webroot/images/votes/{$note}.png" title="Moyenne ({$note})"/></center></td>
                                   
CODE_HTML;
                }
                else
                {
                    $sLigneNotes .= <<<CODE_HTML
                                <td><center><img src="webroot/images/votes/0.png" title="Moyenne des votes"/></center></td>
                        
CODE_HTML;

                }
                $sNombreQuestion .= <<<CODE_HTML
                                <td title="Nombres des votes"><center>{$info['nombre_de_notes']}</center></td>
                        
CODE_HTML;
            }
            $sTableau = <<<CODE_HTML
                                <hr width="70%"/>
                        Questions, moyennes et nombres de votes    
<table width="90%">
    <tr>
        <td title="Question 1"><center>1</center></td> 
        <td title="Question 2"><center>2</center></td> 
        <td title="Question 3"><center>3</center></td> 
        <td title="Question 4"><center>4</center></td>         
        <td title="Question 5"><center>5</center></td> 
        <td title="Question 6"><center>6</center></td>         
        <td title="Question 7"><center>7</center></td> 
        <td title="Question 8"><center>8</center></td>         
        <td title="Question 9"><center>9</center></td> 
        <td title="Question 10"><center>10</center></td>         
        
    </tr>            
    <tr>
        {$sLigneNotes}                            
    </tr> 
    <tr>
        {$sNombreQuestion}                            
    </tr>                            
</table>
                        
CODE_HTML;
        }
        /* Fin du tour de boucle traitant un chien, le tableau est prêt, on peut l'afficher */
        echo($sTableau);

        
    }
 $req_cp->closeCursor(); // Important : on libère le curseur pour la prochaine requête   
 
         }
         else
         {   // Le pseudo est déjà utilisé
             echo '<br />';
             echo 'Ce chien n\'est pas enregistrer';
         }    
    
    

?>
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Mammouth du PHP | 790 Messages

26 déc. 2011, 15:31

donc, j'en suis la:

page principale:
    <!--ZONE VOTES--> 
    <center>
<?php                    
    // js crée un array pour recuperer id du pere
    $id_ch = array ($donnees['id_chien']);

    include "webroot/parents/chien.php" 
?>
    </center>
    <!-- FIN ZONE DE VOTES--> 
ensuite, le script qui calcul, je met les 2 codes pour éviter de changer de page pour comparer...

  	<script type="text/javascript" src="webroot/vote/jquery-1.4.1.min.js"></script>
	<script type="text/javascript" src="webroot/vote/jquery.rater.js"></script> 
        
<?php		

        //connexion
        $dbh = new PDO('.........', $pdo_options);
        $dbh -> setAttribute (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		$id_question = '3'; 
		$id_chien = $donnees['id_chien']; 
    try
    {		
		// calcul de la moyenne des notes d'une quesion pour un chien
		$moy = $dbh->query("SELECT AVG(note) as moyenne FROM vote where `id_question` = '".$id_question."' AND `id_chien`='".$id_chien."'");
		$data = $moy->fetch();
		$moyenne_1 = round($data["moyenne"]);
    }
    catch( PDOException $exception )
    {
        die($exception->getMessage());
    }
    $dbh = NULL;		
		
?>        
        
<table align="center">
	<tr>
		<td>IMG</td>
		<td>
			<div id="1" class="vote"></div>	
				<script type='text/javascript'>
					$('#1').rater("webroot/vote/ratingsdemo.php?id_question=3&id_chien=1", {curvalue:<?php echo $moyenne_1; ?>});
				</script>
		</td> 

	</tr>

</table>

 <?php
          if (!empty($donnees[lof_chien]))  
         {

        /**
         * On traite le pere du chien
         */
        foreach($id_ch as $c => $idc)
            {
        // nouvelle requete pour lier les votes aux IDs
        $sql_ch  = "SELECT
                          qt.id_question,
                          vt.id_chien, 
                       COUNT( vt.note ) AS nombre_de_notes, 
                       IFNULL( ROUND(AVG( vt.note )), 0.00 )   AS note_moyenne 
                       FROM questionnaire      qt 
                       LEFT OUTER JOIN vote  vt  ON qt.id_question = vt.id_question AND vt.id_chien = ". $idc ."
                       GROUP BY qt.id_question 
                       ORDER BY qt.id_question";
        $req_ch = $bdd->query($sql_ch);
        // On affiche chaque entrée une à une
        if(false !== ($infosvotes  = $req_ch->fetchAll(PDO::FETCH_ASSOC)))
        {
            /**
             * $c est l'index du tableau $id_chien, donc 0 pour le chien, 1 pour le 
             * père et 2 pour la mère.
             * On va maintenant boucler sur les résultats de la seconde requête
             * pour construire les lignes de notation :
             * d'abord, ouverture du tableau 
             */
            $sLigneNotes     = '';
            $sNombreQuestion = '';
            /* Maintenant on boucle sur les notes : */
            foreach($infosvotes  as $l => $info)
            {
                /* S'il y a une ligne pour la note traitée */
                if($info['nombre_de_notes'] > 0)
                {
                    /**
                     * Comme la note moyenne est un nombre flottant, on doit récupérer uniquement la valeur entière :
                     */
                    $note = abs($info['note_moyenne']);
                    $sLigneNotes .= <<<CODE_HTML
                                <td><center><img src="webroot/images/votes/{$note}.png" title="Moyenne ({$note})"/></center></td>
                                   
CODE_HTML;
                }
                else
                {
                    $sLigneNotes .= <<<CODE_HTML
                                <td><center><img src="webroot/images/votes/0.png" title="Moyenne des votes"/></center></td>
                        
CODE_HTML;

                }
                $sNombreQuestion .= <<<CODE_HTML
                                <td title="Nombres des votes"><center>{$info['nombre_de_notes']}</center></td>
                        
CODE_HTML;
            }
            $sTableau = <<<CODE_HTML
                                <hr width="70%"/>
                        Questions, moyennes et nombres de votes    
<table width="90%">
    <tr>
        <td title="Question 1"><center>1</center></td> 
        <td title="Question 2"><center>2</center></td> 
        <td title="Question 3"><center>3</center></td> 
        <td title="Question 4"><center>4</center></td>         
        <td title="Question 5"><center>5</center></td> 
        <td title="Question 6"><center>6</center></td>         
        <td title="Question 7"><center>7</center></td> 
        <td title="Question 8"><center>8</center></td>         
        <td title="Question 9"><center>9</center></td> 
        <td title="Question 10"><center>10</center></td>         
        
    </tr>            
    <tr>
        {$sLigneNotes}                            
    </tr> 
    <tr>
        {$sNombreQuestion}                            
    </tr>                            
</table>
                        
CODE_HTML;
        }
        /* Fin du tour de boucle traitant un chien, le tableau est prêt, on peut l'afficher */
        echo($sTableau);

        
    }
 $req_ch->closeCursor(); // Important : on libère le curseur pour la prochaine requête   
 
         }
         else
         {   // Le pseudo est déjà utilisé
             echo '<br />';
             echo 'Ce chien n\'est pas enregistrer';
         }    
    
    
 ?>
je pense que maintenant mes seul modif a faire sont au niveau du tableau html pour obtenir l'affichage que je veux ?

la le résultats a l'affichage est: http://i45.servimg.com/u/f45/13/05/90/60/captur13.png
IMG + les 9 led bleu correspondent a la 1ere partie du script et "question moyenne vote" correspond au forech...
Modifié en dernier par juliette le 26 déc. 2011, 20:27, modifié 1 fois.
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Mammouth du PHP | 790 Messages

26 déc. 2011, 15:47

je pense que ca va le faire mais je me pose une question:
la présentation du système de vote que je veux obtenir est celle la: http://www.servimg.com/image_preview.ph ... u=13059060 un tableau sur 5 rangées et 2 colonnes et le foreach que j'ai le fait sur 1 colonne et 10 rangées et je ne vois pas du tout comment faire pour avoir 2 colonnes mis a part 2 foreach, 1 pour chaque colonnes #-o
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

ViPHP
ViPHP | 2287 Messages

26 déc. 2011, 16:04

je pense que ca va le faire mais je me pose une question:
la présentation du système de vote que je veux obtenir est celle la: http://www.servimg.com/image_preview.ph ... u=13059060 un tableau sur 5 rangées et 2 colonnes et le foreach que j'ai le fait sur 1 colonne et 10 rangées et je ne vois pas du tout comment faire pour avoir 2 colonnes mis a part 2 foreach, 1 pour chaque colonnes #-o
Il y a trois façons de faire :
- la "vraie" gestion de colonnes dans un tableau (toujours bonne à connaître), pour laquelle je te renvoie, dans tous les cas, à la lecture de l'excellent tuto de Ryle : faq-tutoriels/nombre-colonnes-dynamique ... 41626.html

Comme dans ton cas tu te limites à deux colonnes il y a deux autres possibilités :
- Une variante moins mathématique (pas de modulo) de la même méthode que celle du tuto, se basant juste sur la gestion d'un compteur dans ta boucle (savoir si le compteur est pair ou impair pour déterminer la colonne en cours, gauche ou droite - en gros gérer la parité d'un nombre équivaut à gérer un modulo d'ordre 2 tout bêtement)
- Enfin, une façon + 'visuelle' (sans compteur ni balisage spécifique) qui consiste à obtenir d'abord l'affichage à plat des 10 éléments, puis de jouer sur les propriétés css pour dimensionner les boîtes et forcer un affichage en colonnes.

Tout ça étant complètement indépendant de ton système de notation, tu peux si tu le souhaites créer un post dédié dans le forum qui va bien (html css).
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Mammouth du PHP | 790 Messages

26 déc. 2011, 16:27

as tu un tuto de la 2eme méthode, celle de Ryle est encore un peut dure a comprendre comme ça au 1er abord...
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

ViPHP
ViPHP | 2287 Messages

26 déc. 2011, 18:40

as tu un tuto de la 2eme méthode, celle de Ryle est encore un peut dure a comprendre comme ça au 1er abord...
Je ne sais pas s'il y en a un, voici un tuto vite-fait (pas trop j'espère)mal-fait :
<?php
// Nous allons afficher un tableau de deux colonnes et un nombre variable de lignes
// en nous appuyant sur la parité ou non de l'index en cours.

// Pour corser les choses on va partir d'un tableau contenant un nombre impair d'éléments
// (qui fonctionnera d'autant mieux si le nombre d'éléments est pair...).
$legumes=array('carotte','patate','chou','navet','brocoli','poireau','haricot');

echo '<table border="1">';

foreach($legumes as $k=>$legume){
  // Ici c'est le $k, l'index du tableau, qui nous sert de curseur 
  //(même s'il n'est pas apparent au dessus, on peut quand même le visualiser
  // avec un print_r($legumes) ).
  
  
  // Nous devons d'abord déterminer si $k est pair ou impair 
  // (pour savoir si nous affichons un début de ligne ou une fin de ligne)
  // Nous allons vérifier pour cela l'égalité du résultat de la division de $k par 2
  // avec le même calcul dont nous forçons la conversion en tant qu'entier.
  // Ainsi :
  // si $k est égal à 3, $k/2 == 1.5 (pas entier) mais (int)($k/2) == 1
  // si $k est égal à 6, $k/2 == 3 (entier) et (int)($k/2) == 3
  $parite=(int)($k/2) == $k/2;
  
  // A noter que $k commence à 0, la première itération (début de ligne) est donc un nombre pair.
  // Si le $k est pair, on ouvre la ligne avant d'afficher la cellule.
  if($parite){
	$ligne_ouverte=true;
  	echo "<tr>";
  }
  
  // Dans les deux cas on affiche la cellule
  echo "<td>".$legume."</td>";
  
    // Si le $k est impair, on ferme la ligne après avoir affiché la cellule.
  if(!$parite){
	echo "</tr>";
	$ligne_ouverte=false;
  }
} // fin de boucle.


// Il ne nous reste maintenant qu'à gérer la fermeture de la ligne au cas où 
// la dernière intération de la boucle aurait laissé la ligne ouverte.
// On complète la ligne avec une cellule vide (on y met un espace), puis on la ferme.
if($ligne_ouverte){
  echo "<td>&nbsp;</td></tr>";
}


echo '</table>';
Le résultat (les sauts de ligne sont faits à la main) :
<table border="1">
  <tr>
    <td>carotte</td>
    <td>patate</td>
  </tr><tr>
    <td>chou</td>
    <td>navet</td>
  </tr><tr>
    <td>brocoli</td>
    <td>poireau</td>
  </tr><tr>
    <td>haricot</td>
    <td>&nbsp;</td>
  </tr>
</table>
+----------+----------+
|  carotte |  patate  |
+----------+----------+
|   chou   |   navet  |
+----------+----------+
|  brocoli |  poireau |
+----------+----------+
|  haricot |          |
+----------+----------+
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Mammouth du PHP | 790 Messages

26 déc. 2011, 21:04

la, avec ce code:
 <?php
// declatation de l'array
$question=array('q_1','q_2','q_3','q_4','q_5','q_6','q_7', 'q_8', 'q_9', 'q_10');

echo '<table border="1">';

foreach($question as $k=>$question)
{

     
  $parite=(int)($k/2) == $k/2;

if($parite)
{
    $ligne_ouverte=true;
    echo "<tr>";
}
  
  // Dans les deux cas on affiche la cellule
  echo "<td>".$question."</td>";
  echo '<td> variable </td>';
    // Si le $k est impair, on ferme la ligne après avoir affiché la cellule.
  if(!$parite){
        echo "</tr>";
        $ligne_ouverte=false;
  }
} // fin de boucle.
if($ligne_ouverte)
{
    echo "<td>&nbsp;</td></tr>";
}


echo '</table>';       
?>
et j'obtiens ça: http://i45.servimg.com/u/f45/13/05/90/60/captur14.png

donc, maintenant je remplace le mot variable par mon script:
			<div id="1" class="vote"></div>	
				<script type='text/javascript'>
					$('#1').rater("webroot/vote/ratingsdemo.php?id_question=3&id_chien=1", {curvalue:<?php echo $moyenne_1; ?>});
				</script>
et ensuite je fait un autre foreach pour joindre les notes et moyennes, c'est bien ça ?
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Mammouth du PHP | 790 Messages

26 déc. 2011, 22:32

maintenant, j'ai l’affichage comme ça: http://i45.servimg.com/u/f45/13/05/90/60/captur15.png

je fait un nouveau foreach pour les bonnes moyennes ?
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Mammouth du PHP | 790 Messages

26 déc. 2011, 22:39

comme ca:
<script type="text/javascript" src="webroot/vote/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="webroot/vote/jquery.rater.js"></script> 
        
  
<?php
// declatation de l'array
$question=array('1','2','3','4','5','6','7', '8', '9', '10');

echo '<table border="1">';

foreach($question as $k=>$question)
{
//connexion
    $dbh = new PDO('......', $pdo_options);
    $dbh -> setAttribute (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $id_question = '3'; 
    $id_chien = $donnees['id_chien']; 
    try
    {		
        // calcul de la moyenne des notes d'une quesion pour un chien
	$moy = $dbh->query("SELECT AVG(note) as moyenne FROM vote where `id_question` = '".$id_question."' AND `id_chien`='".$id_chien."'");
	$data = $moy->fetch();
	$moyenne = round($data["moyenne"]);
    }
    catch( PDOException $exception )
    {
        die($exception->getMessage());
    }
    $dbh = NULL;
     
    $parite=(int)($k/2) == $k/2;

if($parite)
{
    $ligne_ouverte=true;
    echo "<tr>";
}
?>  
  <!--Dans les deux cas on affiche la cellule-->
  
  <td><?php echo $question; ?> </td>
  <td>
    <div id="<?php echo $question; ?>" class="vote"></div>	
    <script type='text/javascript'>
        $('#<?php echo $question; ?>').rater("webroot/vote/ratingsdemo.php?id_question=3&id_chien=<?php echo $donnees['id_chien'];?>");
    </script>  
  </td>
  
<?php  
    // Si le $k est impair, on ferme la ligne après avoir affiché la cellule.
  if(!$parite){
        echo "</tr>";
        $ligne_ouverte=false;
  }
} // fin de boucle.
if($ligne_ouverte)
{
    echo "<td>&nbsp;</td></tr>";
}


echo '</table>';       
?>
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

ViPHP
ViPHP | 2287 Messages

26 déc. 2011, 22:45

Non désolé tu n'y es pas (et je pense que tu dois déjà le savoir pour avoir essayé)...

1/ Ta première "erreur" c'est de partir d'un tableau :
- Qui ne ressemble pas au tableau que tu vas manipuler au final, c'est à dire aux résultats de la base de données tels que retournés par PDO, voire même directement du résultat.
- Qui tombe de manière très (trop) pratique sur un nombre pair de résultats. Or, et ça tu ne l'as peut-être pas réalisé, mais tu n'as pas l'assurance d'avoir 10 résultats pour ta requête (le nombre de résultats retournés peut varier entre 0 et 10 suivant ce que la base de données voudra/pourra te retourner, voire même davantage si tu n'as pas mis de clause LIMIT).

2/ Du coup tu as tenté une adaptation à la va-vite du script en 4 colonnes, qui ne marche que dans le cas très précis (et idéal) où tu l'as testée. Vu que tu ne m'as pas parlé de 4 colonnes mais de deux, le script doit être adapté pour ton besoin particulier (ou alors il faut que tu partes sur une mise en page qui ne te fait pas multiplier les colonnes). Essaye avec un nombre impair d'éléments pour voir...

3/ Il pourrait être judicieux de factoriser le javascript, ce qui évite de multiplier les balises <script> dans le corps de page. Ce n'est pas obligatoire mais juste plus propre. Et ton javascript demandera lui aussi des modifications pour le passage en boucle comme on l'a vu plus haut.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

ViPHP
ViPHP | 2287 Messages

26 déc. 2011, 22:51

Pour ton jeu de données, essaye donc avec ce tableau-ci (tu peux adapter les noms des champs pour coller à ceux de ta base de données, je fais exprès de ne mettre que 3 questions - cela suffira à tester le script, tu peux aussi rajouter des champs si besoin) :
<?php
$question=array(
  array(
    'id' => 1,
    'titre' => "Quelle est la couleur du cheval blanc d'Henri 4 ?",
  ),
  array(
    'id' => 59,
    'titre' => "Combien y a t-il de Dalmatiens ?",
  ),
  array(
    'id' => 1674,
    'titre' => "Comment reconnaît-on un berger belge ?",
  ),
);
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Mammouth du PHP | 790 Messages

26 déc. 2011, 22:55

avec un nombre impaire, donc comme ça: $question=array('1','2','3','4','5','6','7', '8', '9');
j'ai cette présentation: http://i45.servimg.com/u/f45/13/05/90/60/captur16.png
pour mes erreurs il faut que je relise tous tes postes, je suis un peut perdu...

la ou je suis perdu c'est dans la structure du code, les étapes a suivre...
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

ViPHP
ViPHP | 2287 Messages

26 déc. 2011, 23:06

avec un nombre impaire, donc comme ça: $question=array('1','2','3','4','5','6','7', '8', '9');
j'ai cette présentation: http://i45.servimg.com/u/f45/13/05/90/60/captur16.png
Il te manque une cellule à la fin. Il faut compléter le code situé après la boucle pour tenir compte du <td> supplémentaire que tu imposes au script :D (eh oui tu ne m'avais pas parlé de 4 colonnes mais de 2).

Ensuite dans le jeu de données que je t'ai proposé dans mon dernier post, j'ai mis un tableau à deux dimensions au lieu d'une simple liste (qui se parcourt de la même manière que les résultats issus de ta base de données). Ce qui se rapproche au mieux de l'intégration finale avec ta requête sql.
pour mes erreurs il faut que je relise tous tes postes, je suis un peut perdu... la ou je suis perdu c'est dans la structure du code, les étapes a suivre...
Pas de souci, il y a de quoi se perdre :)

Le problème c'est que si je te laisse partir sur ta lancée, tu vas te retrouver avec un code bricolé que tu comprends à moitié, et des problèmes qui se produiront dans des circonstances "bizarres" que tu ne sauras pas reproduire et qui ne te parleront pas du tout. Je ne veux pas te compliquer la tâche, simplement que tu comprennes ce que tu fais et que tu écrives un code le plus propre possible histoire de t'y retrouver par la suite... Si tu es d'accord bien sûr.

On s'est pas mal éloignés du sujet de base aussi (l'intégration d'un petit script js/ajax), ça n'aide pas à s'y retrouver. Pour ça aussi que je te recommandais de scinder le problème en plusieurs posts.

En général, pour se faciliter le développement, il faudrait plutôt commencer par créer la structure html (statique) que l'on veut obtenir. On s'occupe dans un deuxième temps du style en CSS, puis des aspects dynamiques en javascript et php. C'est pas tout à fait l'ordre dans lequel tu t'y prends, n'est-ce pas ? 8-|
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Mammouth du PHP | 790 Messages

26 déc. 2011, 23:25

je ne t'ai pas dis 4 colonnes car pour moi je parlais de 2 colonnes dynamique, désolé :oops:
pour le code le plus propre possible, je suis aussi ok, il est clair que tu as raison :)
pour les scripts, je verrais après car si je mélange je vais pas m'en sortir, la j'en suis au moment ou j'essaye de me représenter trop de chose en même temps et du coup le cerveau bouillonne a fond...

le sujet en lui même est résolu, tu as raison, je ferme ce post et je reviens avec des questions plus précises le temps de revoir et relire tous :idea:
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.