Bonjour après 1 semaine de recherche sur le net pour mon problème je me tourne vers vous , j'explique j'ai une page ou s'affiche deux select alimentées par ma bdd un pour l'email et l'autre pour la semaine (en fonction de l'email) précédemment enregistré dans un autre formulaire dans une autre page , les select en code c'est ça :
Code : Tout sélectionner
<body>
<?php include "utils/navbar.php";?>
</br>
</br>
<?php
if(isset($_POST['ok']) && isset($_POST['nb_semaine']) && $_POST['nb_semaine'] != "")
{
$email_selectionnee = $_POST['email_user'];
$semaine_selectionne = $_POST['nb_semaine'];
$bdd = new PDO('mysql:host=localhost;dbname=rapport', 'root', '');
}
try {
//connexion BDD
$bdd = new PDO('mysql:host=localhost;dbname=rapport', 'root', '');
if($bdd != false)
{
$reponse = $bdd->query('SELECT DISTINCT email_user FROM form');
$email_user = array();
$nb_email = 0;
while($ligne_email = $reponse->fetch())
{
array_push($email_user, $ligne_email['email_user']);
/* On incrémente de compteur */
$nb_email++;
}
?>
<form action="" id="formliste" method="post">
<div class="form-group" id="selectemail">
<select name="email_user" class="form-control" id="email_user" onchange="document.forms['formliste'].submit();" type="text">
<option value="-1">- - - Sélectionner une adresse - - -</option>
<?php
for($i = 0; $i < $nb_email; $i++)
{
?>
<option <?php echo((isset($idr) && $idr == $email_user[$i])?" selected=\"selected\"":null); ?>><?php echo($email_user[$i]); ?></option>
<?php
}
?>
</select>
</div>
<?php
unset($reponse);
/* On commence par vérifier si on a envoyé un numéro de région et le cas échéant s'il est différent de -1 */
if(isset($idr) && $idr != -1)
{
$reponse2 = $bdd->query('SELECT DISTINCT nb_semaine FROM form WHERE email_user ="'.$_POST['email_user'].'"');
if($bdd != false){
/* Un petit compteur pour les départements */
$nd = 0;
/* On crée deux tableaux pour les numéros et les noms des départements */
$nb_semaine = array();
while ($ligne_semaine = $reponse2->fetch())
{
array_push($nb_semaine, $ligne_semaine['nb_semaine']);
$nd++;
}
?>
<div class="form-group" id="selectsemaine">
<select class="form-control" name="nb_semaine" id="nb_semaine" type="text">
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option <?php echo((isset($semaine_selectionne) && $semaine_selectionne == $nb_semaine[$d])?" selected=\"selected\"":null); ?>><?php echo($nb_semaine[$d]); ?></option>
<?php
}
?>
</select>
</div>
<?php
}
unset($reponse);
}
?>
<input class="btn btn-success" type="submit" name="ok" id="ok" value="Valider"/>
</form><br/>
Ensuite juste en dessous j'ai un autre formulaire ou s'affiche les données de ma bdd en fonction de ce que j'ai choisi dans les select , le code :
Code : Tout sélectionner
<?php
if(isset($_POST['ok']) && isset($_POST['nb_semaine']) && $_POST['nb_semaine'] != "")
{
?> <form method="post" action="modifadmin.php" name="form2"><?php
echo'<div class="form-group row" id="semaine">
<label for="example-week-input" class="col-xs-2 col-form-label">Semaine n°</label>
<div class="col-xs-10">
<input class="form-control" type="week" name="nb_semaine" value="'.$semaine_selectionne.'">
</div>
</div><hr>';
?><form method="post" action="modifadmin.php"><?php
$bdd = new PDO('mysql:host=localhost;dbname=rapport', 'root', '');
$sql = $bdd->query ('SELECT id_formulaire, dateactu , heure_eff, repas , num_commande , nom_cli , adr_cli, nb_semaine , ct , chantier FROM form WHERE email_user ="' .$email_selectionnee.'" AND nb_semaine= "'.$semaine_selectionne.'" ');
while ($donnees = $sql->fetch())
{
echo '<table id="table"">
<div id="divform" class="form-group row">
<div class="col-xs-10" id="formulaire">
<tr>
<tr><th> </th>
<th> </th>
<th> Date :</th>
<th> Heures éffectuées :</th>
<th> Prix repas :</th>
<th> Numéro commande : </th>
<th> Nom client :</th>
<th> adresse client : </th>
</tr>
<td><input class="form-control" type="hidden" name="id_formulaire" value="' . $donnees['id_formulaire'] . '"></td>
<td><input class="form-control" type="date" name="dateactu[]" value="' . $donnees['dateactu'] . '" id="input"></td>
<td><input class="form-control" type="text" name="heure_eff[]" value="' . $donnees['heure_eff'] . '" placeholder="heure(s) éffectuée(s)" id="input"></td>
<td><input class="form-control" placeholder="prix repas" type="text" value="' . $donnees['repas'] . '" name="repas[]" id="input"></td>
<td><input class="form-control" type="text" name="num_commande[]" value="' . $donnees['num_commande'] . '" placeholder="numéro commande" id="input"></td>
<td><input class="form-control" type="text" name="nom_cli[]" value="' . $donnees['nom_cli'] . '" placeholder="nom du client" id="input"></td>
<td><input class="form-control" type="text" name="adr_cli[]" value="' . $donnees['adr_cli'] . '" placeholder="adresse client" id="input"></td>
<td><select class="form-control" name="ct[]" id="input" type="text"><option>'.$donnees['ct'].'<option> Ct entretient </option><option> facturable </option></select></td>
<td><select class="form-control" name="chantier[]" id="input" type="text"><option>'.$donnees['chantier'].'</option><option> Encours </option><option> Fini </option></select></td>
</tr>
</div>
</div></table>';
}
?> </form><?php
}
}
}
catch (PDOException $e) {
echo 'Erreur : ' . $e -> getMessage();
}
?>
Vous l'avez peut être pas vue mais j'ai un bouton modifier sur chaque ligne pour pendre l'id unique de chaque ligne (id_formulaire), bref tout ça marche bien c'est pour modifier que cela devient compliquer le code de l'update dans une autre page modifadmin.php :
Code : Tout sélectionner
<?php
session_start();
$dateactu = $_POST['dateactu'];
$heure_eff = $_POST['heure_eff'];
$repas = $_POST['repas'];
$num_commande = $_POST['num_commande'];
$nom_cli = $_POST['nom_cli'];
$adr_cli = $_POST['adr_cli'];
$nb_semaine = $_POST['nb_semaine'];
$email_user = $_POST['email_user'];
$ct = $_POST['ct'];
$chantier = $_POST['chantier'];
try {
//connexion BDD
$bdd = new PDO('mysql:host=localhost;dbname=rapport', 'root', '');
$sql2 = $bdd->prepare ('UPDATE `form` SET `dateactu` = :dateactu , `heure_eff` = :heure_eff, `repas` = :repas , `num_commande` = :num_commande , `nom_cli` = :nom_cli , `adr_cli` = :adr_cli , `ct` = :ct , `chantier` = :chantier WHERE email_user ="[email protected]" AND nb_semaine= "2017-W01" AND id_formulaire = "'.$_GET['id_formulaire'].'" ');
$sql2 -> execute(array(':dateactu' => $dateactu ,
':heure_eff'=> $heure_eff,
':repas'=> $repas ,
':num_commande' => $num_commande ,
':nom_cli' => $nom_cli ,
':adr_cli' => $adr_cli ,
':ct'=> $ct,
':chantier'=> $chantier));
}
catch (PDOException $e) {
echo 'Erreur : ' . $e -> getMessage();
}
?>
lorsque j'appuie sur un bouton modifier j'ai des undefined index sur toutes mes lignes:
Code : Tout sélectionner
$dateactu = $_POST['dateactu'];
$heure_eff = $_POST['heure_eff'];
$repas = $_POST['repas'];
$num_commande = $_POST['num_commande'];
$nom_cli = $_POST['nom_cli'];
$adr_cli = $_POST['adr_cli'];
$nb_semaine = $_POST['nb_semaine'];
$email_user = $_POST['email_user'];
$ct = $_POST['ct'];
$chantier = $_POST['chantier'];
peut-être que c'est une erreur toute simple mais je n'ai pas trouvé malgré les heures passé dessus , j'aimerais savoir aussi comment récuperer une variable qui est dans mon premierer form pour ma page modifadmin.php mais ça c'est une autre question, si vous avez une idée du pourquoi merci de me repondre !
Bonjour après 1 semaine de recherche sur le net pour mon problème je me tourne vers vous , j'explique j'ai une page ou s'affiche deux select alimentées par ma bdd un pour l'email et l'autre pour la semaine (en fonction de l'email) précédemment enregistré dans un autre formulaire dans une autre page , les select en code c'est ça :
[code] <body>
<?php include "utils/navbar.php";?>
</br>
</br>
<?php
if(isset($_POST['ok']) && isset($_POST['nb_semaine']) && $_POST['nb_semaine'] != "")
{
$email_selectionnee = $_POST['email_user'];
$semaine_selectionne = $_POST['nb_semaine'];
$bdd = new PDO('mysql:host=localhost;dbname=rapport', 'root', '');
}
try {
//connexion BDD
$bdd = new PDO('mysql:host=localhost;dbname=rapport', 'root', '');
if($bdd != false)
{
$reponse = $bdd->query('SELECT DISTINCT email_user FROM form');
$email_user = array();
$nb_email = 0;
while($ligne_email = $reponse->fetch())
{
array_push($email_user, $ligne_email['email_user']);
/* On incrémente de compteur */
$nb_email++;
}
?>
<form action="" id="formliste" method="post">
<div class="form-group" id="selectemail">
<select name="email_user" class="form-control" id="email_user" onchange="document.forms['formliste'].submit();" type="text">
<option value="-1">- - - Sélectionner une adresse - - -</option>
<?php
for($i = 0; $i < $nb_email; $i++)
{
?>
<option <?php echo((isset($idr) && $idr == $email_user[$i])?" selected=\"selected\"":null); ?>><?php echo($email_user[$i]); ?></option>
<?php
}
?>
</select>
</div>
<?php
unset($reponse);
/* On commence par vérifier si on a envoyé un numéro de région et le cas échéant s'il est différent de -1 */
if(isset($idr) && $idr != -1)
{
$reponse2 = $bdd->query('SELECT DISTINCT nb_semaine FROM form WHERE email_user ="'.$_POST['email_user'].'"');
if($bdd != false){
/* Un petit compteur pour les départements */
$nd = 0;
/* On crée deux tableaux pour les numéros et les noms des départements */
$nb_semaine = array();
while ($ligne_semaine = $reponse2->fetch())
{
array_push($nb_semaine, $ligne_semaine['nb_semaine']);
$nd++;
}
?>
<div class="form-group" id="selectsemaine">
<select class="form-control" name="nb_semaine" id="nb_semaine" type="text">
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option <?php echo((isset($semaine_selectionne) && $semaine_selectionne == $nb_semaine[$d])?" selected=\"selected\"":null); ?>><?php echo($nb_semaine[$d]); ?></option>
<?php
}
?>
</select>
</div>
<?php
}
unset($reponse);
}
?>
<input class="btn btn-success" type="submit" name="ok" id="ok" value="Valider"/>
</form><br/> [/code]
Ensuite juste en dessous j'ai un autre formulaire ou s'affiche les données de ma bdd en fonction de ce que j'ai choisi dans les select , le code :
[code]<?php
if(isset($_POST['ok']) && isset($_POST['nb_semaine']) && $_POST['nb_semaine'] != "")
{
?> <form method="post" action="modifadmin.php" name="form2"><?php
echo'<div class="form-group row" id="semaine">
<label for="example-week-input" class="col-xs-2 col-form-label">Semaine n°</label>
<div class="col-xs-10">
<input class="form-control" type="week" name="nb_semaine" value="'.$semaine_selectionne.'">
</div>
</div><hr>';
?><form method="post" action="modifadmin.php"><?php
$bdd = new PDO('mysql:host=localhost;dbname=rapport', 'root', '');
$sql = $bdd->query ('SELECT id_formulaire, dateactu , heure_eff, repas , num_commande , nom_cli , adr_cli, nb_semaine , ct , chantier FROM form WHERE email_user ="' .$email_selectionnee.'" AND nb_semaine= "'.$semaine_selectionne.'" ');
while ($donnees = $sql->fetch())
{
echo '<table id="table"">
<div id="divform" class="form-group row">
<div class="col-xs-10" id="formulaire">
<tr>
<tr><th> </th>
<th> </th>
<th> Date :</th>
<th> Heures éffectuées :</th>
<th> Prix repas :</th>
<th> Numéro commande : </th>
<th> Nom client :</th>
<th> adresse client : </th>
</tr>
<td><input class="form-control" type="hidden" name="id_formulaire" value="' . $donnees['id_formulaire'] . '"></td>
<td><input class="form-control" type="date" name="dateactu[]" value="' . $donnees['dateactu'] . '" id="input"></td>
<td><input class="form-control" type="text" name="heure_eff[]" value="' . $donnees['heure_eff'] . '" placeholder="heure(s) éffectuée(s)" id="input"></td>
<td><input class="form-control" placeholder="prix repas" type="text" value="' . $donnees['repas'] . '" name="repas[]" id="input"></td>
<td><input class="form-control" type="text" name="num_commande[]" value="' . $donnees['num_commande'] . '" placeholder="numéro commande" id="input"></td>
<td><input class="form-control" type="text" name="nom_cli[]" value="' . $donnees['nom_cli'] . '" placeholder="nom du client" id="input"></td>
<td><input class="form-control" type="text" name="adr_cli[]" value="' . $donnees['adr_cli'] . '" placeholder="adresse client" id="input"></td>
<td><select class="form-control" name="ct[]" id="input" type="text"><option>'.$donnees['ct'].'<option> Ct entretient </option><option> facturable </option></select></td>
<td><select class="form-control" name="chantier[]" id="input" type="text"><option>'.$donnees['chantier'].'</option><option> Encours </option><option> Fini </option></select></td>
</tr>
</div>
</div></table>';
}
?> </form><?php
}
}
}
catch (PDOException $e) {
echo 'Erreur : ' . $e -> getMessage();
}
?>[/code]
Vous l'avez peut être pas vue mais j'ai un bouton modifier sur chaque ligne pour pendre l'id unique de chaque ligne (id_formulaire), bref tout ça marche bien c'est pour modifier que cela devient compliquer le code de l'update dans une autre page modifadmin.php :
[code]<?php
session_start();
$dateactu = $_POST['dateactu'];
$heure_eff = $_POST['heure_eff'];
$repas = $_POST['repas'];
$num_commande = $_POST['num_commande'];
$nom_cli = $_POST['nom_cli'];
$adr_cli = $_POST['adr_cli'];
$nb_semaine = $_POST['nb_semaine'];
$email_user = $_POST['email_user'];
$ct = $_POST['ct'];
$chantier = $_POST['chantier'];
try {
//connexion BDD
$bdd = new PDO('mysql:host=localhost;dbname=rapport', 'root', '');
$sql2 = $bdd->prepare ('UPDATE `form` SET `dateactu` = :dateactu , `heure_eff` = :heure_eff, `repas` = :repas , `num_commande` = :num_commande , `nom_cli` = :nom_cli , `adr_cli` = :adr_cli , `ct` = :ct , `chantier` = :chantier WHERE email_user ="
[email protected]" AND nb_semaine= "2017-W01" AND id_formulaire = "'.$_GET['id_formulaire'].'" ');
$sql2 -> execute(array(':dateactu' => $dateactu ,
':heure_eff'=> $heure_eff,
':repas'=> $repas ,
':num_commande' => $num_commande ,
':nom_cli' => $nom_cli ,
':adr_cli' => $adr_cli ,
':ct'=> $ct,
':chantier'=> $chantier));
}
catch (PDOException $e) {
echo 'Erreur : ' . $e -> getMessage();
}
?>[/code]
lorsque j'appuie sur un bouton modifier j'ai des undefined index sur toutes mes lignes:
[code]$dateactu = $_POST['dateactu'];
$heure_eff = $_POST['heure_eff'];
$repas = $_POST['repas'];
$num_commande = $_POST['num_commande'];
$nom_cli = $_POST['nom_cli'];
$adr_cli = $_POST['adr_cli'];
$nb_semaine = $_POST['nb_semaine'];
$email_user = $_POST['email_user'];
$ct = $_POST['ct'];
$chantier = $_POST['chantier'];[/code]
peut-être que c'est une erreur toute simple mais je n'ai pas trouvé malgré les heures passé dessus , j'aimerais savoir aussi comment récuperer une variable qui est dans mon premierer form pour ma page modifadmin.php mais ça c'est une autre question, si vous avez une idée du pourquoi merci de me repondre !