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 :
[VBA] Fonction qui retourne la couleur active d'une MFC VoirCette fonction retourne la valeur du format actif d'une mise en forme conditionnelle. Avec la fonction de la démo, deux valeurs peuvent êtres retournées. Mode = 0 : retourne la valeur de Interior.ColorIndex Mode = 1 : retourne la valeur de...
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
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...
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...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...

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