le 15/03/2010 à 12:00
Récuperer une variable dans une boucle while
Oops, normal j'ai oublié de faire passer les ids dans le form.
Il faut faire envoyer par le formulaire les identifiants de chaque commandes dans une variable. Le truc ici est de concaténer les ids et ensuite utiliser explode pour les récupérer dans un foreach :
Il faut faire envoyer par le formulaire les identifiants de chaque commandes dans une variable. Le truc ici est de concaténer les ids et ensuite utiliser explode pour les récupérer dans un foreach :
<?php
include_once ('verif_admin.php');
session_start();
//error_reporting(E_ALL);
/****************************/
require_once('../config.php');
require_once('../fonctions.php');
$titre_page='Mise à jour de commandes';
include_once('../haut.php');
echo'<link href="../style.css" rel="stylesheet" type="text/css" />';
/****************************/
//$pseudo=formulaires($_POST['pseudo']);
/****************************/
if(isset($update))
{
$Tabid = explode(";",$_POST['ids']);
foreach ($Tabid as $id) {
mysql_query("UPDATE commandes SET etat='".mysql_escape_string($_POST['etat_'.intval($id)])."' WHERE id_c='".intval($id)."'") or die ('Impossible de sélectionner une base de donnée.'.mysql_error()); }
}
else
{
// Nous affichons notre tableau des commandes
echo'<form method="post" action="etat_commande.php">';
$entete = array('Client','N° Commande','Date commande','Fichier','Q','Etat','Date livraison','Expédition');
echo'<div align="center" ><r><strong>Liste des clients enregistées - Mettre à jour de l\'état des commandes</strong></r><br />';
echo'<table width="1150" height="40" border="1" align="center" bgcolor=#FF0000>
<colgroup>
<col style="width: 150px">
<col style="width: 120px">
<col style="width: 100px">
<col style="width: 200px">
<col style="width: 60px">
<col style="width: 200px">
<col style="width: 100px">
<col style="width: 220px">
</colgroup>
<tr>
<th scope="col">'.$entete[0].'</th>
<th scope="col">'.$entete[1].'</th>
<th scope="col">'.$entete[2].'</th>
<th scope="col">'.$entete[3].'</th>
<th scope="col">'.$entete[4].'</th>
<th scope="col">'.$entete[5].'</th>
<th scope="col">'.$entete[6].'</th>
<th scope="col">'.$entete[7].'</th>
</tr>
</table>';
$result = mysql_query("SELECT nom, prenom,ref_com, date_com, fichier_com, Q, etat, date_livraison, expedition,id_c FROM commandes ORDER BY id_c DESC") or die ('Impossible de sélectionner une base de donnée.'.mysql_error());
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
/****Modification de la date : Américan vers Europe**********/
$date_comm = $row[3];
$date_liv = $row[7];
$date_comm = preg_replace('!^([0-9]{4})+-([0-9]{2})+-([0-9]{2})$!', '$3/$2/$1', $date_comm); #Modifiation de la date
$date_liv = preg_replace('!^([0-9]{4})+-([0-9]{2})+-([0-9]{2})$!', '$3/$2/$1', $date_liv); #Modifiation de la date
$row[3] = $date_comm ;
$row[7] = $date_liv ;
$Tabid .= $row[9].";";
/***************************************************************/
echo'<table width="1150" height="40" border="1" align="center" >
<colgroup>
<col style="width: 150px">
<col style="width: 120px">
<col style="width: 100px">
<col style="width: 200px">
<col style="width: 60px">
<col style="width: 200px">
<col style="width: 100px">
<col style="width: 220px">
</colgroup>
<tr>
<th scope="col" ><b>'.$row[1].' '.$row[0].'</b></th>
<th scope="col" >'.$row[2].'</th>
<th scope="col" >'.$row[3].'</th>
<th scope="col" >'.$row[4].'</th>
<th scope="col" >'.$row[5].'</th>
<th scope="col" ><b>'.$row[6].'</b>
<select name="etat_'.$row[9].'">';
$status = array('NEWS','EN COURS','EXPEDITION','TERMINEE');
foreach ($status as $valeur) {
$selected = ($valeur == $row[6]) ? 'selected="selected"' : '';
echo '<option value="'.$valeur.'" '.$selected.'>'.$valeur.'</option>'; }
echo'</select>
</th>
<th scope="col" >'.$row[7].'</th>
<th scope="col" >'.$row[8].'</th>
</tr>
</table>';
}
echo '<input type="hidden" name="ids" value="'.substr($Tabid, 0, -1)).'" />';
echo '<br/><label><input type="submit" name="update" value="Mettre à jour" /></label></form>';
}
?>
<html>
<head>
<title>xxxx : Mise à jour de commandes</title>
<link href="../style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
r {
color:red;
}
b {
color:blue;
}
-->
</style>
</head>
<body>
<div align="center"><a href="http://xxx/xxxx_admin/membre_admin.php"> Retour</a></div>
<?php
//include_once('../bas.php');
?>
</body>
</html>
?>