Lire toutes les 2 lignes en SQL/PHP

Résolu/Fermé
anto2b Messages postés 119 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 18 décembre 2011 - 8 oct. 2011 à 13:51
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 8 oct. 2011 à 14:32
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 ?
A voir également:

3 réponses

JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 8/10/2011 à 14:04
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
anto2b Messages postés 119 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 18 décembre 2011 1
8 oct. 2011 à 14:12
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
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
8 oct. 2011 à 14:24
<?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
anto2b Messages postés 119 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 18 décembre 2011 1
8 oct. 2011 à 14:25
Mais le reste du jeu sera pour la pioche
0
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
8 oct. 2011 à 14:32
euuux, c'est pas trop mon truc les jeux de cartes !!! :s ...
0