Code : Tout sélectionner
<input type="chekbox" name="temp[]" value="val">foreach ($_POST["temp"] as $index => $val) {
$str_requete = "DELETE FROM table WHERE champ LIKE ".$val;
...
}
Code : Tout sélectionner
SELECT * FROM utilisateur WHERE nom='cerber' AND level='admin'Code : Tout sélectionner
<input type="checkbox" name="listeCase[]" value="nom="cerber" AND level='admin'"><?
$where='FALSE';
for($i=0;$i<count($_POST['listeCase']);$i++){
$where.=' OR ('.$_POST['listeCase'][$i].')';
}
$sql = "DELETE FROM table WHERE $where";
?>
si tu est pas sur de tes utilisateurs ou si tu crain un piratage (et tu devrais Code : Tout sélectionner
$_SESSION['case'][1]="nom='cerber' AND level='admin'"
...
<input type="checkbox" name="listeCase[]" value="1">
...
$where.=' OR ('.$_SESSION['case'][$_POST['listeCase'][$i]].')';Tu peut construire tes case à cocher avec un tableau
Et dans ton script de vérification, tu parcours ce tableau :Code : Tout sélectionner
<input type="chekbox" name="temp[]" value="val">
foreach ($_POST["temp"] as $index => $val) { $str_requete = "DELETE FROM table WHERE champ LIKE ".$val; ... }
<table border="1">
<tr>
<td></td>
<td><b>Jour</b></td>
<td><b>Mois</b></td>
<td><b>Annee</b></td>
<td><b>Heure</b></td>
<td><b>Type</b></td>
<td><b>Downtime in SLA</b></td>
<td><b>Total Downtime</b></td>
<td><b>Description</b></td>
<td><b>Action</b></td>
<td><b>Owner</b></td>
</tr>
<?php
require_once('../Connections/arnis01.php');
mysql_select_db("arnis01");
$annee=$_POST["annee"];
$str_requete ="SELECT jour, mois, annee, heure, type, sla, total, description, action, owner FROM sla WHERE annee=".$annee." ORDER BY annee, mois, jour";
$o_result = mysql_query($str_requete);
while ($a_result = mysql_fetch_array($o_result, MYSQL_ASSOC)) {
$tabMois = array ('01'=>'Janvier', '02'=>'Février', '03'=>'Mars', '04'=>'Avril', '05'=>'Mai', '06'=>'Juin', '07'=>'Juillet', '08'=>'Août', '09'=>'Septembre', '10'=>'Octobre', '11'=>'Novembre', 12=>'Décembre');
$mois = $tabMois[$a_result["mois"]];
echo "<tr>";
echo "<td><input type='checkbox' name='temp[]' value='val'></td>";
echo "<td>".$a_result["jour"]."</td>";
echo "<td>".$mois."</td>";
echo "<td>".$a_result["annee"]."</td>";
echo "<td>".$a_result["heure"]."</td>";
echo "<td>".$a_result["type"]."</td>";
echo "<td>".$a_result["sla"]."</td>";
echo "<td>".$a_result["total"]."</td>";
echo "<td>".$a_result["description"]."</td>";
echo "<td>".$a_result["action"]."</td>";
echo "<td>".$a_result["owner"]."</td>";
echo "</tr>";
foreach ($_POST["temp"] as $index => $val) {
$str_requete = "DELETE FROM sla WHERE ? LIKE ".$val;
}
}
mysql_close();
?>
</table>
<button type="button" value="button" name="delete">Supprimer</button>";
Je n'arrive pas a voir quel champ je dois mettre dans ma requete Delete!
<table border="1">
<tr>
<td></td>
<td><b>Jour</b></td>
<td><b>Mois</b></td>
<td><b>Annee</b></td>
<td><b>Heure</b></td>
<td><b>Type</b></td>
<td><b>Downtime in SLA</b></td>
<td><b>Total Downtime</b></td>
<td><b>Description</b></td>
<td><b>Action</b></td>
<td><b>Owner</b></td>
</tr>
<?php
require_once('../Connections/arnis01.php');
mysql_select_db("arnis01");
$annee=$_POST["annee"];
$str_requete ="SELECT jour, mois, annee, heure, type, sla, total, description, action, owner FROM sla WHERE annee=".$annee." ORDER BY annee, mois, jour";
$o_result = mysql_query($str_requete);
while ($a_result = mysql_fetch_array($o_result, MYSQL_ASSOC)) {
$tabMois = array ('01'=>'Janvier', '02'=>'Février', '03'=>'Mars', '04'=>'Avril', '05'=>'Mai', '06'=>'Juin', '07'=>'Juillet', '08'=>'Août', '09'=>'Septembre',
'10'=>'Octobre', '11'=>'Novembre', 12=>'Décembre');
$mois = $tabMois[$a_result["mois"]];
echo "<tr>";
echo "<td><input type='checkbox' name='temp[]' value='description'></td>";
echo "<td>".$a_result["jour"]."</td>";
echo "<td>".$mois."</td>";
echo "<td>".$a_result["annee"]."</td>";
echo "<td>".$a_result["heure"]."</td>";
echo "<td>".$a_result["type"]."</td>";
echo "<td>".$a_result["sla"]."</td>";
echo "<td>".$a_result["total"]."</td>";
echo "<td>".$a_result["description"]."</td>";
echo "<td>".$a_result["action"]."</td>";
echo "<td>".$a_result["owner"]."</td>";
echo "</tr>";
}
?>
</table>
<form action='downtime2.php'>
<?php
foreach ($_POST["temp"] as $index => $val) {
$str_requete2 = "DELETE FROM sla WHERE description LIKE ".$val;
$result = mysql_query($str_requete2);
}
?>
<button type="button" value="button" name="delete">Supprimer</button>
et j'ai mon tableau qui s'affiche ave en bas cette erreur :
[size=75]<table border="1">
<tr>
<td></td>
<td><b>Jour</b></td>
<td><b>Mois</b></td>
<td><b>Annee</b></td>
<td><b>Heure</b></td>
<td><b>Type</b></td>
<td><b>Downtime in SLA</b></td>
<td><b>Total Downtime</b></td>
<td><b>Description</b></td>
<td><b>Action</b></td>
<td><b>Owner</b></td>
</tr>
<?php
require_once('../Connections/arnis01.php');
mysql_select_db("arnis01");
$annee=$_POST["annee"];
$str_requete ="SELECT jour, mois, annee, heure, type, sla, total, description, action, owner FROM sla WHERE annee=".$annee." ORDER BY annee, mois, jour";
$o_result = mysql_query($str_requete);
while ($a_result = mysql_fetch_array($o_result, MYSQL_ASSOC)) {
$tabMois = array ('01'=>'Janvier', '02'=>'Février', '03'=>'Mars', '04'=>'Avril', '05'=>'Mai', '06'=>'Juin', '07'=>'Juillet', '08'=>'Août', '09'=>'Septembre',
'10'=>'Octobre', '11'=>'Novembre', 12=>'Décembre');
$mois = $tabMois[$a_result["mois"]];
?>
<form action='downtime2.php' method="post">
<?php
echo "<tr>";
echo "<td><input type='checkbox' name='temp[]' value='$a_result["description"]'></td>";
echo "<td>".$a_result["jour"]."</td>";
echo "<td>".$mois."</td>";
echo "<td>".$a_result["annee"]."</td>";
echo "<td>".$a_result["heure"]."</td>";
echo "<td>".$a_result["type"]."</td>";
echo "<td>".$a_result["sla"]."</td>";
echo "<td>".$a_result["total"]."</td>";
echo "<td>".$a_result["description"]."</td>";
echo "<td>".$a_result["action"]."</td>";
echo "<td>".$a_result["owner"]."</td>";
echo "</tr>";
}
?>
</table>
<button type="button" value="button" name="delete">Supprimer</button>
</form>[/size]
Puis dans downtime2.php[size=75]<?php
foreach ($_POST["temp"] as $index => $val) {
$str_requete2 = "DELETE FROM sla WHERE description LIKE ".$val;
$result = mysql_query($str_requete2);
}
?>[/size]
echo "<td><input type='checkbox' name='temp[]' value='".$a_result["description"]."'></td>";
Tu remarqueras qu'il faut laisser les simples cotes pour le browser et les doubles cotes pour que le serveur apache réalise la concaténation
<?php
//J'ai une page .class qui connecte à la base et qui crée une variable objet $bd
require_once('serveur_bd.class');
//Données
$annee=2005;
$mois = array (1=>'Janvier', 2=>'Février', 3=>'Mars', 4=>'Avril', 5=>'Mai', 6=>'Juin', 7=>'Juillet', 8=>'Août', 9=>'Septembre', 10=>'Octobre', 11=>'Novembre', 12=>'Décembre');
//Récuperer l'action du formulaire
$action = isset($_POST["action"])?$_POST["action"]:null;
//Récuperer les lignes à supprimer
$selection = isset($_POST["selection"])?$_POST["selection"]:null;
if ($selection != null && $action == "Supprimer")
foreach ($selection as $date)
if ($date != null){
//raffale de suppressions
$requete = "DELETE FROM taches WHERE date='$date'";
//executerSQL est une fonction de la classe de l'objet $bd
$bd->executerSQL($requete);
}
//Afficher le planning des tâches
$requete ="SELECT day(date) as jour, month(date) as mois,year(date) as annee, a_faire
FROM taches WHERE
year(date)=$annee
ORDER BY date";
//Dans le cas d'un SELECT executerSQL retourne un tableau
$taches = $bd->executerSQL($requete);
echo "<h3>Annee $annee
<hr>
<form method=POST>
<table border=1>
<tr>
<th>
<th>Mois
<th>Jour
<th>Tâche
";
if ($taches != null)
foreach ($taches as $tache)
if ($tache != null) {
$date = $tache["annee"]."/".$tache["mois"]."/".$tache["jour"];
$jour = $tache["jour"];
$nom_mois = $mois[$tache["mois"]];
$a_faire = $tache["a_faire"];
echo "<tr>
<td><input type='checkbox' name='selection[]' value=\"$date\">
<td>$nom_mois
<td>$jour
<td>$a_faire";
}
?>
</table>
<hr>
<input type="submit" value="Supprimer" name="action">
</form>
?>
Reamarques que la suppression est traitée avant la requête SELECT pour ne pas réafficher des élèments supprimés<?php
Class serveur_bd {
//Données de la classe
var $connexion;
var $base;
var $serveur;
//Construction (initilaisation de la session serveur: nom serveur, utilisateur, mot de passe et base de données)
function serveur_bd($serveur = array('host'=>"localhost",'user'=>"root",'pwd'=>""), $base = "test"){$this->serveur = $serveur; $this->base = $base;}
//fonction d'exécution d'une requête donnée
function executerSQL($sql){
//connecter au serveur
$this->connexion = mysql_connect($this->serveur["host"],$this->serveur["user"],$this->serveur["pwd"]) or die ("Serveur non disponible!");
//ouvrir la base
mysql_select_db($this->base, $this->connexion) or die ("Base de données non disponible!");
//exécuter la requête donnée
$req = mysql_query($sql, $this->connexion) or die ("Requête non exécutée!");
$res = null;
//explorer le resultat pour le transformer en tableau d'objets s'il s'agit d'un recordset
if (is_resource($req))
while ($ligne = mysql_fetch_array($req)) {
$res[] = $ligne;
}
//retourner le tableau assemblé
return $res;
}
}//fin de la classe
//Création d'un objet serveur'
$bd = new serveur_bd();
?>