Salut à tous,
j'ai un petit prob, j'aimerai supprimer un champ dans mysql grace a un tableau.
voici ma page ou je recherche toute les nouvelles et j'aimerai qu'en cliquant sur supprimer la ligne soit supprimer a la fois dans le tableau puis dans mysql.
<?php
require_once("Consulter.php");
//=========================================
// récuperation données du formulaires
//==========================================
if (isset ($_POST['listeladate']))
{
$ladate = $_POST['listeladate'];
}
if (isset ($_POST['listetexte']))
{
$texte = $_POST['listetexte'];
}
class Page_Consultation
{
public $consult;
public $ladate;
public $texte;
function Page_Consultation()
{
$this->consult = new Consulter();
}
function afficherResultat()
{
echo '<table border=3 CELLSPACING="0" BORDERCOLOR="#000000" class= "classeTab" frame="hsides" rules="rows" border=1 width=\'90%\'>';
for($i=0;$i< count($this->consult->collection->listeNouvelles);$i++)
{
echo ' <form name="publication" ENCTYPE="multipart/form-data" action="./Page_consultation.php" method="post">';
echo '<tr>';
echo '<td id="noeudTable">';
echo $id = $this->consult->collection->listeNouvelles[$i]->Id;
echo '</td>';
echo '<td width = "40%"><b>';
echo $this->consult->collection->listeNouvelles[$i]->ladate;
echo '</td></b>';
echo '<td width="50%">';
echo $this->consult->collection->listeNouvelles[$i]->texte;
echo '</td>';
echo '<td width ="10%">';
echo '<input type="submit" name="supprimer" value="supprimer" onclick="'.$page_consult->supprimer('.$id.').'">';
echo '</td>';
echo '</tr>';
echo'</form>';
} echo'</table>';
}
function rechercher()
{
$this->consult->rechercher();
}
function supprimer($id)
{
$this->consult->supprimer($id);
}
}
$page_consult = new Page_Consultation();
?>
<html>
<head>
<title> listes des nouvelles</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK rel="stylesheet" type="text/css" href="style.css">
</head>
<body bgcolor="#ffffff">
<fieldset>
<legend>Supprimer une nouvelle </legend>
<? $page_consult->rechercher(); ?>
<? $page_consult->afficherResultat(); ?>
</fieldset>
</body>
</html>
et voici ma page consulter
<?php
require "BaseDeDonnées.php";
require "CollectionNouvelles.php";
//require "Publier.php";
class Consulter
{
public $page_consult;
public $rech;
public $collection;
function Consulter()
{
$this->collection = new collectionNouvelles();
}
function rechercher()
{
//=========================================
$db = new BaseDeDonnee();
$db->seConnecter();
//=========================================
// requête SQL qui ne prend que le nombre
// d'enregistrement necessaire à l'affichage.
//=========================================
$requete = "SELECT * FROM nouvelles ";
$resultat = $db->requete($requete);
//=========================================
// si on a récupéré un resultat on l'affiche.
//=========================================
while($row = mysql_fetch_array($resultat))
{
$this->collection->ajouterNouvelle($row[0],$row[1],$row[2]);
}
if(!mysql_free_result($resultat))
print (mysql_error());
}
function rechercherladate()
{
$listeladate = array();
$db = new BaseDeDonnee();
$db->seConnecter();
$requete = "SELECT DISTINCT ladate FROM nouvelles ";
$resultat = $db->requete($requete);
while($row = mysql_fetch_array($resultat))
{
array_push($listeladate,$row[0]);
}
if(!mysql_free_result($resultat))
print (mysql_error());
return $listeladate;
}
function supprimer($id)
{
$db = new BaseDeDonnee();
$db->seConnecter();
$requete = "delete from nouvelles where Id = '$id' ";
$resultat = $db->requete($requete);
$requete = "UPDATE nouvelles " ;
$db->requete($requete);
if(!$resultat)
{
echo "<h2>Erreur d'insertion \n n°",mysql_errno()," : ",mysql_error()."</h2>";
}
else
{
echo "<script type=\"text/javascript\">alert('Nouvelle supprimée')</script>";
}
$db->seDeconnecter();
}
}
si quelqu'un peut m'aider je le remercie d'avance