Petit nouveau ! |
2 Messages
20 mai 2014, 13:59
Bonjour,
Merci pour cette réponse. En effet, avec du code c'est plus simple mais pour l'instant mon code se résume, mise à part le base de données, à celui du tuto.
<?php
include "DB.inc.php";
include "fctAux.inc.php";
enTete();
contenu();
pied();
function contenu() {
if(isset($_SESSION['droitAcces'])!=2)
header("Location: login.php");
if ( $_SESSION['droitAcces']==1 )
header("Location: accueil.php");
if (isset ($_SESSION['nom'])) {
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */
$serveur = "localhost";
$admin = "root";
$mdp = "";
$base = "mag";
/* On récupère si elle existe la valeur de la famille envoyée par le formulaire */
$idr = isset($_POST['famille'])?$_POST['famille']:null;
if(isset($_POST['ok']) && isset($_POST['article']) && $_POST['article'] != "")
{
$famille_selectionnee = $_POST['famille'];
$article_selectionne = $_POST['article'];
$agent = $_POST['agent'];
$bt = $_POST['bt'];
?>
<p>Vous avez selectionne le article <?php echo($article_selectionne); ?> dans la famille <?php echo($famille_selectionnee); ?> pour <?php echo($agent); ?> avec num bt : <?php echo($bt); ?> </p>
<?php
}
$connexion = mysqli_connect($serveur, $admin, $mdp, $base);
if($connexion != false)
{
$sql1 = "SELECT `idFa`, `lib`".
" FROM `tab_famille`".
" ORDER BY `idFa`";
$rech_familles = mysqli_query($connexion,$sql1);
$code_famille = array();
$famille = array();
/* On active un compteur pour les familles */
$nb_familles = 0;
if($rech_familles != false)
{
while($ligne = mysqli_fetch_assoc($rech_familles))
{
array_push($code_famille, $ligne['idFa']);
array_push($famille, $ligne['lib']);
/* On incrémente de compteur */
$nb_familles++;
}
}
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgarticle">
<table>
<tr><td>selection de l'article</td>
<td>
<select name="famille" id="famille" onchange="document.forms['chgarticle'].submit();">
<option value="-1">- - - Choisissez une famille - - -</option>
<?php
for($i = 0; $i < $nb_familles; $i++)
{
?>
<option value="<?php echo($code_famille[$i]); ?>"<?php echo((isset($idr) && $idr == $code_famille[$i])?" selected=\"selected\"":null); ?>><?php echo($famille[$i]); ?></option>
<?php
}
?>
</select>
<?php
mysqli_free_result($rech_familles);
/* On commence par vérifier si on a envoyé un numéro de famille et le cas échéant s'il est différent de -1 */
if(isset($idr) && $idr != -1)
{
/* Création de la requête pour avoir les articles de cette famille */
$sql2 = "SELECT `idA`, `lib`".
" FROM `tab_art`".
" WHERE `idF` = ". $idr ."".
" ORDER BY `idA`;";
if($connexion != false)
{
$rech_article = mysqli_query($connexion,$sql2);
/* Un petit compteur pour les articles */
$nd = 0;
/* On crée deux tableaux pour les numéros et les noms des articles */
$code_article = array();
$nom_article = array();
/* On va mettre les numéros et noms des articles dans les deux tableaux */
while($ligne_article = mysqli_fetch_assoc($rech_article))
{
array_push($code_article, $ligne_article['idA']);
array_push($nom_article, $ligne_article['lib']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
?>
<select name="article" id="article">
<option value="-1">- - - Choisissez un article - - -</option>
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($code_article[$d]); ?>"<?php echo((isset($article_selectionne) && $article_selectionne == $code_article[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_article[$d]." (". $code_article[$d] .")"); ?></option>
<?php
}
?>
</select>
<?php
}
}
else{
echo "</table>";
}
?>
<br /><input type="submit" name="ok" id="ok" value="Effectuer la sortie finale" />
</form>
<?php
/* Terminé, on ferme la connexion */
mysqli_close($connexion);
}
}
?>
</body>
</html>
<?php } ?>
Pour moi, il faudrait imbriquer un autre if dans celui-ci " if(isset($idr) && $idr != -1)". A un moment en "bidouillant" j'ai réussi à obtenir une troisième liste, mais je n'arrivais pas à récupérer les articles dedans .. :/
( arbo : Famille - sous-famille - article )