Besoin d'aide pour remplir une liste déroulante

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Besoin d'aide pour remplir une liste déroulante

Re: Besoin d'aide pour remplir une liste déroulante

par Freezon » 08 juin 2016, 17:50

Dans tout les codes que j'ai donné, j'arrive pas a écrire dans la liste déroulante. Le reste, j'ai fais une classe, j'ai fais la connexion, j'ai fait tout ça.

Re: Besoin d'aide pour remplir une liste déroulante

par Naroth » 08 juin 2016, 17:41

L'interrogation d'une base de données et le traitement des données de celle-ci se fait en plusieurs étapes

1. Connexion à la base de données. En php plusieurs possibilités :
- PDO - http://php.net/manual/fr/book.pdo.php
- mysqli - http://php.net/manual/fr/book.mysqli.php
- mysql - http://php.net/manual/fr/intro.mysql.php (deprecated)
- etc...
2. Ecriture d'une requête SQL permettant d'interroger la base de données
3. Exécution de la requête
4. Traitement des données renvoyées par la base de données

Est-ce que tu connais tout cela ?
Sur quoi tu as besoin de plus de lumière ?

Re: Besoin d'aide pour remplir une liste déroulante

par Freezon » 08 juin 2016, 08:58

Autant pour moi.
Le problème c'est qu'avec un tel foreach (et surtout les options) tu ne peux pas récupérer la valeur dans ton post puisque tu ne sais pas quel option est choisie !

Il te manque l'attribut value dans la balise option

Code : Tout sélectionner

foreach($ordinateurs as $ordinateur) { echo "<option value='".utf8_encode($ordinateur->name)."'>".utf8_encode($ordinateur->name)."</option> "; }

Bah en faite, ce que je veux récupérer et dans une BDD. Je suis assez perdu quant à l'utilisation de ces données. J'ai une table computers avec 22 colonnes, et je veux récupérer juste une colonne, le nom de l'ordinateur sous la forme : POS (pour poste fixe) ou POR (pour poste portable) le numéro de poste 001 à 999, et l'année A14 (Année 2014) donc on a par exemple POS512A15.
Je galère assez...

Re: Besoin d'aide pour remplir une liste déroulante

par Naroth » 07 juin 2016, 19:59

Autant pour moi.
Le problème c'est qu'avec un tel foreach (et surtout les options) tu ne peux pas récupérer la valeur dans ton post puisque tu ne sais pas quel option est choisie !

Il te manque l'attribut value dans la balise option

Code : Tout sélectionner

foreach($ordinateurs as $ordinateur) { echo "<option value='".utf8_encode($ordinateur->name)."'>".utf8_encode($ordinateur->name)."</option> "; }

Re: Besoin d'aide pour remplir une liste déroulante

par Freezon » 07 juin 2016, 16:46

Bonjour Freezon,


Ton foreach devrait être de la forme suivante:

Code : Tout sélectionner

foreach($ordinateurs as $ordinateur) { echo "<option>".utf8_encode($ordinateur->name)."</option> "; }

Merci pour la correction, néanmoins, ce n'est pas ça qui m'aide réellement, ce qui est assez problématique, mais je prend en compte la syntaxe, merci !

Re: Besoin d'aide pour remplir une liste déroulante

par Naroth » 07 juin 2016, 16:31

Bonjour Freezon,


Ton foreach devrait être de la forme suivante:

Code : Tout sélectionner

foreach($ordinateurs as $ordinateur) { echo "<option>".utf8_encode($ordinateur->name)."</option> "; }

Besoin d'aide pour remplir une liste déroulante

par Freezon » 07 juin 2016, 16:20

Bonjour à tous et à toute !

Je dois créer une interface web afin d'attribuer un ordinateur à un employé, et cette interface possède plusieurs pages. Une pour choisir si le PC est fixe ou portable (nommée choixTypeOrdi), une pour afficher une liste déroulante comportant tout les ordinateurs fixe ou portable selon le choix de l'utilisateur (nommée afficheOrdi.php), une page pour choisir le lieu de l'entreprise (qui est assez importante et présente dans plusieurs ville en France) qui est contenu dans une BDD ainsi que l'employé dans une seconde liste déroulante, en fonction du lieu, qui lui aussi est dans une BDD (page nommée affecterUtilisateur) et pour finir une page récapitulative, et si on valide, les données sont envoyé sur une BDD.

J'ai créer quatre classes, une ordinateur, une gestionOrdi, une user, une gestionUser.

Sur la page afficheOrdi, après le choix du PC j'ai :
<?php
$ordi;
 
	if(isset($_POST["ordi"]))
	{
	$ordi = $_POST["ordi"];
	}

echo "Votre ordinateur est un " .$ordi.".";
?>
Comme ça, l'entreprise a une trace de son choix précédent.
<h3 id="ordinateurs">Choisir l'ordinateur à affecter :</h3>
	<?php 
	if($ordi == "Ordinateur Fixe")
	{
		
	}
	else
	{
		
	}
	?>
	<form id="frmOrdi" name="frmOrdi" action="affecterUtilisateur.php" method="post">	
	<SELECT name="listeOrdi" size="">
	<option>1</option>
	<?php
	foreach($ordinateurs as $ordinateur)
	{
		?>
		<option><?php echo utf8_encode($ordinateur->name); ?></option>				
		<?php
	}
	?>
	</select>
	</form>
J'aimerai compléter ce minuscule bout de code, et je ne trouve vraiment pas. Je sais que mon foreach dans le select est complètement faux...
J'ai aussi mis en place le MVC, donc si il faut le controller ou quoi, c'est dispo.

Merci d'avance pour votre aide, je sais que je demande beaucoup, mais voilà, je bloque vraiment et c'est vraiment important, je ne sais pas pourquoi je n'y arrive pas ...