Page 1 sur 1

Le nombre de champs.. ? a laide !

Posté : 18 déc. 2008, 01:27
par Poinball
Bonjour, j'ai ce code si-dessous qui Donne ce tableau
Image
$reponse = mysql_query("SELECT COUNT(*) AS nbre_entrees from ticket "); 
$donnees = mysql_fetch_array($reponse); 

$utilisateur = 'SELECT * FROM ticket WHERE login="'.$_SESSION['login'].'" order by id desc'; 
$resultat = mysql_query($utilisateur); 

$a = 1;
echo " <table border=\"0\" width=\"75%\" > ";
do {
$rows = mysql_fetch_array($resultat); 
if (!isset($rows['jeux'])) {
break;
}
$jeux = $rows['jeux'];
$fini = $rows['fini'];
if (preg_match("/$jeux/", $var_jeux) == 0) { //ont vérifie si le jeux est dans la liste.
if ($a == 1) {
$var_jeux = $jeux; //ont sais que var_jeux existe pas, ont l'a crée

$reponse = mysql_query('SELECT COUNT(*) AS nbre_entrees from ticket Where login="'.$_SESSION['login'].'"'); 
$donnees = mysql_fetch_array($reponse) or die(mysql_error());;
		
$nbticket= $donnees['nbre_entrees'];



echo"<font color=\"#FFFFFF\"> Mes tirages en cours </font>"; 

	echo "<tr>
		<td width=\"190\" bgcolor=\"#FFCC66\">
		<p align=\"center\"><b><u>Vos Tirage(s)</b></u></td>
		<td bgcolor=\"#FFCC66\">
		<p align=\"center\"><b><u>Nombre de tickets</b></u></td>
		<td bgcolor=\"#FFCC66\">
		<p align=\"center\"><b><u>Prend fin le</b></u></td>

	</tr>";
}
echo "
	<tr>
		<td width=\"150\" bgcolor=\"#FFFFFF\">
		<p align=\"center\">$jeux</td>
	<td width=\"220\" bgcolor=\"#FFFFFF\">
		<p align=\"center\">$nbticket</td>
		<td width=\"170\" bgcolor=\"#FFFFFF\">
		<p align=\"center\">$fini</td>
	</tr>
	
 ";
  if ($a != 1) { //ont s'assure que c'est pas le premier while.
  $var_jeux .= ",$jeux"; //ont insert le jeux dans la liste des jeux inscrits sur le tableau
  }
   $a = 2; //ont insert 2 pour pas refaire le tableau n#1
 }
} while(true);
Je voudrais que le nombre de tickets ne soit que seulement pour le jeux correspondant et non pour tout les jeux qui sont à ce membre... Dans ma Table il y a Cela :
Image
Alors je voudrais que Dans la colonne Nombre de ticket sur la ligne du jeux TomRaider il n'y ait que 4 comme valeur ... Merci ! Jespere que je ne suis pas trop compliquer a comprendre :oops:

Posté : 18 déc. 2008, 02:11
par Elie
SELECT COUNT(*) AS nbre_entrees from ticket Where jeux = '".$jeux ."'

Je pense a ca non ?

Posté : 18 déc. 2008, 02:27
par Poinball
Quand je tante de faire ça mes valeur tombe a 0 :S

Posté : 18 déc. 2008, 02:41
par Elie
Tu codes vraiment comme un pied au passage :)
Je te conseille de revoir tes bases sur PHPDebutant.org
<table width="75%">
 <tr>
  <td colspan="3"><font color="#fff">Mes tirages en cours </font></td>
 </tr>
 <tr>
  <td width="190" bgcolor="#fc6" align="center"><b><u>Vos Tirage(s)</b></u></td>
  <td bgcolor="#fc6" align="center"><b><u>Nombre de tickets</b></u></td>
  <td bgcolor="#fc6" align="center"><b><u>Prend fin le</b></u></td>
 </tr>

<?php

	$sql = "SELECT DISTINCT jeux FROM `ticket` WHERE login = '".$_SESSION['login']."' ORDER BY id DESC"; // Avec DISTINCT il n'affichera que une fois le jeu
	$req = mysql_query($sql) or die('Erreur MySQL<br />'.$sql.'<br />'.mysql_error());
	while($row = mysql_fetch_array($req)) {
		
	// On fait une boucle pour chaque jeu	
	$sql_jeux = "SELECT fini FROM `ticket` WHERE login = '".$_SESSION['login']."' AND jeux = '".$row['jeux']."'";
	$req_jeux = mysql_query($sql_jeux) or die('Erreur MySQL<br />'.$sql_jeux.'<br />'.mysql_error());
	$num = mysql_num_rows($req_jeux); // On regarde le nombre d'entrée donc le nombre de ticket
	
		while($jeux = mysql_fetch_array($req_jeux)) {
			
			echo ' <tr>
			  <td bgcolor="#fff" align="center">'.$row['jeux'].'</td>
			  <td bgcolor="#fff" align="center">'.$num.'</td>
			  <td bgcolor="#fff" align="center">'.$jeux['fini'].'</td>
			 </tr>';
			 
		}
 
	}

?>
</table>

Posté : 18 déc. 2008, 02:51
par Poinball
Tu as Tester ton code ? Il Ne donne pas dutout ce que je recherche .. il sort toute les tickets du membre .... Je ne veux que 1 fois le jeux .. Sinon le Nombre de tickets est bon ..

Exemple que je veux que ça donne :
| Vos tirages | Nombre de tickets | Date de la fin |
----------------------------------------------------------
|TomRaider | 6 | 12 sept 08 |
----------------------------------------------------------
|Robocop | 2 | 345345 08 |
----------------------------------------------------------

Juste les 2 jeux avec le Nombre de ticket qu'il a pris .. Pas toute les tickets au complet la ..
Regarde ce que ça donne .. :
Image

Posté : 18 déc. 2008, 10:02
par zeus
Tu as Tester ton code ? Il Ne donne pas dutout ce que je recherche .. il sort toute les tickets du membre .... Je ne veux que 1 fois le jeux .. Sinon le Nombre de tickets est bon ..
Non mais ne rêve pas non plus :evil:

On te donne des pistes et TU fais.
Je trouve que Elie est déjà bien assez gentil de corriger ton code, tu pourrais au moins faire l'effort restant plutôt que de te plaindre que ça ne fait pas exactement ce que tu demandes. :?

Posté : 18 déc. 2008, 13:39
par Elie
J'ai pas testé mon code parce que je n'ai pas ta table sur mon serveur...

Mais normalement il est bon ...

DISTINCT jeux fait 2 boucles Tomb Raider et Robocop
Et le reste affiche les infos pour ces 2 jeux.

Posté : 18 déc. 2008, 20:58
par Poinball
tu pourrais au moins faire l'effort restant plutôt que de te plaindre que ça ne fait pas exactement ce que tu demandes. :?
s'il ne m'avait pas insulté je ne m'aurais pas plaint ..

Posté : 18 déc. 2008, 21:03
par Elie
Moué ...

Mine de rien le post est [Résolu]