Lire toutes les 2 lignes en SQL/PHP

Résolu
anto2b Messages postés 137 Statut Membre -  
JooS Messages postés 2705 Statut Membre -
Bonjour,

Le code suivant permet de lire chaque ligne de la table :

<?php
include'connect_bdd.php';
		
				
$reponse = $bdd->query('SELECT * FROM cartes ORDER BY RAND()');

while ($donnees = $reponse->fetch())
{
echo '<img width="110px" src="cartes/'.$donnees['image'].'"/>';
}
$reponse->closeCursor(); 
?>


Ce que j'aimerais c'est que ca lise seulement toutes les 2 lignes . Comment faire ?

3 réponses

  1. JooS Messages postés 2705 Statut Membre 228
     
    Salut ...

    Euuux, seulement toutes les 2 lignes ... qui veut dire, ça lit la ligne 0, 2, 4, 6 ... ou bien 0, 3, 6, 9, ...

    Bref, c'est faisable avec par exemple une condition ...
    Pour le premier exemple ...
    <?php  
    include'connect_bdd.php';  
        
          
    $reponse = $bdd->query('SELECT * FROM cartes ORDER BY RAND()');  
    $i = 0;  
    while ($donnees = $reponse->fetch())  
    {  
    if($i%2 == 0)  
        echo '<img width="110px" src="cartes/'.$donnees['image'].'"/>'; 
    
    $i++; 
    }  
    $reponse->closeCursor();   
    ?>


    Mettez en résolu quand c'est résolu -.- ...
    0
  2. anto2b Messages postés 137 Statut Membre 1
     
    Voilà plus précisement ce que j'aimerais faire.

    J'ai fait un RAND de la table carte.
    J'aimerais faire un distribution carte par carte (il y a 2 joueurs). Chaque joueurs doit avoir 8 cartes en main.

    Donc Joueur 1 aura les cartes : 1 3 5 7 9 11 13 15
    Joueur 2 aura les cartes : 2 4 6 8 10 12 14 16.

    Comment pourrais-je l'adapter ?
    0
    1. JooS Messages postés 2705 Statut Membre 228
       
      <?php  
      include'connect_bdd.php';  
      
      $reponse = $bdd->query('SELECT * FROM cartes ORDER BY RAND()');  
      $i = 0;  
      while ($donnees = $reponse->fetch())  
      {  
      if($i%2 == 0)  echo '<img width="110px" src="cartes/'.$donnees['image'].'"/>'; 
      else  echo '<img width="110px" src="cartes/'.$donnees['image'].'"/>'; 
      $i++; 
      }  
      $reponse->closeCursor();   
      ?>


      Donc le if il sera pour le premier joueur, le else pour le deuxième joueur ...

      PS : tu devrais ajouter LIMIT 16 dans ta requête ... vu que chaque joueur doit avoir 8 cartes ...
      0
  3. anto2b Messages postés 137 Statut Membre 1
     
    Mais le reste du jeu sera pour la pioche
    0
    1. JooS Messages postés 2705 Statut Membre 228
       
      euuux, c'est pas trop mon truc les jeux de cartes !!! :s ...
      0