Vous n'êtes pas identifié(e).
Pages : 1
C'est possible...
je decouvre php, mysql et javascript et je constitue mon programme avec des bouts de script péchés a gauche et a droite sans tout comprendre.
Néanmoins, comme je le dis dans mon premier post, ca fonctionne... il y a juste un soucis quand je l'intègre dans ma page complète...
bonjour a tous,
j'ai développer 2 select interdependants avec des valeurs qui proviennent d'une BDD.
quand je les fais fonctionner juste à 2, ca marche mais quand je l'intègre dans ma page ( un peu plus compliquée ), le 2eme select ne s'affiche pas.
Ci dessous le code :
$info_imputation = isset($_POST['imputation'])?$_POST['imputation']:null;
/*$info_contrat = isset($_POST['contrat'])$_POST['contrat']:null; */
?>
<html lang="fr">
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<link rel="stylesheet" href="style.css">
<title>Ajouter une RNC</title>
</head>
<body style="color:rgb(175,0,124); font-family:arial; background-color : rgb(179,179,179);" >
<?php
if(isset($_POST['ok']) && isset($_POST['item']) && $_POST['item'] != "")
{ $contrat_selectionnee = $_POST['contrat'];
$item_selectionne = $_POST['item'];
}
$connexion = mysql_pconnect($serveur, $admin, $mdp);
if($connexion != false)
{ $choixbase = mysql_select_db($base, $connexion);
$sql1 = "SELECT num_contrat, nom_client, type_equipement FROM test.commande";
$rech_contrat = mysql_query($sql1);
$num_contrat = array();
$nom_client = array();
$type_equipement = array();
/* On active un compteur pour les contrats */
$nb_contrat = 0;
if($rech_contrat != false)
{ while($ligne = mysql_fetch_assoc($rech_contrat))
{ array_push($num_contrat, $ligne['num_contrat']);
array_push($nom_client, $ligne['nom_client']);
array_push($type_equipement, $ligne['type_equipement']);
/* On incrémente de compteur */
$nb_contrat++;
}
}
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgitem">
<!-- IMPUTATION -->
<table name ="Imputation" width = "100%" class= "tabcontrat">
<tbody>
<tr>
<td width = "15%"> <!--label Imputation-->
<label for="imputation">Imputation :</label>
</td>
<td width = "35%"> <!--input Imputation-->
<select required="required" style="width:200px; background-color : rgb(229,229,229);" name="imputation"; >
<option>Type d'imputation</option>
<?php
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
$requete = $bdd->query('select * from test.imputation');
while ($donnees = $requete->fetch())
{ echo '<option>'.$donnees['imputation'].'</option>'; }
?>;
</select>
</td>
</tr>
<tr>
<td width = "20%"> <!--label Contrat-->
<label for="contratClient">Contrat :</label>
</td>
<td width = "35%"> <!--input Contrat-->
<select style="width:200px; background-color : rgb(229,229,229);">
<option value="-1">Numéro de Contrat</option>
<?php
for($i = 0; $i < $nb_contrat; $i++)
{
?>
<option value="<?php echo($num_contrat[$i]); ?>"<?php echo((isset($idr) && $idr == $num_contrat[$i])?" selected=\"selected\"":null); ?>><?php echo($num_contrat[$i]); ?></option>
<?php
}
?>
</select>
</td>
</tr>
<tr>
<td width = "20%"> <!--label Item-->
<label for="contratClient">Item :</label>
</td>
<td width = "35%"> <!--input Item-->
<?php
mysql_free_result($rech_contrat);
/* On commence par vérifier si on a envoyé un numéro de contrat 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 items de ce contrat */
$sql2 = "SELECT num_item, designation_item FROM test.item where contrat=\"". $idr ." \";";
if($connexion != false)
{ $rech_item = mysql_query($sql2, $connexion);
/* Un petit compteur pour les items */
$nd = 0;
/* On crée deux tableaux pour les numéros et les noms des items */
$num_item = array();
$desig_item = array();
/* On va mettre les numéros et noms des départements dans les deux tableaux */
while($ligne_item = mysql_fetch_assoc($rech_item))
{
array_push($num_item, $ligne_item['num_item']);
array_push($desig_item, $ligne_item['designation_item']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
?>
<select name="item" id="item" style="width:175px; background-color : rgb(229,229,229);">
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($code_item[$d]); ?>"<?php echo((isset($item_selectionne) && $item_selectionne == $code_item[$d])?" selected=\"selected\"":null); ?>><?php echo($num_item[$d]." - ". $desig_item[$d] .""); ?></option>
<?php
}
?>
</select>
<?php
}
/* Un petit coup de balai */
mysql_free_result($rech_item);
}
?>
</td>
</tr>
</tbody>
</table><br><br>
</body>
</html>
J'imagine qu'il y a un soucis de syntaxe mais je ne trouve pas lequel.
Merci de votre aide.
en javascript... OK... pourquoi pas...
j'ai mis un identifiant à chaque "select".
et la fonction "do_update_select2", je la mets où ??
de plus, a ce que je comprend, on rend "disabled" le "select2" si on change "select1" mais ce que je veux c'est rendre "select2" "disabled" suivant une certaine selection du "select1" et pas juste sur le "onchange"...
bonjour à tous,
comme le dit le titre, je voudrais rendre 2 "select" interdépendants.
le code de base est le suivant :
comme vous le voyez, le second "select" est "disabled" et je veux le rendre "enabled" suivant le choix du 1er "select".
j'imagine qu'un "simple "if" doit pouvoir regler le soucis mais je ne sais pas où le mettre et il me manque aussi la syntaxe.
Merci d'avance pour votre aide.
Génial...
Rien a dire...
Rapidité... efficacité.
MERCI BEAUCOUP
bonjour à tous,
je debute en php et j'ai un peu de mal...
comme le titre l'indique, je voudrais recuperer le nombre de ligne d'une table pour l'inserer dans un "input" mais le systeme me met un message:
Notice: Array to string conversion in C:\xampp\htdocs\formulaire.php on line 30.
mon code est le suivant :
Merci pour votre aide.
Pages : 1