pb de requete

Mammouth du PHP | 19672 Messages

24 mai 2005, 19:35

Que faire ? débugguer bien sur et chercher ce qui manque à ton code: Juste une idée comme ça : juste après la définition de ta requête dans une variable, as-tu correctement établi la connexion au serveur de base de donné et lancé l'exécution de la requête ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ricardo
Invité n'ayant pas de compte PHPfrance

25 mai 2005, 10:13

Impossible de supprimer un enregistrement voila mon code si vous voyez quelque chose de bizarre :


<body background="../images/fondrose1.gif">
<div align="center">
<p><img src="../titres/titreannonceespace.gif" width="600" height="100"></p></div>
 		
<?php 

  if(isset($_POST['supprimer']))
	{
	 	$suppression = "DELETE FROM annonce WHERE id_utilisateur = 55"; 
	} 

  	/* On vérifie si le bouton d'envoi du formulaire a été cliqué */ 
	if(isset($_POST['envoyer'])) 
	{ 
		 // on récupère les données POST 
   		 $nomutilisateur = $_POST['nomutilisateur']; 
   		 $motpasse  = (isset($_POST['motpasse']))?$_POST['motpasse']:null; 
		 
		 $nomutilisateur_ok = trim($nomutilisateur); // trim() supprime les espaces éventuels
		// vérifie si le nom d'utilisateur existe déjà dans la base
		$reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
		$result=mysql_query($reponse);
		$total_nomutilisateur=mysql_num_rows($result);
	
		$motpasse_ok = trim($motpasse); // trim() supprime les espaces éventuels
		//vérifie si l'adresse mail existe déjà dans la base
		$reponse="SELECT motpasse FROM login WHERE motpasse = '$motpasse_ok'";
		$result=mysql_query($reponse);
		$total_motpasse=mysql_num_rows($result);
		
		if ($total_nomutilisateur == '' || $total_nomutilisateur != 1 || $total_motpasse == '' || $total_motpasse != 1) 
   		 { 
        // Action à adopter 
        ?> 
 
		<p align="center"><font color="red">Il y a une ou plusieurs erreurs :</font></p>
		<ul> 
		<?php 
        if ($total_nomutilisateur != 1 || $total_nomutilisateur == '') // Si le champ "nom utilisateur" est inconnu, 
        { 
            ?> 
            <li>
              <div align="center">Vous devez entrer un nom d'utilisateur valide pour votre annonce.</div>
            </li> 
            <div align="center">
              <?php 
        } 
		if ($total_motpasse != 1 && $total_motpasse == "") // Si le champ "mot de passe" est inconnu, 
        { 
            ?> 
            </div>
            <li>
              <div align="center">Vous devez entrer un mot de passe valide pour votre annonce.</div>
            </li> 
            <div align="center">
              <?php 
        } 
         ?>
		      </div>
            <form name="form1" method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
          <p align="center">Nom d'utilisateur&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            
            <input name="nomutilisateur" type="text" id="nomutilisateur" maxlength="10" value="<?php if(isset($_POST['nomutilisateur'])){echo $nomutilisateur;} ?>"> 
          </p>
          <p align="center">Mot de passe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            
            <input name="motpasse" type="text" id="motpasse" maxlength="10" value="<?php echo $motpasse ?>"> 
          </p>
          
            <p align="center">
                <input name="envoyer" type="submit" id="envoyer" value="OK">
            </p>
         
          </form>  
        	
  </ul> 
    <?php     

    } 
    else 
    { 
	         $reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'"; 
   			 $result=mysql_query($reponse); 
   			 list($id_utilisateur) = mysql_fetch_row($result);
			 
             $choix="SELECT * FROM annonce,login WHERE id_utilisateur = '$id_utilisateur' && nomutilisateur = '$nomutilisateur_ok'";
			 $result=mysql_query($choix);
			 while($val=mysql_fetch_array($result)) {  ?>
			
	      <p><table width="550" border="1" cellpadding="0" cellspacing="0" bordercolor="#990000">
          <tr>
		<td width="424"><div align="left">
		  <p>Date : 
		      <? $date= datefr($val['datesaisie']);echo $date; ?>
		      <br>
		      <? if($val['lieu']){ ?>
		      Lieu : <? echo $val['lieu']; ?><br>
		      <? } ?>
		      <br> 
		      Annonce saisie par <b><? echo $val['nomutilisateur']; ?></b>
		  </p>
		  <p align="left">
	        <? if($val['email']){ ?>
		  E-mail : <? echo $val['email']; ?></a></b></strong><br>
		  <? } ?>
  
		  <? if($val['telephone']){ ?>
		  Téléphone : <? echo $val['telephone']; ?><br>
		  <? } ?>
		  <? if($val['annonce']){ ?>
		  <br> 
		  <? echo $val['annonce']; ?><br>
		  <? } ?>
		  </p>
		    
		      </p>
			  
              <form name="form2" method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
                <input name="supprimer" type="submit" id="supprimer" value="Supprimer" >
                
                            </form>
              </div></td></tr>
  </table><? } ?> <? } ?> 
	 
<?php 
 }
