deux problemes pour des retour de fonctions

Invité
Invité n'ayant pas de compte PHPfrance

25 janv. 2008, 03:52

bonsoir

voila j ai crée deux fonctions pour automatiser certaines taches..

la premiere fonction

j essaie de reaffecter une variable au resultat pour enlever les accents
j en ai besoin dans une url
if(Cat($Libelle) =="Société") Cat($Libelle)="Societe";

cela me renvoie ce message
Fatal error: Can't use function return value in write context in ...
y a t il un autre moyen pour reaffecter une valeur au resultat d une fonction...

la deuxieme fonction

c est le resultat d une boucle
si je fais un echo ca me casse la mise en page et un return ben je sais pas trop comment le mettre.
function Competence($Val,$Affichage) {
	if($Val!='')
		{
		$ReqC = "SELECT IdComp,LibelleComp FROM competences";
		$CursC = mysql_query($ReqC);
		$NbC = mysql_numrows($CursC);	
		$TabCompetence = explode("-", $Val);
			for ($k = 0;$k < $NbC ;$k++) 
				{	
					$IdC = mysql_result($CursC, $k, "IdComp");
					$LibelleC = mysql_result($CursC, $k, "LibelleComp");
					if (in_array ($IdC, $TabCompetence))
					{
						echo $LibelleC.' - ';
					}
				}	
		}
	else 
	{
	//oui
	if($Affichage=='1'){echo N/A;}}
	//sinon on ne fait rien
}

merci pour vos aides :D

Mammouth du PHP | 1029 Messages

25 janv. 2008, 10:42

Bonjour,

Opérateur ternaire

Code : Tout sélectionner

$Lib = (Cat($Libelle) =="Société")?"Societe":Cat($Libelle) ;
L'expérience est la somme de toutes nos erreurs.

Invité
Invité n'ayant pas de compte PHPfrance

25 janv. 2008, 14:25

merci pour la 1ere fonction :D

par contre pour la deuxieme fdonction, je ne comprends toujors pas pour quoi un echo casse la mise en page ??

:?

Mammouth du PHP | 1029 Messages

25 janv. 2008, 14:34

Comment faites vous pour appeler la function Competence?
L'expérience est la somme de toutes nos erreurs.

Invité
Invité n'ayant pas de compte PHPfrance

25 janv. 2008, 14:45

je viens de l isoler et ca fonctionne maintenant
:?:
echo'<p class="CompOffre">';	
echo Competence($BddCompetence,0);
echo'</p>'; 
par contre si je fais
echo'<p class="CompOffre">'.Competence($BddCompetence,0).'</p>';
le resultat sort du <p> et la class n est plus attribué?

merci pour l aide en tout cas.