par
spirou » 18 févr. 2006, 23:14
Bonsoir,
Je désires que lors d'une boucle, une valeur soit affichée seulement à la position de cette valeur dans une chaine.
Mais, je ne sais pas comment faire.
Je m'explique mieux, j'ai un mot que je transforme en tableau, je vérifie si le $_GET de ma page est présent dans ce mot, et lors de ma boucle, je souhaite que ma valeur soit affichée seulement à la position de ce $_GET, car pour l'instant ça m'affiche à chaque tour la valeur de $_GET.
Je sais pas si je suis assez clair.
Ensuite, pas trop d'importance, est-ce qu'il est possible de fusionner mes 2 requêtes en une seule.
// nbre de mots ds la table
$sql1 = "SELECT max(id) from dictionnaire";
$req1 = mysql_query($sql1);
$nbr_mot = mysql_result($req1, 0);
// sélection d'un id au hasard
$num_mot = rand(1, $nbr_mot);
// sélection du mot
$sql2 = "SELECT mot FROM dictionnaire WHERE id=" . $num_mot . "";
$req2 = mysql_query($sql2) or die (mysql_error());
$mot = mysql_result($req2, 0) or die (mysql_error());
$nbr_lettres = strlen($mot);
$mot = strtoupper($mot);
$lettres_mot = str_split($mot);
if(isset($_GET['lettre']))
{
if(in_array($_GET['lettre'], $alphabet))
{
$choix = $_GET['lettre'];
for($i=0; $i!=$nbr_lettres; $i++)
{
if(in_array($choix, $lettres_mot))
{
// ici je souhaiterais que $choix soit afficher seulement à sa position dans $lettres_mots
echo $choix . " ";
}
else
{
echo '_ ';
}
}
}
else
{
header('location: erreur.php');
}
}
Voilà

Bonsoir,
Je désires que lors d'une boucle, une valeur soit affichée seulement à la position de cette valeur dans une chaine.
Mais, je ne sais pas comment faire.
Je m'explique mieux, j'ai un mot que je transforme en tableau, je vérifie si le $_GET de ma page est présent dans ce mot, et lors de ma boucle, je souhaite que ma valeur soit affichée seulement à la position de ce $_GET, car pour l'instant ça m'affiche à chaque tour la valeur de $_GET.
Je sais pas si je suis assez clair.
Ensuite, pas trop d'importance, est-ce qu'il est possible de fusionner mes 2 requêtes en une seule.
[php]
// nbre de mots ds la table
$sql1 = "SELECT max(id) from dictionnaire";
$req1 = mysql_query($sql1);
$nbr_mot = mysql_result($req1, 0);
// sélection d'un id au hasard
$num_mot = rand(1, $nbr_mot);
// sélection du mot
$sql2 = "SELECT mot FROM dictionnaire WHERE id=" . $num_mot . "";
$req2 = mysql_query($sql2) or die (mysql_error());
$mot = mysql_result($req2, 0) or die (mysql_error());
$nbr_lettres = strlen($mot);
$mot = strtoupper($mot);
$lettres_mot = str_split($mot);
if(isset($_GET['lettre']))
{
if(in_array($_GET['lettre'], $alphabet))
{
$choix = $_GET['lettre'];
for($i=0; $i!=$nbr_lettres; $i++)
{
if(in_array($choix, $lettres_mot))
{
// ici je souhaiterais que $choix soit afficher seulement à sa position dans $lettres_mots
echo $choix . " ";
}
else
{
echo '_ ';
}
}
}
else
{
header('location: erreur.php');
}
}[/php]
Voilà :P