else 
{ 
?>

<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
          <p align="center">Nom d'utilisateur&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            
            <input name="nomutilisateur" type="text" id="nomutilisateur" maxlength="10" value="<?php if(isset($_POST['nomutilisateur'])){echo $nomutilisateur;} ?>"> 
          </p>
          <p align="center">Mot de passe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            
            <input name="motpasse" type="text" id="motpasse" maxlength="10" value="<?php if(isset($_POST['motpasse'])){echo $motpasse;} ?>">  
          </p>
          
            <p align="center">
                <input name="envoyer" type="submit" id="envoyer" value="OK">
            </p>
         
</form>
        <p align="center" class="Style1"> Copyright &copy; CFAF 2005</p>
          
</div>
</body><? }?>
</html>
Pour info aucun message d'erreur, requete OK dans PhpMyAdmin

Merci

ViPHP
pjl
ViPHP | 2119 Messages

25 mai 2005, 10:27

	 	$suppression = "DELETE FROM annonce WHERE id_utilisateur = 55"; 
Question comme ca.
Ou est exécuté cette requête dans ton code ?

Ricardo
Invité n'ayant pas de compte PHPfrance

25 mai 2005, 10:29

au début du code si on appui sur le bouton supprimer

Mammouth du PHP | 19672 Messages

25 mai 2005, 10:53

au début du code si on appui sur le bouton supprimer
Ce n'est pas exactement la question que te posait pjl: ou es la fonction qui lance l'exécution du genre :
mysql_query($suppression):
:?:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ricardo
Invité n'ayant pas de compte PHPfrance

25 mai 2005, 19:51

C'est ok ca marche quand j'execute la requete :
if(isset($_POST['supprimer'])) 
    { 
         $suppression = "DELETE FROM annonce WHERE id_utilisateur = 55";
mysql_query($suppression);
    } 

Par contre ca marche pas avec :
<html>
<head>
<title></title>

<script language="JavaScript" type="text/JavaScript">
<!--

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//-->
</script>

