Boucle Foreach

Eléphant du PHP | 137 Messages

30 juil. 2005, 20:24

Bonjour,
Lorsque j'execute ce code :
<?php
Connection etc...
$sql = "SELECT login FROM membres";
$res = mysql_query($sql)
      or die ("La requête à échoué");
$ligne = mysql_fetch_array($res, MYSQL_ASSOC);

$login = $ligne['login'];

echo "<select size='1' name='D1'>";
<?php foreach ($login as $login): ?>
echo "<option><?php$login?></option>";
<?php endforeach ?>
echo "</select>";
?>
Ca me met cette erreur : Parse error: syntax error, unexpected '<' in /select.php on line 22

Pourquoi?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

30 juil. 2005, 20:40

tu réouvres des balises PHP...

Mammouth du PHP | 19672 Messages

30 juil. 2005, 20:56

Essaye donc comme ça :
<?php
$sql = "SELECT login FROM membres";
$res = mysql_query($sql)
      or die ("La requête à échoué");
$ligne = mysql_fetch_array($res, MYSQL_ASSOC);

$login = $ligne['login'];
?>
<select size='1' name='D1'>
<?php
foreach ($login as $login):
{
?>
  <option><?php echo($login); ?></option>
<?php
} endforeach
?>
</select>
Et je te signale au passage que <?php$login?> ça n'aurai de toutes façon pas fonctionné, il faut pas oublier de mettre quelques espaces de temps à autre et indiquer une action parce qu'une variable toute seule, ça ne sert à rien : <?php echo($login); ?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 137 Messages

31 juil. 2005, 12:45

Bonjour,
Désolé, j'ai fait les modifs mais ça ne marche toujours pas. Cela m'affiche uniquement la liste déroulante mais celle-ci est vide.
<?php
$host="************";
$user="*************"; 
$mpasse="************"; 
$database="*************"; 

$connexion = mysql_connect($host, $user, $mpasse) 
or die ("Connexion à la base impossible"); 

$db = mysql_select_db($database) 
or die("Sélection de la base impossible");

$sql = "SELECT login FROM membres";
$res = mysql_query($sql) 
      or die ("La requête à échoué");
$ligne = mysql_fetch_array($res, MYSQL_ASSOC);

?>
<select size='1' name='D1'> 
<?php 
foreach ($ligne['login'] as $ligne['login']):
{ 
?> 
  <option><?php echo $ligne['login']; ?></option>
<?php
} endforeach
?> 
</select> 

Mammouth du PHP | 19672 Messages

31 juil. 2005, 12:49

Essaye en simplifiant :
<?php
$host="************";
$user="*************";
$mpasse="************";
$database="*************";

$connexion = mysql_connect($host, $user, $mpasse)
or die ("Connexion à la base impossible");

$db = mysql_select_db($database)
or die("Sélection de la base impossible");

$sql = "SELECT login FROM membres";
$res = mysql_query($sql)
      or die ("La requête à échoué");
?>
<select size='1' name='D1'>
<?php
while($ligne = mysql_fetch_array($res, MYSQL_ASSOC))
{
?>
  <option><?php echo($ligne['login']); ?></option>
<?php
}
?>
</select>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 137 Messages

31 juil. 2005, 12:51

Superbe! T'es un As! Ca marche à merveille!