Fonction dans ma boucle marche pas
Résolu
sinifer
Messages postés
323
Statut
Membre
-
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++;
}
Configuration: Windows XP Firefox 3.0.11
15 réponses
-
Bonjour
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) -
As-tu fait dans ta boucle un echo $resultat[0]; pour t'assurer que tu récupères bien une valeur ?
-
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 -
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";
} -
mais sa s'affiche pas comme je le veut??
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... -
le echo $value; direct, c'était juste pour voir. Tu peux remettre les balises <option> et </option>
-
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> -
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 . -
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;
} -
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. -
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 -