<style type="text/css">
<!--
.Style1 {
	font-size: 12px;
	color: #999999;
}
.Style4 {color: #FFFFFF}
-->
</style>
</head>

<body background="../images/fondrose1.gif">
<div align="center">
<p><img src="../titres/titreannonceespace.gif" width="600" height="100"></p></div>
 		
<?php 

  

  	/* On vérifie si le bouton d'envoi du formulaire a été cliqué */ 
	if(isset($_POST['envoyer'])) 
	{ 
		 // on récupère les données POST 
   		 $nomutilisateur = $_POST['nomutilisateur']; 
   		 $motpasse  = (isset($_POST['motpasse']))?$_POST['motpasse']:null; 
		 
		 $nomutilisateur_ok = trim($nomutilisateur); // trim() supprime les espaces éventuels
		// vérifie si le nom d'utilisateur existe déjà dans la base
		$reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
		$result=mysql_query($reponse);
		$total_nomutilisateur=mysql_num_rows($result);
	
		$motpasse_ok = trim($motpasse); // trim() supprime les espaces éventuels
		//vérifie si l'adresse mail existe déjà dans la base
		$reponse="SELECT motpasse FROM login WHERE motpasse = '$motpasse_ok'";
		$result=mysql_query($reponse);
		$total_motpasse=mysql_num_rows($result);
		
		if ($total_nomutilisateur == '' || $total_nomutilisateur != 1 || $total_motpasse == '' || $total_motpasse != 1) 
   		 { 
        // Action à adopter 
        ?> 
 
		<p align="center"><font color="red">Il y a une ou plusieurs erreurs :</font></p>
		<ul> 
		<?php 
        if ($total_nomutilisateur != 1 || $total_nomutilisateur == '') // Si le champ "nom utilisateur" est inconnu, 
        { 
            ?> 
            <li>
              <div align="center">Vous devez entrer un nom d'utilisateur valide pour votre annonce.</div>
            </li> 
            <div align="center">
              <?php 
        } 
		if ($total_motpasse != 1 && $total_motpasse == "") // Si le champ "mot de passe" est inconnu, 
        { 
            ?> 
            </div>
            <li>
              <div align="center">Vous devez entrer un mot de passe valide pour votre annonce.</div>
            </li> 
            <div align="center">
              <?php 
        } 
         ?>
		      </div>
            <form name="form1" method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
          <p align="center">Nom d'utilisateur&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            
            <input name="nomutilisateur" type="text" id="nomutilisateur" maxlength="10" value="<?php if(isset($_POST['nomutilisateur'])){echo $nomutilisateur;} ?>"> 
          </p>
          <p align="center">Mot de passe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            
            <input name="motpasse" type="text" id="motpasse" maxlength="10" value="<?php echo $motpasse ?>"> 
          </p>
          
            <p align="center">
                <input name="envoyer" type="submit" id="envoyer" value="OK">
				 
            </p>
         
          </form>  
        	
  </ul> 
    <?php     

    } 
    else 
    { 
	         $reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'"; 
   			 $result=mysql_query($reponse); 
   			 list($id_utilisateur) = mysql_fetch_row($result);
			 
             $choix="SELECT * FROM annonce,login WHERE id_utilisateur = '$id_utilisateur' && nomutilisateur = '$nomutilisateur_ok'";
			 $result=mysql_query($choix);
			 while($val=mysql_fetch_array($result)) {  ?>
			
	      <p><table width="550" border="1" cellpadding="0" cellspacing="0" bordercolor="#990000">
          <tr>
		<td width="424"><div align="left">
		  <p>Date : 
		      <? $date= datefr($val['datesaisie']);echo $date; ?>
		      <br>
		      <? if($val['lieu']){ ?>
		      Lieu : <? echo $val['lieu']; ?><br>
		      <? } ?>
		      <br> 
		      Annonce saisie par <b><? echo $val['nomutilisateur']; ?></b>
		  </p>
		  <p align="left">
	        <? if($val['email']){ ?>
		  E-mail : <? echo $val['email']; ?></a></b></strong><br>
		  <? } ?>
  
		  <? if($val['telephone']){ ?>
		  Téléphone : <? echo $val['telephone']; ?><br>
		  <? } ?>
		  <? if($val['annonce']){ ?>
		  <br> 
		  <? echo $val['annonce']; ?><br>
		  <? } ?>
		  </p>
		    
		      </p>
			  
              <form name="form2" method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
                <input name="supprimer" type="submit" id="supprimer" value="Supprimer" >
				                
                            </form>
              </div></td></tr>
  </table><? } ?> <? } ?> 
	 
<?php 
 }
else 
{ 
?>

<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
          <p align="center">Nom d'utilisateur&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            
            <input name="nomutilisateur" type="text" id="nomutilisateur" maxlength="10" value="<?php if(isset($_POST['nomutilisateur'])){echo $nomutilisateur;} ?>"> 
          </p>
          <p align="center">Mot de passe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            
            <input name="motpasse" type="text" id="motpasse" maxlength="10" value="<?php if(isset($_POST['motpasse'])){echo $motpasse;} ?>">  
          </p>
          
            <p align="center">
                <input name="envoyer" type="submit" id="envoyer" value="OK">
            </p>
         
</form>
        <p align="center" class="Style1"> Copyright &copy; CFAF 2005</p>
          
</div>
</body><? }?>
<? if(isset($_POST['supprimer']))
	{
	    $nomutilisateur = $_POST['nomutilisateur']; 
		$nomutilisateur_ok = trim($nomutilisateur);
		$reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
		$result=mysql_query($reponse);
		
		$reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'"; 
   		$result=mysql_query($reponse); 
   		list($id_utilisateur) = mysql_fetch_row($result);
		
	 	$suppression = "DELETE FROM annonce WHERE id_utilisateur = '$id_utilisateur' && nomutilisateur = '$nomutilisateur_ok'";  
		mysql_query($suppression);
	} ?>
</html>
Voila l'erreur quand je clique sur mon bouton Supprimer

Notice: Undefined index: nomutilisateur in d:\easyphp1-8\www\pages seules\annonceespace.php on line 173

Merci

Mammouth du PHP | 19672 Messages

25 mai 2005, 20:51

Bon, je crois qu'on va y arriver, petit conseil: quand tu fais du code, soigne l'indentation, ça facilite particulièrment la lecture. J'ai déplacé un if qui est du coup devenu un elseif, tu devrait facilement comprendre le pourquoi et ça va normalement supprimer l'erreur... à vérifier;
<html>
<head>
<title></title>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_preloadImages()
{
    //v3.0
    var d=document;
    if(d.images)
    {
        if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0)
        {
            d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];
        }
    }
}
//-->
</script>

