Rechercher : dans
Par :

Fonction php qui retourne un tableau

Dernière réponse le 3 mar 2008 à 00:40:08 Ygalr22, le 12 jun 2006 à 11:32:30 
 Signaler ce message aux modérateurs

Bonjour à tous, voila j'espere que cette question n'as pas été posée mainte et mainte fois, j'ai cherché sur les forums et je n'ais pas trouvé de reponses me convenant donc j'ai décidé de poster ici...

Je developpe une petite application de gestion de carburants et j'aimerais que les carburants de ma table s'affichent dans une liste de selection...

J'ai une fonction php qui est censsée me retourner un tableau de chaines mais le probeme est que j'ai l'impression q'uil ne me retourne que la premiere chaine du tableau le reste passe à la trape... Quelqu'un peut-il m'aider svp.

Voici un bout de mon code:

==================Page de fonction php===================
function ListCarbu(){
$pointeur=connexion();//appel de la fonction connexion

$req="SELECT Carburants.Carb_Lib
FROM Carburants";

//on envoie la requette à la fonction 'requette'
$reponse = requette($req, $pointeur);//appel de la fonction requette avec en parametre le pointeur et la requette

// variables où l'on stock le nombre de lignes ainsi que le nombre de champs du resultat de la requette
$nb_ligne=mysql_num_rows($reponse);
$nb_champ=mysql_num_fields($reponse);

//on mets les résultats dans un tableau TabCarb
$cpt=0;
while ($ligne = Mysql_fetch_row ($reponse)){
$TabCarb[$cpt]=$ligne[0];
$cpt++;
}

return $TabCarb;//on retourne le tableau (c'est là ou ca ne marche plus!)
}

==========Page php où mon tableau doit normalement s'afficher=======

//appel de la fonction qui doit me retourner le tableau de carburants
$TabCarb=ListCarbu();


//affichage des carburants dans une liste de choix
<label width='250'>Type de carburants du Véhicule: </label>
<menulist label='carbu_vehi'>
<menupopup>";
//ajout dinamique d'items dans laliste//
for ($i=0; $i<=$nb_ligne-1; $i++){
if($TabCarb[$i]!=$TabRep[3]){
echo( "<menuitem label='".$TabCarb[$i]."'/>");
}else{
echo( "<menuitem label='".$TabCarb[$i]."' selected='true'/>");
}
}
echo "</menupopup>
</menulist>

Meilleures réponses pour « Fonction php qui retourne un tableau » dans :
Trier un tableau sans utiliser la fonction sort VoirTrier un tableau sans utiliser la fonction sort D'abord on initialise une variable $max avec la 1ère valeur de tableau. Ensuite on va faire une boucle tant que le tableau contient encore des éléments. C'est avec la fonction splice qui a le rôle...
Quelques fonctions utiles VoirCette astuce vous montrera comment utiliser quelques fonctions très utiles en PHP: Retourne la longueur de la chaîne Utilisation Résultat Passe tous les caractères en minuscules. Utilisation Résultat Passe tous les caractères en...
Installation de EasyPHP VoirIntroduction à EasyPHP Afin de faire fonctionner PHP, il est nécessaire à la base d'en télécharger les sources depuis un site spécialisé (par exemple PHP.net), puis de compiler celui-ci (ainsi que d'éditer les liens) afin de créer un fichier...
PHP - Génération d'images VoirPrérequis PHP permet de créer des images au format GIF à l'aide d'une librairie de fonctions prévue à cet effet. La librairie permettant de créer et manipuler des fichiers graphiques se nomme GD, ainsi, pour pouvoir utiliser ces fonctions il faut...
PHP - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...

1

jaguie, le 31 déc 2007 à 18:11:51

Idem, personne n'a une explication?

Répondre à jaguie

2

Alain42, le 31 déc 2007 à 18:36:03
  • +1

Bonsoir,

Essayes comme ça:

J'ai fait avec un formulaire classique , je pense que toi tu veux envoyer par xml.

<?php
function ListCarbu(){
	$pointeur=connexion();//appel de la fonction connexion
	$req="SELECT Carburants.Carb_Lib FROM Carburants";
	//on envoie la requette à la fonction 'requette'
	$reponse = requette($req, $pointeur);//appel de la fonction requette avec en parametre le pointeur et la requette

	// variables où l'on stock le nombre de lignes ainsi que le nombre de champs du resultat de la requette
	//$nb_ligne=mysql_num_rows($reponse); // ne sert a rien ces variables "restent dans la fonction
	//$nb_champ=mysql_num_fields($reponse);// ne sert a rien ces variables "restent dans la fonction

	//on empile  les résultats dans un tableau TabCarb
	$TabCarb=array();
	while ($ligne = mysql_fetch_array ($reponse)){ //attention pas de majuscule a Mysql_....
		$TabCarb[]=$ligne['Carb_Lib']; // avec fetch_array on accede directement au nom de champ ['......']
	}
return $TabCarb;//on retourne le tableau 
}
//appel de la fonction qui doit me retourner le tableau de carburants
$TabCarb=ListCarbu();

//affichage des carburants dans une liste de choix
echo "<form name='.....' method='post' action='.....'>
	<label width='250'>Type de carburants du Véhicule: </label
	<select name='....'>";


//ajout dynamique d'items dans la liste//
	for ($i=0; $i<sizeof($TabCarb); $i++){
			echo "<option value='$TabCarb[$i]'>$TabCarb[$i]</option>";
	}
echo "</select>";
echo "</form>";
?>

Répondre à Alain42

3

 lincoln, le 3 mar 2008 à 00:40:08

Salut,

boh d'accord ce message est un peu vieux, mais on sait jamais si tu retombe sur ce message un jour !!!

Je ne m'y connais pas trop... mais j'ai la vague impression que dans ton tableau tu mets tout le temps la même valeur... et je pense que c'est pour sa que tu dis:

"j'ai l'impression q'uil ne me retourne que la premiere chaine du tableau le reste passe à la trape..."


enfin c'est ptetre pas ça mais je penses qu'il y a un probleme ici:

//on mets les résultats dans un tableau TabCarb
$cpt=0;
while ($ligne = Mysql_fetch_row ($reponse)){
$TabCarb[$cpt]=$ligne[0]; // tu mets toujours la première ligne de ton résultat dans toutes
les cases de ton TabCarb[]...
$cpt++;
}

Enfin.. jdis ça jdis rien... :) ... enfin bref... fais comme dit Alain sa à l'air bonnnnnnn

bon courage !!!

Répondre à lincoln