Fonction dans ma boucle marche pas
Résolu/Fermé
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
-
6 juil. 2009 à 14:13
le père - 6 juil. 2009 à 16:36
le père - 6 juil. 2009 à 16:36
A voir également:
- Fonction dans ma boucle marche pas
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
- Fonction remplacer dans word - 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 .
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
6 juil. 2009 à 14:27
6 juil. 2009 à 14:27
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)
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
6 juil. 2009 à 14:39
6 juil. 2009 à 14:39
oui sa marche et ma fonction marche aussi si je la mets dans value
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
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
6 juil. 2009 à 15:03
6 juil. 2009 à 15:03
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";
}
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
6 juil. 2009 à 15:19
6 juil. 2009 à 15:19
mais sa s'affiche pas comme je le veut??
sa ce mets tou a la ligne et j'a plus rien dans value
sa ce mets tou a la ligne et j'a plus rien dans value
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...
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
6 juil. 2009 à 15:40
6 juil. 2009 à 15:40
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 .
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
6 juil. 2009 à 16:12
6 juil. 2009 à 16:12
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.
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
6 juil. 2009 à 16:23
6 juil. 2009 à 16:23
au moment ou tu ma dis pour le return c'est là ou je l'ai vue j'étais tellement pris par le fait que la fonction marchait que j'ai oublié de regardé si tout étais correct dans ma fonction.
Merci
Merci