<style type="text/css">
<!--
.Style1 {
font-size: 12px;
color: #999999;
}
.Style4 {color: #FFFFFF}
-->
</style>
</head>

<body background="../images/fondrose1.gif">
<div align="center">
<p><img src="../titres/titreannonceespace.gif" width="600" height="100"></p></div>

<?php
/* On vérifie si le bouton d'envoi du formulaire a été cliqué */
if(isset($_POST['envoyer']))
{
    // on récupère les données POST
    $nomutilisateur = $_POST['nomutilisateur'];
    $motpasse = (isset($_POST['motpasse']))?$_POST['motpasse']:null;

    $nomutilisateur_ok = trim($nomutilisateur); // trim() supprime les espaces éventuels
    // vérifie si le nom d'utilisateur existe déjà dans la base
    $reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
    $result=mysql_query($reponse);
    $total_nomutilisateur=mysql_num_rows($result);

    $motpasse_ok = trim($motpasse); // trim() supprime les espaces éventuels
    //vérifie si l'adresse mail existe déjà dans la base
    $reponse="SELECT motpasse FROM login WHERE motpasse = '$motpasse_ok'";
    $result=mysql_query($reponse);
    $total_motpasse=mysql_num_rows($result);

    if ($total_nomutilisateur == '' || $total_nomutilisateur != 1 || $total_motpasse == '' || $total_motpasse != 1)
    {
        // Action à adopter
?>

<p align="center"><font color="red">Il y a une ou plusieurs erreurs :</font></p>
<ul>
        <?php
        if ($total_nomutilisateur != 1 || $total_nomutilisateur == '') // Si le champ "nom utilisateur" est inconnu,
        {
?>
<li>
<div align="center">Vous devez entrer un nom d'utilisateur valide pour votre annonce.</div>
</li>
<div align="center">
<?php
        }
        if ($total_motpasse != 1 && $total_motpasse == "") // Si le champ "mot de passe" est inconnu,
        {
?>
</div>
<li>
<div align="center">Vous devez entrer un mot de passe valide pour votre annonce.</div>
</li>
<div align="center">
<?php
        }
?>
</div>
<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
<p align="center">Nom d'utilisateur&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="nomutilisateur" type="text" id="nomutilisateur" maxlength="10" value="<?php if(isset($_POST['nomutilisateur'])){echo $nomutilisateur;} ?>">
</p>
<p align="center">Mot de passe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="motpasse" type="text" id="motpasse" maxlength="10" value="<?php echo $motpasse ?>">
</p>

<p align="center">
<input name="envoyer" type="submit" id="envoyer" value="OK">

</p>

</form>

</ul>
<?php

    }
    else
    {
        $reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
        $result=mysql_query($reponse);
        list($id_utilisateur) = mysql_fetch_row($result);

        $choix="SELECT * FROM annonce,login WHERE id_utilisateur = '$id_utilisateur' && nomutilisateur = '$nomutilisateur_ok'";
        $result=mysql_query($choix);
        while($val = mysql_fetch_array($result))
        {
?>

<p><table width="550" border="1" cellpadding="0" cellspacing="0" bordercolor="#990000">
<tr>
<td width="424"><div align="left">
<p>Date :
            <?
            $date= datefr($val['datesaisie']);
            echo $date;
 ?>
<br>
            <?
            if($val['lieu'])
            {
?>
Lieu : <? echo $val['lieu']; ?><br>
<?
            }
?>
<br>
Annonce saisie par <b><? echo $val['nomutilisateur']; ?></b>
</p>
<p align="left">
            <?
            if($val['email'])
            {
    ?>
E-mail : <? echo $val['email']; ?></a></b></strong><br>
<?
            }
            if($val['telephone'])
            {
?>
Téléphone : <? echo $val['telephone']; ?><br>
<?
            }
            if($val['annonce'])
            {
?>
<br>
<?
echo $val['annonce'];
?>
<br>
<?
            }
?>
</p>

<form name="form2" method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
<input name="supprimer" type="submit" id="supprimer" value="Supprimer" >

</form>
</div></td></tr>
</table>
<?
        }
    }
}
/* Si au lieu du bouton d'envoi du formulaire on a cliqué sur supprimer */
elseif(isset($_POST['supprimer']))
{
    $nomutilisateur = $_POST['nomutilisateur'];
    $nomutilisateur_ok = trim($nomutilisateur);
    $reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
    $result=mysql_query($reponse);

    $reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
    $result=mysql_query($reponse);
    list($id_utilisateur) = mysql_fetch_row($result);

    $suppression = "DELETE FROM annonce WHERE id_utilisateur = '$id_utilisateur' && nomutilisateur = '$nomutilisateur_ok'";
    mysql_query($suppression);
}
/* Si aucun bouton n'a encore été cliqué */
else
{
?>
<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
<p align="center">Nom d'utilisateur&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="nomutilisateur" type="text" id="nomutilisateur" maxlength="10" value="<?php if(isset($_POST['nomutilisateur'])){echo $nomutilisateur;} ?>">
</p>
<p align="center">Mot de passe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="motpasse" type="text" id="motpasse" maxlength="10" value="<?php if(isset($_POST['motpasse'])){echo $motpasse;} ?>">
</p>

<p align="center">
<input name="envoyer" type="submit" id="envoyer" value="OK">
</p>

</form>
<p align="center" class="Style1"> Copyright &copy; CFAF 2005</p>

</div>
</body>
<?
}
?>
</html> 
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ricardo
Invité n'ayant pas de compte PHPfrance

25 mai 2005, 21:47

Meme erreur

Notice: Undefined index: nomutilisateur in d:\easyphp1-8\www\pages seules\annonceespace.php on line 153

Merci

Mammouth du PHP | 19672 Messages

25 mai 2005, 21:56

Je viens de comprendre, j'aurais dû y penser. Je t'explique après ce bout de code, il faut ajouter une ligne dans le formulaire de suppression:
<form name="form2" method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
<input type="hidden" name="nomutilisateur" value="<?php echo($nomutilisateur); ?>">
<input name="supprimer" type="submit" id="supprimer" value="Supprimer" >
</form>
Lorsque tu cliques sur le bouton [Supprimer], la variable $_POST est réinitialisée avec les valeurs envoyées par le formulaire concerné: or dans celui-ci, le nomutilisateur n'était défini nulle part puisque la seule valeur envoyée est celle du bouton submit.

En principe ce coup-ci, ça devrait fonctionner correctement :)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ricardo
Invité n'ayant pas de compte PHPfrance

