PHP : action et delete

Fermé
opanis Messages postés 6 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 10 août 2006 - 8 août 2006 à 20:44
 nico - 2 juil. 2007 à 11:38
Bonjour,

Je voudrais creer une page avec les différentes informations de ma base de donnée et que lorsque l'on clique sur un lien, cela supprime la donnée correspondante, j'ai commencé en trouvant des exemple sur le net mais la je suis bloqué et je sais pas comment faire il me met comme message d'erreur Notice: Undefined variable: action in c:\documents and settings\inconnu\mes documents\site mairie\divers\appeldoffre\essf.php on line 21

et a cette ligne il y a if ($action == "delete")

Quelqu'un pourrais t'il m'aidé.

Je joins le code de la page
"
<body background="../images/fond2.jpg">

  <p align="center">  <img border="0" src="../images/MF.GIF">

  <p align="center">
   
  <?php

 	require( "../config.inc.php" );     	
 	$ok = connex_base( $hote, $login_base, $pwd, $base );
 	if($ok){
 
if ($action == "delete")
{
$req = mysql_query("delete from appel where idap=".$tab['ida'][$key]."");
}
		$query  = "select * from appel";
		$result = mysql_query($query);
		
		while( $rows = mysql_fetch_array($result)){ 

			$tab['ida'][]      = $rows[0];
			$tab['categorie'][]  = $rows[1];
			$tab['titre'][]     = $rows[2];
			$tab['numero'][]  = $rows[3];
			$tab['publication'][]  = $rows[4];
			$tab['objet'][]  = $rows[5];
			$tab['datelimite'][]  = $rows[6];
			$tab['pdf'][] = $rows[7];
			$tab['pdfpublication'][] = $rows[7];
				} 

  					 		 }
  			?>

  <table border="1" width="100%">
    <tr>
      <td width="25%"><b>Titre</b></td>
      <td width="25%"><b>Numéro</b></td>
      <td width="25%"><b>Date limite d'envoi</b></td>
      <td width="25%"><b>Action</b></td>
    </tr>
    <?
    foreach($tab['ida'] as $key => $val){
echo "<tr>";
			echo "<td>".$tab['titre'][$key]."</td>";
			echo "<td >".$tab['numero'][$key]."</td>";
			echo "<td> ".$tab['datelimite'][$key]."</td>";
			echo "<td><a href=\"#null\" onclick=\"javascript:if(confirm('Etes-vous sûr de vouloir supprimer cette annonce ?')) document.location.replace('essf.php?action=delete&idap=".$tab['ida'][$key]."');\">Supprimer</a></td>";
			echo "</tr>";
}
?>
  </table>
  <p align="right"><a href="appel.html"><img border="0" src="../images/retour.gif" width="127" height="40"></a></p>
  


Merci
A voir également:

7 réponses

Darshu Messages postés 303 Date d'inscription lundi 30 janvier 2006 Statut Membre Dernière intervention 3 avril 2008 64
9 août 2006 à 09:17
Salut.

Dans le code que tu as mis, "action" n'apparait nulle part donc PHP ne sait pas ce que c'est ! Si c'est dans l'url (index.php?action=delete par exemple), alors il faut utiliser $_GET['action']. Si c'est envoyé par un formulaire vers ta page, alors c'est $_POST['action'] si la méthode du formulaire est "POST", et $_GET['action'] encore si la méthode est "GET".
0
opanis Messages postés 6 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 10 août 2006
9 août 2006 à 20:17
Bonjour,

Merci de ta réponse
Oui j'ai cherché sur google et sur yahoo sans trouvé la réponse, je débute un peu en phph, grace a ta réponse j'ai pu resoudre tout les erreur de php mais il me reste un probleme de taille, en effet il ne me supprime pas la donné de la base de donnée.
Je joins le code de la page.
Merci de votre aide

<body background="../images/fond2.jpg">

<p align="center"><img border="0" src="../images/appeloffre.gif" width="195" height="47"></p>
<p align="center"><b><font color="#3366FF" size="4">Supprimer Appel D'offre</font></b></p>

  <p align="center">
   
  <?php
