8791 sujets

Développement web côté serveur, CMS

Pages :
(reprise du message précédent)

J'ai comme l'impression que tu ne maitrise pas complètement le code.

Depuis le code que je t'ai donnée, j'ai juste remis ta 2ieme requête SQL là où tu la mettais (puisqu'à voir c'est ça qui pose soucis sans que je ne sache pourquoi pour l'instant).

Et je reste donc avec ton code de base, mais avec la liste préfaite :

<?php
//Généré la liste des équipe
$liste_select = (isset($liste_select)) ? FALSE: $liste_select; //Si la variable n'est pas définis, la définir, sinon, elle reste à l'état précèdent
$reqliste = mysql_query("SELECT equipes FROM liste"); // Selectionner la liste des équipe
while($liste = mysql_fetch_assoc($reqliste)) // Générer la liste des équipes avec le résultat de ma requête
	{
	$liste_select.= '<option value="'.$liste['equipes'].'">'.$liste['equipes'].'</option>'."\n";
	}
$req1 = mysql_query("SELECT resbonus.numb, desbonus, bonusj FROM joueurs, resbonus, bonus WHERE resbonus.numb=bonus.numb AND resbonus.numj=joueurs.numj AND prenom='".$login."'" );

echo '<form method="post" action="updatepronosb.php">'."\n";

for($i = 1; $i <= 6; $i++)
	{
	$donnees = mysql_fetch_assoc($req1); 
	?>       

	<table width="75%" border="3" bordercolor="#000000" bgcolor="#3a75c5" valign="center">
		<tr>
			<td border="2" style="width:40px;">
				<font color="#FFFFFF" size="4">
					<strong>
						<input readonly type="text" style="text-align:center;color:#FFFFFF;background:#3a75c5" size="1" <?php echo 'name="demnumb'.$i.'" value="'.$donnees['numb'].'"'; ?>>
					</strong>
				</font>
			</td>

			<td border="2" style="width:160px;">
				<font color="#FFFFFF" size="4">
					<strong>
						<?php echo $donnees['desbonus']; ?>
					</strong>
				</font>
			</td>

			<td border="2" style="width:160px;">
				<font color="#FFFFFF" size="4">
					<strong>
						<?php echo '<select name="dembonusj'.$i.'">'.$liste_select.'</select>'; ?>
					</strong>
				</font>
			</td>
		</tr>   
	</table>             
	<?php
	}
mysql_close();
?>
	<p align="center"><input type="submit" style="align:center;" value="Valider"/></p>
	
</form>

Modifié par Super_baloo8 (16 Mar 2012 - 23:57)
Je comprends mon code de base mais pas trop la partie que tu rajoutes, c'est clair ! Smiley lol

En faite, j'ai appris le PHP au besoin, j'ai plein de lacune, après, c'est pas du professionnel pour moi, c'est un loisir ! Mais du coup, je peux comprendre que mon code ne soit pas "parfait" mais si ça marche avec de bonne performance ? Smiley biggrin
Après, ça me motive comme ça, morceau par morceau, j'essaie toujours de bien comprendre le code !

Je vais reprendre mes <td> en CSS quand j'aurai fini la partie PHP et justement, c'est une des dernières parties...

Ton code fonctionne sans souci, par contre, si la personne vient modifier des pronos, elle retombe sur le prono "par défaut" et pas le sien. D'ailleurs, ça peut être vide par défaut ?
orygynz a écrit :

Ton code fonctionne sans souci, par contre, si la personne vient modifier des pronos, elle retombe sur le prono &quot;par défaut&quot; et pas le sien. D'ailleurs, ça peut être vide par défaut ?


(Je n'ai pas modifié grand chose par rapport au premier code donné, j'ai juste remis la requête que j'avais sorti de la boucle for)

Mais dans ton code de base, le choix n'était pas gardé non plus ?

Sinon, avec le code que je t'ai donnée, il faut remplacer :

Ceci


$liste_select = (isset($liste_select)) ? FALSE: $liste_select; //Si la variable n'est pas définis, la définir, sinon, elle reste à l'état précèdent
$reqliste = mysql_query("SELECT equipes FROM liste"); // Selectionner la liste des équipe
while($liste = mysql_fetch_assoc($reqliste)) // Générer la liste des équipes avec le résultat de ma requête

	{
	$liste_select.= '<option value="'.$liste['equipes'].'">'.$liste['equipes'].'</option>'."\n";
	}


Par ça :


$reqliste = mysql_query("SELECT equipes FROM liste"); // Selectionner la liste des équipe
$liste = mysql_fetch_assoc($reqliste); // Générer la liste des équipes avec le résultat de ma requête


Et remplacer ceci :

<?php echo '<select name="dembonusj'.$i.'">'.$liste_select.'</select>'; ?>


par cela :

<?php 
	echo '<select name="dembonusj'.$i.'">'."\n";
	foreach($liste AS $value)
		{
		echo "\t".'<option value="'.$value.'"';
		if($value == $donnees['bonusj'])
			{
			echo ' selected="selected"';
			}
		echo '>'.$value.'</option>'."\n";
		}
	echo '</select>';
	?>


P.S : J'ai commencé comme toi, il y a maintenant près de 6 ans (date d'inscription sur AlsaS), sans aucune connaissance au départ Smiley cligne
Modifié par Super_baloo8 (19 Mar 2012 - 10:03)
Merci pour le code, par contre, y'a une erreur, il me dit :
Parse error: syntax error, unexpected '}', expecting ',' or ';' in C:\Program Files (x86)\EasyPHP-5.3.9\www\php\updatepanneaub.php on line 87


je comprends l'erreur mais j'arrive pas à trouver la bonne syntaxe... J'ai vraiment du mal avec le mélange des "" et ' ', c'est pour ça que je mets du code html et php en ouvrant et fermant le code php sur la page.

Par contre, pour le code initial que j'ai donné, si si le prono était affiché pour la personne avec le echo $donnees['bonusj']; Smiley lol . Je parle du formulaire standard.
Modifié par orygynz (18 Mar 2012 - 22:27)
Il t'indique qu'il manque une fermeture de quelque chose ..

Comme celle-ci :

echo ' selected="selected"';


(J'avais oublié de fermer la commande echo par son ; )

EDIT : Je ne vois pas de $donnees['bonusj'] dans ton code sur ton premier message ...
Modifié par Super_baloo8 (19 Mar 2012 - 10:02)
Alors, je parle du code sur le post : # 15 Mar 2012, 21:52:56

En faite, c'est le code avant que je tente la liste déroulante... Sur le 1er post, j'avais déjà tenté de mon côté...

Tu m'as fais devenir fou !! T'as modifié ton code initial pour ajouter le ";", je cherchais la diff partout ! Smiley lol

Je teste ça ce soir et te redis, merci pour ton aide ! Smiley cligne
ça fonctionne plus ! Smiley bawling

Du coup, j'ai une liste déroulante avec seulement le 1er choix Smiley eek

Je comprends pas pourquoi tu me dis d'enlever le while pour le $liste
Modifié par orygynz (19 Mar 2012 - 20:38)
C'est pas beau mais bon :

Remplace
$liste = mysql_fetch_assoc($reqliste); // Générer la liste des équipes avec le résultat de ma requête


Par ca
$liste_ = array();
while($liste = mysql_fetch_assoc($reqliste))
{
$liste_[] = $liste['equipes'];
}


Et remplace ceci :
foreach($liste AS $value)



Par cela :
foreach($liste_ AS $value)

Modifié par Super_baloo8 (22 Mar 2012 - 15:41)
C'est testé, ça fonctionne, pourquoi c'est pas beau ???

Sinon, j'ai la version finale modifié pour certains besoins, je pense que tu vas râler !!! Smiley lol


                               $date = date('Y-m-d');
				$refdate = '2012-04-15';
				mysql_connect("127.0.0.1", "", "");
				mysql_select_db("pronos");
		
				 ?>
				 <table width="75%" border="2" bordercolor="#000000" bgcolor="#d5213e" align="center">
				 <tr width="100%">
				 <td align="center" colspan="6"><p><font color="#FFFFFF" size="5" face="Calibri"><strong>Panneau de modification Bonus</strong></font></p></td>
				 </tr>
				 <tr>
				 <td border="2" style="width:40px;" align="center"><font color="#FFFFFF" size="4" face="Calibri"><strong>N°</strong></font></td>
				 <td border="2" style="width:160px;" align="center"><font color="#FFFFFF" size="4" face="Calibri"><strong>Bonus</strong></font></td>
				 <td border="2" style="width:160px;" align="center"><font color="#FFFFFF" size="4" face="Calibri"><strong>Choix</strong></font></td>
				 </tr>   
				 </table>               
				 <?php

				$req1 = mysql_query("SELECT resbonus.numb, desbonus, bonusj FROM joueurs, resbonus, bonus WHERE resbonus.numb=bonus.numb AND resbonus.numj=joueurs.numj AND prenom='".$login."'" );
				$reqliste = mysql_query("SELECT equipes FROM liste"); // Selectionner la liste des équipe
				$liste_ = array();
				while($liste = mysql_fetch_assoc($reqliste))
				{
				$liste_[] = $liste['equipes'];
				}								
				$reqliste2 = mysql_query("SELECT edf FROM liste"); // Selectionner la liste des équipe
				$liste2_ = array();
				while($liste2 = mysql_fetch_assoc($reqliste2))
				{
				$liste2_[] = $liste2['edf'];
				}	
				
				echo '<form method="post" action="updatepronosb.php">'."\n";
				
				for($i = 1; $i <= 7; $i++)
				{
				$donnees = mysql_fetch_assoc($req1);
					if ($refdate > $date)
					{						
						if ((($donnees['numb']) == '1') || (($donnees['numb'])=='5') || (($donnees['numb'])=='7'))
						{
						?> 
						<table width="75%" border="3" bordercolor="#000000" bgcolor="#3a75c5" valign="center">
							<tr>
								<td border="2" style="width:40px;"><font color="#FFFFFF" size="4"><strong>
											<input readonly type="text" style="text-align:center;color:#FFFFFF;background:#3a75c5" size="1" <?php echo 'name="demnumb'.$i.'" value="'.$donnees['numb'].'"'; ?>>
								</strong></font></td>
								<td border="2" style="width:160px;"><font color="#FFFFFF" size="4"><strong><?php echo $donnees['desbonus']; ?></strong></font>
								</td>
								<td border="2" style="width:160px;"><font color="#FFFFFF" size="4"><strong>
								<input type="text" style="text-align:center;color:#FFFFFF;background:#3a75c5" size="20" <?php echo 'name="dembonusj'.$i.'" value="'.$donnees['bonusj'].'"'; ?>></strong></font>
								</td>
							</tr>   
						</table>
						<?php
						}
						elseif (($donnees['numb']==2) || ($donnees['numb']==6))
						{					
						?>					
						<table width="75%" border="3" bordercolor="#000000" bgcolor="#3a75c5" valign="center">
							<tr>
								<td border="2" style="width:40px;"><font color="#FFFFFF" size="4"><strong>
											<input readonly type="text" style="text-align:center;color:#FFFFFF;background:#3a75c5" size="1" <?php echo 'name="demnumb'.$i.'" value="'.$donnees['numb'].'"'; ?>>
								</strong></font></td>
								<td border="2" style="width:160px;"><font color="#FFFFFF" size="4"><strong><?php echo $donnees['desbonus']; ?></strong></font>
								</td>
								<td border="2" style="width:160px;"><font color="#FFFFFF" size="4"><strong>
																	<?php
								echo '<select name="dembonusj'.$i.'">'."\n";
								foreach($liste_ AS $value)
									{
									echo "\t".'<option value="'.$value.'"';
									if($value == $donnees['bonusj'])
										{
										echo ' selected="selected"';
										}	
									echo '>'.$value.'</option>'."\n";
									}
								echo '</select>';
								?></strong></font>
								</td>
							</tr>   
						</table> 
						<?php
						}
						elseif (($donnees['numb']==3) || ($donnees['numb']==4))
						{					
						?>					
						<table width="75%" border="3" bordercolor="#000000" bgcolor="#3a75c5" valign="center">
							<tr>
								<td border="2" style="width:40px;"><font color="#FFFFFF" size="4"><strong>
											<input readonly type="text" style="text-align:center;color:#FFFFFF;background:#3a75c5" size="1" <?php echo 'name="demnumb'.$i.'" value="'.$donnees['numb'].'"'; ?>>
								</strong></font></td>
								<td border="2" style="width:160px;"><font color="#FFFFFF" size="4"><strong><?php echo $donnees['desbonus']; ?></strong></font>
								</td>
								<td border="2" style="width:160px;"><font color="#FFFFFF" size="4"><strong>
																	<?php
								echo '<select name="dembonusj'.$i.'">'."\n";
								foreach($liste2_ AS $value)
									{
									echo "\t".'<option value="'.$value.'"';
									if($value == $donnees['bonusj'])
										{
										echo ' selected="selected"';
										}	
									echo '>'.$value.'</option>'."\n";
									}
								echo '</select>';
								?></strong></font>
								</td>
							</tr>   
						</table> 
						<?php
						}
					}
					else
					{
					?> 
					<table width="75%" border="3" bordercolor="#000000" bgcolor="#3a75c5" align="center" valign="center">
					<tr>
					<td border="2" style="width:40px;" align="center"><font color="#FFFFFF" size="4"><strong><?php echo $donnees['numb']; ?></strong></font></td>
					<td border="2" style="width:160px;" align="center"><font color="#FFFFFF" size="4"><strong><?php echo $donnees['desbonus']; ?></strong></font></td>
					<td border="2" style="width:160px;" align="center"><font color="#FFFFFF" size="4"><strong><?php echo $donnees['bonusj']; ?></strong></font></td>
					</tr>			
					</table>
					<?php
					}
				}
				mysql_close();

Modifié par orygynz (25 Mar 2012 - 13:53)
Oui on peut râler pour le code HTML pas beau, mais ça hein =)

Sinon, pourquoi ça ?

$reqliste = mysql_query("SELECT equipes FROM liste"); // Selectionner la liste des équipe

				$liste_ = array();

				while($liste = mysql_fetch_assoc($reqliste))

				{

				$liste_[] = $liste['equipes'];

				}								

				$reqliste2 = mysql_query("SELECT edf FROM liste"); // Selectionner la liste des équipe

				$liste2_ = array();

				while($liste2 = mysql_fetch_assoc($reqliste2))

				{

				$liste2_[] = $liste2['edf'];

				}	


Ceci marche aussi :
$reqliste = mysql_query("SELECT equipes, edf FROM liste"); // Selectionner la liste des équipe
				$liste_ = array();
				$liste2_ = array();
				while($liste = mysql_fetch_assoc($reqliste))
				{
				$liste_[] = $liste['equipes'];
				$liste2_[] = $liste['edf'];
				}
J'ai hésite !!! En faite, quand j'ai réécris le code, j'ai voulu tenter ça et je me suis bloqué bêtement quand je lis ton code !!
En faite, c'est au moment du $liste['equipes'], j'ai pédalé dans la soupe... Smiley biggol

En tout cas, merci beaucoup pour tout ton aide et la dernière optimisation Smiley lol
Modifié par orygynz (25 Mar 2012 - 22:54)
Pas de soucis !

Par contre, pour les prochains sujet d'aide je vois bien "Comment passer de <table> à <div> sans effort" ou un truc dans le genre "J'ai trop de <style> en ligne, comment m'en sortir? "


Bref, je plaisante bien sur, au plaisir !
Pages :