25 mai 2005, 22:01

Plus de message d'erreur mais ma suppression ne se fait pas

Merci

ricardo
Invité n'ayant pas de compte PHPfrance

25 mai 2005, 22:13

elseif(isset($_POST['supprimer'])) 
{ 
    $nomutilisateur = $_POST['nomutilisateur']; 
    $nomutilisateur_ok = trim($nomutilisateur); 
    $reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'"; 
    $result=mysql_query($reponse); 

    $reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'"; 
    $result=mysql_query($reponse); 
    list($id_utilisateur) = mysql_fetch_row($result); 

    $suppression = "DELETE FROM annonce WHERE id_utilisateur = '$id_utilisateur' "; 
    mysql_query($suppression); 
} 
Avec cette requete la suppression se fait bien mais le problème c'est que je supprime toutes les annonces de l'utilisateur (id_utilisateur).
elseif(isset($_POST['supprimer'])) 
{ 
    $nomutilisateur = $_POST['nomutilisateur']; 
    $nomutilisateur_ok = trim($nomutilisateur); 
    $reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'"; 
    $result=mysql_query($reponse); 

    $reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'"; 
    $result=mysql_query($reponse); 
    list($id_utilisateur) = mysql_fetch_row($result); 

    $suppression = "DELETE FROM annonce WHERE id_utilisateur = '$id_utilisateur' && nomutilisateur = '$nomutilisateur_ok'"; 
    mysql_query($suppression); 
} 
Avec cette requete aucune suppression Pourquoi ?