require( "../config.inc.php" );     	
 	$ok = connex_base( $hote, $login_base, $pwd, $base );
 	if($ok){
 	
 		$query  = "select * from appel";
		$result = mysql_query($query);
		
		while( $rows = mysql_fetch_array($result)){ 

			$tab['ida'][]      = $rows[0];
			$tab['categorie'][]  = $rows[1];
			$tab['titre'][]     = $rows[2];
			$tab['numero'][]  = $rows[3];
			$tab['publication'][]  = $rows[4];
			$tab['objet'][]  = $rows[5];
			$tab['datelimite'][]  = $rows[6];
			$tab['pdf'][] = $rows[7];
			$tab['pdfpublication'][] = $rows[7];
				} 

$ide  = $_GET["idap"];

$req = mysql_query("delete from appel where idap= .$ide ");

  					 		 }
  			?>

  <table border="1" width="100%" bordercolor="#000080" bordercolordark="#000080" bordercolorlight="#99CCFF">
    <tr>
      <td width="40%" bgcolor="#99CCFF"><b><font color="#000080">Titre</font></b></td>
      <td width="20%" bgcolor="#99CCFF"><b><font color="#000080">Numéro</font></b></td>
      <td width="20%" bgcolor="#99CCFF"><b><font color="#000080">Date limite d'envoi</font></b></td>
      <td width="20%" bgcolor="#99CCFF"><b><font color="#000080">Action</font></b></td>
    </tr>
    <?
    foreach($tab['ida'] as $key => $val){
echo "<tr>";
			echo "<td>".$tab['titre'][$key]."</td>";
			echo "<td >".$tab['numero'][$key]."</td>";
			echo "<td> ".$tab['datelimite'][$key]."</td>";
			echo "<td><a href=\"#null\" onclick=\"javascript:if(confirm('Etes-vous sûr de vouloir supprimer cette annonce ?')) document.location.replace('essf.php?action=delete&idap=".$tab['ida'][$key]."');\">Supprimer</a></td>";
			echo"<td><a href=\"essf1.php?idap=".$tab['ida'][$key]."\">Modifier</a></td>";
			echo "</tr>";
}
?>
  </table>
  <p align="right"><a href="appel.html"><img border="0" src="../images/retour.gif" width="127" height="40"></a></p>
  
</body>
0
Darshu Messages postés 303 Date d'inscription lundi 30 janvier 2006 Statut Membre Dernière intervention 3 avril 2008 64
10 août 2006 à 09:21
Oui c'est normal :)

Une requête PHP doit TOUJOURS s'écrire sous le format suivant (passer par une variable intermédiaire $query est très intéressant !) :
$query = "SELECT * FROM `table` WHERE `champ` = '$variable' ";
pour un select simple.

Note l'utilisation de majuscules pour SELECT, FROM, WHERE, DELETE, UPDATE, AND, IN, BETWEEN, AS etc, ça te permet de mieux visualiser !

Dans ton cas, essaie ça :
$query = "DELETE FROM `appel` WHERE `idap`= '$ide' ";
mysql_query($query) or die("Erreur = ".mysql_error());
--

T'as pensé à regarder sur Google avant de poser ta question ? 
0
opanis Messages postés 6 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 10 août 2006
10 août 2006 à 20:43
Merci beaucoup pour ta réponse

Cela marche super bien mais lors du premier téléchargement de la page il me met un message d'erreur comme quoi idap n'est pas défini Il faudrai que je mets un if mais je sais pas quoi mettre en condition

Merci de ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Darshu Messages postés 303 Date d'inscription lundi 30 janvier 2006 Statut Membre Dernière intervention 3 avril 2008 64
11 août 2006 à 09:34
Salut !

Si $idap n'est pas défini, alors la condition c'est if (isset($idap)). isset renvoie 1 si la variable est définie, 0 dans le cas contraire :)

Bonne continuation
0
Bonjour,

excusez moi mai j'ai un petit problème, ma suppression ne fonctionne pas et je n'ai aucun message d'erreur.


<td ><?php $id=$row[0]; echo $id;?><a href="#" onclick="mysql_query(DELETE FROM news WHERE id= '$id') or die("Erreur = ".mysql_error());
																									">supprimer<a><br />modifier<br /></td>	




merci d'avance.
0
J'ai aussi essayé comme ça et c'est pareil :


<td ><?php $id=$row[0]; echo $id;?><a href="#" onclick="	$query = "DELETE FROM news WHERE id= '$id' ";
																										mysql_query($query) or die("Erreur = ".mysql_error());
																									">supprimer<a><br />modifier<br /></td>		


0