Fonction dans ma boucle marche pas
Résolu
sinifer
Messages postés
312
Date d'inscription
Statut
Membre
Dernière intervention
-
le père -
le père -
Bonjour,
j'ai un petit problème quand je met ma fonction qui marche trés bien dans ma boucle elle marche plus ai-je fais une erreur??
c'est le $valeur qui me pose problème
voici mon code pour ceu qu'ils veulent bien m'aider
Merci
// Récupération des informations triées par ordre alphabétique
$sql = "SELECT emv_campaign FROM `emv` WHERE 1 group by emv_campaign";
$ReqLog = mysql_query($sql);
$i='1';
while ($resultat = mysql_fetch_row($ReqLog)) {
$campaign_name = $resultat[0];
$valeur = remplaceNom($campaign_name);
echo '<option value="'.$campaign_name.'">'.$valeur;
echo '</option>'."\n";
$i++;
}
j'ai un petit problème quand je met ma fonction qui marche trés bien dans ma boucle elle marche plus ai-je fais une erreur??
c'est le $valeur qui me pose problème
voici mon code pour ceu qu'ils veulent bien m'aider
Merci
// Récupération des informations triées par ordre alphabétique
$sql = "SELECT emv_campaign FROM `emv` WHERE 1 group by emv_campaign";
$ReqLog = mysql_query($sql);
$i='1';
while ($resultat = mysql_fetch_row($ReqLog)) {
$campaign_name = $resultat[0];
$valeur = remplaceNom($campaign_name);
echo '<option value="'.$campaign_name.'">'.$valeur;
echo '</option>'."\n";
$i++;
}
A voir également:
- Fonction dans ma boucle marche pas
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer dans word - Guide
- Fonction somme excel - Guide
15 réponses
Bonjour
C'est bien de nous dire que $valeur te pose un problème, ce serait mieux de nous dire lequel .
C'est bien de nous dire que $valeur te pose un problème, ce serait mieux de nous dire lequel .
excuse moi voilà ma fonction consiste a enlevé les "[-/,;+_ .*]"
quand je verifie si sa marche bien il y a pas de problème ma fonction marche bien mais dès que je la mets dans ma boucle le résultat s'affiche pas j'ai rien que du blanc.
alors que si j'ai ex: test-pour-voir
sa doi me donner ex: test pour voir
et dans mon cas sa me donne: (rien)
quand je verifie si sa marche bien il y a pas de problème ma fonction marche bien mais dès que je la mets dans ma boucle le résultat s'affiche pas j'ai rien que du blanc.
alors que si j'ai ex: test-pour-voir
sa doi me donner ex: test pour voir
et dans mon cas sa me donne: (rien)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et si tu fais un echo $valeur; sans le <OPTION value = etc... ni le </option> bien sûr, vois-tu les valeurs ?
enlève aussi le <select> et le </select> qu'il devrait y avoir autour de tout ça
enlève aussi le <select> et le </select> qu'il devrait y avoir autour de tout ça
oui sa marche quand j'enlève ce que tu ma dis
while ($resultat = mysql_fetch_row($ReqLog)) {
$campaign_name = $resultat[3];
$valeur = remplaceNom($campaign_name);
echo $valeur;
//echo '<option value="'.$campaign_name.'">'.$valeur;
// echo '</option>'."\n";
}
while ($resultat = mysql_fetch_row($ReqLog)) {
$campaign_name = $resultat[3];
$valeur = remplaceNom($campaign_name);
echo $valeur;
//echo '<option value="'.$campaign_name.'">'.$valeur;
// echo '</option>'."\n";
}
Donc ta fonction marche bien, même dans la boucle...
As tu bien un <SELECT> avant et un </SELECT> après ? (<OPTION>...</OPTION> doivent être à l'intérieur d'une balise SELECT)
As-tu des caractères spéciaux dans $resultat[0] ? si tu as des " ou des > en particulier, ça risque de ne pas de marcher car le " sera pris comme la fin de value, > sera pris comme fin de ta balise, etc...
As tu bien un <SELECT> avant et un </SELECT> après ? (<OPTION>...</OPTION> doivent être à l'intérieur d'une balise SELECT)
As-tu des caractères spéciaux dans $resultat[0] ? si tu as des " ou des > en particulier, ça risque de ne pas de marcher car le " sera pris comme la fin de value, > sera pris comme fin de ta balise, etc...
voila mon code sans ma fonction qui marche bien
mais dès que je mets ma fonction tous bouscule
?>
<form method="POST" action="emv_stats.php">
<select size=1 name="emv">
<?php
echo '<option value="tous">Tous les résultats<option>'."\n";
// Récupération des informations triées par ordre alphabétique
$sql = "SELECT * FROM `emv` WHERE 1 group by emv_campaign";
$ReqLog = mysql_query($sql);
while ($resultat = mysql_fetch_row($ReqLog)) {
// $campaign_name = $resultat[3];
//$value =remplaceNom($campaign_name);
echo '<option value="'.$resultat[3].'">'.$resultat[3];
echo '</option>'."\n";
}
?>
</select>
<input name="Envoyer" type="submit" value="Envoyer" />
</form>
mais dès que je mets ma fonction tous bouscule
?>
<form method="POST" action="emv_stats.php">
<select size=1 name="emv">
<?php
echo '<option value="tous">Tous les résultats<option>'."\n";
// Récupération des informations triées par ordre alphabétique
$sql = "SELECT * FROM `emv` WHERE 1 group by emv_campaign";
$ReqLog = mysql_query($sql);
while ($resultat = mysql_fetch_row($ReqLog)) {
// $campaign_name = $resultat[3];
//$value =remplaceNom($campaign_name);
echo '<option value="'.$resultat[3].'">'.$resultat[3];
echo '</option>'."\n";
}
?>
</select>
<input name="Envoyer" type="submit" value="Envoyer" />
</form>
Encore une histoire de fou ;) ...
Peux-tu montrer le code de la fonction remplaceNom ? Même si je ne vois pas très bien pourquoi il aurait cet effet .
Peux-tu montrer le code de la fonction remplaceNom ? Même si je ne vois pas très bien pourquoi il aurait cet effet .
voilà ma fonction
function remplaceNom($campaign_name)
{
$new_nam = $campaign_name;
$pattern="emv";
$new_nam=ereg_replace($pattern," ",$new_nam);
$pattern="[-/,;+_ .*]";
$new_nam=ereg_replace($pattern," ",$new_nam);
echo $new_nam;
}
function remplaceNom($campaign_name)
{
$new_nam = $campaign_name;
$pattern="emv";
$new_nam=ereg_replace($pattern," ",$new_nam);
$pattern="[-/,;+_ .*]";
$new_nam=ereg_replace($pattern," ",$new_nam);
echo $new_nam;
}
Ta fonction est une c**ie
Si tu veux utiliser la valeur retournée par une fonction, encore faut-il qu'elle t'en retourne une !!!
Elle doit retourner une valeur avec return, pas l'afficher avec echo !
remplace echo $new_nam; par return $new_nam;
Et (je ne te l'ai pas encore suggéré ? ) commence par apprendre les bases du langage avant de te lancer dans des choses un petit peu évoluées. Sinon, tu vas te casser les dents sur chaque ligne que tu écris, j'ai bien l'impression que c'est ce qui est en train de se produire.
Si tu veux utiliser la valeur retournée par une fonction, encore faut-il qu'elle t'en retourne une !!!
Elle doit retourner une valeur avec return, pas l'afficher avec echo !
remplace echo $new_nam; par return $new_nam;
Et (je ne te l'ai pas encore suggéré ? ) commence par apprendre les bases du langage avant de te lancer dans des choses un petit peu évoluées. Sinon, tu vas te casser les dents sur chaque ligne que tu écris, j'ai bien l'impression que c'est ce qui est en train de se produire.