Merci pour ton aide

Mammouth du PHP | 19672 Messages

25 mai 2005, 22:40

Des fois je me demande à quoi pensent ceux qui essayent d'apprendre: Raisonne donc avec logique. Si ça ne fonctionne pas, c'est parce qu'il y a une erreur quelque part. Les fonctions MySQL renvoie quelque chose, pourquoi n'essaye-tu pas de récupérer ce résultat pour l'exploiter: mysql_query() par exemple va retourner FALSE si une erreur se produit. Tu peux donc modifier légèrement ton script en testant:
if(!mysql_query($requete))
{
    echo("<p>La requête a échoué</p>\n");
}
Si tu as le message d'erreur, remonte dans le code: vérifie la valeur de tes variables en faisant afficher ta requête à l'écran pour voir si elle a l'air normale. Si tu as une variable vide, c'est une source possible d'erreur.

Je ne t'aide pas beaucoup en te corrigeant ton code si toi même tu n'essayes pas de trouver une solution logique et une méthode de débuggage.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ricardo
Invité n'ayant pas de compte PHPfrance

26 mai 2005, 10:32

Ma suppression marche avec ce code :
elseif(isset($_POST['supprimer'])) 
{ 
    $nomutilisateur = $_POST['nomutilisateur']; 
    $nomutilisateur_ok = trim($nomutilisateur); 
    $reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'"; 
    $result=mysql_query($reponse); 
	list($id) = mysql_fetch_row($result); 

    $reponse="SELECT IDlogin FROM annonce WHERE id_utilisateur = '$id'"; 
    $result=mysql_query($reponse); 
    list($IDlogin) = mysql_fetch_row($result); 

    $suppression = "DELETE FROM annonce,login WHERE IDlogin = '$IDlogin'"; 
    mysql_query($suppression); 
Par contre la je supprime la derniere annonce de l'utilisateur.
Schéma :
IDlogin id_utilisateur
2 55
16 55
21 55

Je ne vois pas quel test rajouter pour que l'annonce supprimer ne soit pas la dernière enregistrer.

Merci