Lire toutes les 2 lignes en SQL/PHP [Résolu/Fermé]

Signaler
Messages postés
119
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
18 décembre 2011
-
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
-
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

Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
222
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 -.- ...
Messages postés
119
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
18 décembre 2011
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 ?
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
222
<?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 ...
Messages postés
119
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
18 décembre 2011
1
Mais le reste du jeu sera pour la pioche
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
222
euuux, c'est pas trop mon truc les jeux de cartes !!! :s ...