Supprimer une ligne d'un tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Supprimer une ligne d'un tableau

par micetf » 24 juil. 2009, 15:45

Bête question peut-être mais le $_GET['numinter'] c'est bien un $_GET se ne serais pas un $donnees['numinter'] :?:
Ici ?
<td><a href="client.php?id=<?php echo $_GET['id']; ?>&action=delete&numinter=<?php echo $_GET['numinter']; ?>"><img src="images/delete.png" "border=0"></a></TD> 
C'est vrai, que c'est certainement mieux de mettre :
<td><a href="client.php?id=<?php echo $_GET['id']; ?>&action=delete&numinter=<?php echo $donnees['numinter']; ?>"><img src="images/delete.png" "border=0"></a></TD> 
pour pouvoir écrire :

Code : Tout sélectionner

if (isset($_GET['action']) && $_GET['action']=='delete') { // TODO : Requête de destruction de l'intervention ayant la clé $GET['numinter'] }
Fred

par niuxe » 24 juil. 2009, 15:28

Hello,

Je peux me tromper, mais j'ai l'impression qu'il manque l'encodage d'url. :-k Regarde en faisant ceci :
<td><a href="client.php?id=<?php echo urlencode($_GET['id']); ?>&action=delete&numinter=<?php echo urlencode($donnees['numinter']); ?>"><img src="images/delete.png" border="0" /></a></td> 


<<<EDIT
* Que donne ceci ?
echo $donnees['numinter']." => ".$_GET['id'];
* De mémoire, l'élément b et à oublier au profit de strong. D'une manière générale, séparer le contenu de la mise en page (span).
EDIT;

Au passage, pense à factoriser ton code (lire ou relire ce tut). Je te signale aussi que les éléments html et ses attributs s'écrivent en minuscules. Là, je viens de te corriger la ligne html :
border="0" />

par dunbar » 24 juil. 2009, 14:28

Bête question peut-être mais le $_GET['numinter'] c'est bien un $_GET se ne serais pas un $donnees['numinter'] :?:

par phoorums » 24 juil. 2009, 14:22

Qu'est-ce qui ne fonctionne pas lorsque tu cliques sur le bouton ?

Si le code que tu nous montres est client.php,
à priori,
il n'y a aucune raison
pour qu'un clique sur le bouton delete
entraîne la suppression d'une intervention.

Pour cela,
il faudrait un bout de code du style :

Code : Tout sélectionner

if (isset($_GET['action']) && $_GET['action']=='delete') { // TOTDO : Requête de destruction de l'intervention ayant la clé $GET[numinter''] }
Fred
Pourtant ce code fonctionne parfaitement en local, il supprime immédiatement la ligne. Mais je vais essayer ta piste.

par micetf » 24 juil. 2009, 14:07

Qu'est-ce qui ne fonctionne pas lorsque tu cliques sur le bouton ?

Si le code que tu nous montres est client.php,
à priori,
il n'y a aucune raison
pour qu'un clique sur le bouton delete
entraîne la suppression d'une intervention.

Pour cela,
il faudrait un bout de code du style :

Code : Tout sélectionner

if (isset($_GET['action']) && $_GET['action']=='delete') { // TOTDO : Requête de destruction de l'intervention ayant la clé $GET[numinter''] }
Fred

par phoorums » 24 juil. 2009, 13:13

ben, faudrait montre le code de client.php, et surtout comment tu dispatches les actions.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>xxxxxxxxx</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Language" content="fr" />
<link rel="stylesheet" type="text/css" href="default.css" >
</head>
<body>
<div id="conteneur">
<div id="entete">
<a href="index.php"><img src="images/xxxxx.jpg" "border=0" align="left"></a>
</div>

<div id="contenu">
<?php
mysql_connect("xxxxxxr", "dxxxxxx", "yxxxxxxx"); // Connexion à MySQL
mysql_select_db("xxxxxx"); // Sélection de la base

$reponse = mysql_query("SELECT prenom,nom FROM client WHERE id_client = ".$_GET['id'].""); // Requête SQL


// On fait une boucle pour lister tout ce que contient la table :

while ($donnees = mysql_fetch_array($reponse) )
{
?>
<p id="titre">
Suivi des interventions de <?php echo $donnees['prenom']; ?> <?php echo $donnees['nom']; ?>
</p>
<?php
}

mysql_close(); // Déconnexion de MySQL
?>



<TABLE width="100%">
<TR>
<TD width="12" bgcolor="#1A1E5E"><Font color=#FFFFFF><B> Date </B></font></TD>
<TD width="20" bgcolor="#1A1E5E"><Font color=#FFFFFF><B> Interlocuteur </B></font></TD>
<TD width="30" bgcolor="#1A1E5E"><Font color=#FFFFFF><B> Situation </B></font></TD>
<TD width="70" bgcolor="#1A1E5E"><Font color=#FFFFFF><B> Avancée </B></font></TD>
<TD width="10" bgcolor="#1A1E5E"><Font color=#FFFFFF><B> Etat </B></font></TD>
</TR>

<form method="POST" action="add_inter.php?id=<?php echo $_GET['id']; ?>">
<tr>
<td>

<input type="text" name="date" size="12" value="<?php echo date("d/m/Y" ); ?>" maxlength="10">

</td>
<td>
<select name="interlocuteur" >
<option value="xxxxn">xxxxx</option>
<option value="xxxxa">xxxxxtion>
<option value="xxxxl">xxxx</option>
<option value="xxx">xxxxs</option>
</select>
</td>
<td>

<select name="typemessage">
<option value="Appel téléphonique sortant">Appel téléphonique sortant</option>
<option value="Appel téléphonique entrant">Appel téléphonique entrant</option>
<option value="Email sortant">Email sortant</option>
<option value="Email entrant">Email entrant</option>
<option value="Intervention">Intervention</option>
<option value="Pas de contact client">Pas de contact client</option>
</select>
</td>
<td>
<input type="text" name="objet" size="70" value="" maxlength="200">
</td>
<td>
<select name="etat">
<option value="En cours">En cours</option>
<option value="Clôturé">Clôturé</option>
</select>

</td>
<td>
<input type="submit" value="Ajouter" name="ajouter">
</td>
</tr>
</form>

<?php
mysql_connect("dxxxxx", "xxxxx", "xxxxxx"); // Connexion à MySQL
mysql_select_db("xxxxxx"); // Sélection de la base extranet

$reponse = mysql_query("SELECT date,interlocuteur,typemessage,objet,etat FROM intervention WHERE id_client = ".$_GET['id']." order by numinter desc"); // Requête SQL

// On fait une boucle pour lister tout ce que contient la table :

while ($donnees = mysql_fetch_array($reponse))
{
?>

<TR>
<td bgcolor="#E5E5E5" valign="top"> <?php echo $donnees['date']; ?></TD>
<td bgcolor="#E5E5E5" valign="top"> <?php echo $donnees['interlocuteur']; ?> </TD>
<td bgcolor="#E5E5E5" valign="top"> <?php echo $donnees['typemessage']; ?> </TD>
<td bgcolor="#E5E5E5" valign="top"> <?php echo $donnees['objet']; ?> </TD>
<td bgcolor="#E5E5E5" valign="top"> <?php echo $donnees['etat']; ?> </TD>
<td><a href="client.php?id=<?php echo $_GET['id']; ?>&action=delete&numinter=<?php echo $_GET['numinter']; ?>"><img src="images/delete.png" "border=0"></a></TD>
</TR>
<?php
}
mysql_close(); // Déconnexion de MySQL
?>
</TABLE>

</div>
<p id="footer">xxxxxxxxxxxxxx</p>
</div>
</body>
</html>

par orgerix » 23 juil. 2009, 21:11

ben, faudrait montre le code de client.php, et surtout comment tu dispatches les actions.

Supprimer une ligne d'un tableau

par phoorums » 23 juil. 2009, 21:08

Bonjour,

J'ai encore une chose (cf sujet Redirection) qui fonctionne en local avec wamp et ne fonctionne pas sur le serveur.

J'affiche les données d'une table dans un tableau (jusqu'ici tout va bien). Et au bout de chaque ligne, j'ai ajouté un bouton supprimer (un peu comme sur l'interface de mysql )

Mon code (qui est peut-être maladroit mais qui fonctionne parfaitement en local)

<td><a href="client.php?id=<?php echo $_GET['id']; ?>&action=delete&numinter=<?php echo $donnees['numinter']; ?>"><img src="images/delete.png" "border=0"></a></td>

Par contre sur le serveur, lorsque je clique sur le bouton, cela ne fonctionne pas.

Je ne sais pas si l'exposé de mon problème est très clair mais toute aide serait la bienvenue ;-)