IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Probleme de suppression d'une donnée dans MySql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Probleme de suppression d'une donnée dans MySql
    Bonjour tout le monde,

    Il se passe un truc tres bizare et j'ai besoin de vos lumières...

    Lors de mon stage pour mon BTS j'ai du réaliser un site internet qui fonctionne tres bien en ligne grace à l'aide de certaine personne sur le forum.


    Pour mon exam de fin d'année nous devons présenter plusieurs programme que l'on a réaliser pendant l'année. J'ai donc repris une partie du programme afin de la présenter.

    Sur le coup, il n'y avait plus rien qui fonctionné, normal j'ai du supprimer des choses qui ne servait à rien pour ma présentation. Puis il me rester que de hose qui n'allé pas, la suppression d'une valeur et une histoire de liste déroulante.


    J'ai donc envoyer mon programme a un ancien prof de lycée, chez lui il n'avait vraiment rien qui fonctionné. Comme on comprennais pas pourquoi ché lui rien n'allait, et que chez moi ca fonctionné a moitier, il a envoyer le programme a un de ces collegues. Mais le plus surprennant c'est que chez se collègue, tout fonctionne corectement.


    Plus tard mon cousin m'a aider un petit peu, il m'a fait changer de version de wamp qui est maintenant WAMP 1.7.3

    L'histoire de liste déroulante qui me bloquer au début fonctionne. Il n'y a plus que la suppression mais on ne trouve pas.

    Quelqu'un pourrai m'aider?

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    <?php
    //Connecion a ma base de données
    mysql_connect("localhost", "root", "");
    mysql_select_db("test");
    ?>
     
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title></title>
    <meta name="Description" content="">
    <meta name="Keywords" content="">
    <style>
    TABLE {
    float : left;
    }
    .Clear {
    clear:both
    }
    </style>
     
    <?php
    //Connecion a ma base de données
    mysql_connect("localhost", "root", "");
    mysql_select_db("test");
    ?>
    <form action="#" method="post" name="form_liste_marque" enctype="multipart/form-data">
     
    <table border="0" width="820" height="80" align="center">
    <tr>
    <td><img src="images_site/bandeau_sudexport.jpg" width="815" height="80" /></td>
     
    </tr>
    </table>
     
     
    <!--debut marque-->
    <table width="833" align="center">
    <tr>
    <td width="477"><h1> <center>Liste des marques</center> </h1></td>
    <td width="142" align="center"><input name="ajoutmarque" value="Ajouter une marque" type="submit"></td>
    </tr>
    <?php
     
    if (isset($_POST['ajoutmarque'])) // Si les variables existent
    {
    echo "<script language='javascript'>document.location='inc_ajout_marque_produit.php';</script>&*quot;;
    
    }
    ?>
    </table>
     
    <!--fin marque-->
     
    <!--debut gamme-->
    <?php
    $info = ("SELECT * FROM marques ORDER BY nom_marque"); //asc= ordre alphabétique
    $requete = mysql_query($info);
    $Nb =mysql_num_rows($requete);
    if($Nb>0)
    {
    while ($detail =mysql_fetch_array($requete) )
    {
    $num_marque = $detail['num_marque'];
    $nom_marque = $detail['nom_marque'];
    $photo_marque = $detail['photo_marque'];
    ?>
     
    <table>
    <tr>
    <td width="270"><font color="#000000">  <b><?php echo $nom_marque ?></b></font></td><!--   correspond à un espace -->
    <td width="100" height="110" align="center">
    <?php ("Content-type:" .$photo_marque);?>
    <img src="<?php echo $photo_marque; ?> "width="90" height="100"
    title="<?php echo $nom_marque ?>"/><!--Affiche l'image et le nom de limage si on reste dessus-->
    </td>
     
     
    <td align="center"><a href="inc_fiche_marque_produit.php?&numero=<?php echo $num_marque ?> "><img src="images_site/bouton_consulter.gif" alt="voir détail" width="30" border="0" title="Consulter la fiche"/><a/></td>
     
    <td align="center"><a href="inc_modifier_marque_produit.php?&numero= <?php echo $num_marque ?> "><img src="images_site/bouton_modifier.gif" alt="modifier" width="30" border="0" title="Modifier la fiche"/><a/></td>
     
    <td><a href="inc_liste_marque_produit.php?&numero= <?php echo $num_marque ?> " onclick="return confirm('Voulez-vous vraiment suprimer cette marque ?');"><img src="images_site/bouton_supprimer.gif" alt="supprimer" border="0" title="Supprimer la fiche"/><a/></td>
    <td width="10"> </td>
    </tr>
    </table>
     
    <?php //Fin de la boucle
     
    }
    }
     
    if(isset($_GET['num_marque']))
    {
    $num_marque = $_GET['num_marque']; //on recupere le numero
    $reqmod = mysql_query("DELETE FROM marques WHERE num_marque='$num_marque'");
    echo "<script language='javascript'>document.location='inc_liste_marque_produit.php?&page=1';</scr*ipt>";
     
    }
    if(isset($_GET['num_gamme']))
    {
    $num_gamme = $_GET['num_gamme']; //on recupere le numero
    $reqmod = mysql_query("DELETE FROM gammes_de_produit WHERE num_gamme='$num_gamme'");
    echo "<script language='javascript'>document.location='inc_liste_marque_produit.php?&page=1';</scr*ipt>";
    }
     
    ?>
    <!-- fin gamme -->
    </table>
    </form>
    <?php
    mysql_close();
    ?>
    </html>
    Merci a tous pour votre aide

  2. #2
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Bonjour,
    Tu as une erreur au niveau de la déclaration de ta variable que tu indiques dans ton URL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ><a href="inc_liste_marque_produit.php?&numero= <?php echo $num_marque ?> " ...
    Tu indiques que ta variable sera $_GET['&numero'] hors tu testes si la variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_GET['num_marque']))
    existe ...

    Il faut donc réécrire ton URL comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="inc_liste_marque_produit.php?num_marque=<?php echo $num_marque ; ?>"
    Ne pas oublier de mettre un ";" après chaque variable dans ton code PHP.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 165
    Points : 137
    Points
    137
    Par défaut
    bonjour
    je crois que la variable passée en GET est numero et non num_marque

    il faudrait peut etre essayer de remplacer $_GET['num_marque'])) par $_GET['numero']))

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Je te remercie, ça fonctionne, ouf je suis soulager pour mon exam demain.

    Merci beaucoup

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Finalement ca ne fonctionne que sur cette page mais pas pour mes autre pages, pourtant c'est exactement le meme code d'apres moi.

    je t'envoi le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    <html>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title></title>
    <meta name="Description" content="">
    <meta name="Keywords" content="">
    <style>
    TABLE {
    float : left;
    }
    .Clear {
    clear:both
    }
    </style> 
     
    <?php 
    	//Connecion a ma base de données
    	mysql_connect("localhost", "root", "");
    	mysql_select_db("test");
     
     
    	if (isset($_POST['num_gamme']))
    		$num_gamme=$_POST['num_gamme'];
    	else
    		$num_gamme='';
     
    	if (isset($_POST['Marques']))
    		$Marques=$_POST['Marques'];
    	else
    		$Marques='';
     
     
    ?>
     
    <form action="inc_liste_produit.php"method="post">
     
    <!--debut marque-->		
    <?php 
    	if (isset($num_gamme))
    	{
    ?>
    		<table width="100%">
    			<tr>
    				<td><h1> <center> Liste des produits </center></h1></td>
    				<td width="142" align="center"><input name="ajoutproduit" value="Ajouter un produit" type="submit" ></td>
    				<td width="142" align="center"><input name="ajoutmarque" value="Ajouter une marque" type="submit"></td>
    				<td width="142" align="center"><input name="ajoutgamme" value="Ajouter une gamme" type="submit"></td>
    			</tr>
    		</table>
     
    		<?php 
    			if (isset($_POST['ajoutproduit'])) // Si les variables existent
    				{		
    					echo "<script language='javascript'>document.location='inc_ajout_produit.php';</script>";	
    				}							
    			if (isset($_POST['ajoutmarque'])) // Si les variables existent
    				{		
    					echo "<script language='javascript'>document.location='inc_ajout_marque_produit.php';</script>";	
    				}	
    			if (isset($_POST['ajoutgamme'])) // Si les variables existent
    				{		
    					echo "<script language='javascript'>document.location='inc_ajout_gamme_produit.php';</script>";	
    				}	
    		?>			
     
    <?php 
    	}
    ?>
    <table width="100%">
    	<tr>
    		<td width="8%">Marque : </td>
    		<td width="92%">	
            <?php 
    			if (isset($Marques ))
    				{ 				
    		?>
    			<select name="Marques" onChange="submit(this)" <?php if(isset($Marques)) echo " value='".$Marque."'" ; ?>>
    				<option></option>
    				<?php
    					$req_type = mysql_query("SELECT * FROM marques ORDER BY nom_marque");	
    					while($data_type = mysql_fetch_array($req_type))
    						{
    							$nom_marque_table= $data_type['nom_marque'];
    							$num_marque_table= $data_type['num_marque'];												
    							if($num_marque==$num_marque_table)
    								{
    									echo "<option value='".$num_marque_table."'selected>".$num_marque_table."</option>";
    								}
    							else
    								{
    									echo "<option value='".$num_marque_table."'>".$nom_marque_table."</option>";
    								}	
    						}
    				?>
    			</select>		
     
            <?php 
    				}
    		?>       
    		<input name="Marque" type="hidden" size="20"<?php if(isset($Marque)) echo " value='".$Marque."'" ; ?>> 
            <?php  
    			$req_type3 = mysql_query("SELECT * FROM marques WHERE num_marque ='$Marques'");	
    			while($data_type3 = mysql_fetch_array($req_type3))
    				{
    					$nom_marques= $data_type3['nom_marque'];
    						echo $nom_marques;
    				}
    		?>
    		</td>
    	</tr>
    <!-- fin marque -->
     
    <!--debut gamme-->			
    	<tr>
    		<td>Gamme : </td>
    		<td>		
    			<select name="num_gamme" onChange="submit(this)">
    			<option></option>
    			<?php
    				$req_type2 = mysql_query("SELECT * FROM gammes_de_produit WHERE num_marque ='$Marques'");	
    				while($data_type2 = mysql_fetch_array($req_type2))
    					{
    						$nom_gamme_table= $data_type2['nom_gamme'];
    						$num_gamme_table= $data_type2['num_gamme'];												
    						if($num_gamme==$num_gamme_table)
    							{
    								echo "<option value='".$num_gamme_table."'selected>".$num_gamme_table."</option>";
    							}
    						else
    							{
    								echo "<option value='".$num_gamme_table."'>".$nom_gamme_table."</option>";
    							}
    					}							
    			?>
    			</select>	
    		</td>
    	</tr>
    </table>
     
    	<input name="nom_marques" type="hidden" size="20"<?php if(isset($nom_marques)) echo " value='".$nom_marques."'" ; ?>>              
    		<?php	
    			$req_type4 = mysql_query("SELECT * FROM gammes_de_produit WHERE num_gamme ='$num_gamme'");	
    			while($data_type4 = mysql_fetch_array($req_type4))
    				{
    					$nom_gamme= $data_type4['nom_gamme'];
    					$req_type5=mysql_query("SELECT photo_marque FROM gammes_de_produit, marques WHERE gammes_de_produit.num_marque=marques.num_marque AND num_gamme =$num_gamme");
    					while($data_type5 = mysql_fetch_array($req_type5))
    						{
    							$photo_marques= $data_type5['photo_marque'];
    						}
    		?>
     
    	<table width="100%" align="center">  
    	    <tr> 
    	        <td align="center"><img src="<?php echo $photo_marques; ?>" width="180" height="100" /> </td>
    	    </tr>
    	    <tr>
    	        <td><h1> <center> <?php  echo $nom_gamme ?> </center> </h1></td>
    	    </tr>
    	</table>
     
    		<?php
    				}						
    		$info = ("SELECT * FROM produits WHERE num_gamme ='$num_gamme' order by designation_produit");	 //asc= ordre alphabétique
    		$requete = mysql_query($info);
    			$Nb =mysql_num_rows($requete);												
    				if($Nb>0)
    					{	
    						$compteurs =1;
    						while ($detail =mysql_fetch_array($requete) )
    							{
    								$num_produit = $detail['num_produit'];
    								$designation_produit = $detail['designation_produit'];
    								$photo_produit = $detail['photo_produit'];
    								$num_gamme = $detail['num_gamme'];
    		?>  
    							    <table  >
    							        <tr>    			
    							            <td width="290"><font color="#000000">&nbsp;&nbsp;<b><?php echo $designation_produit ?></b></font><!-- &nbsp; correspond à un espace --></td>              
    										<td width="100" height="110" align="center">	
    							        <?php  
    											("Content-type:" .$photo_produit);
    									?> 
    											<img src="<?php echo $photo_produit; ?> "width="100" height="130" />      
    							            </td>
    							            <td align="center"><a href="inc_fiche_produit.php?&numero=<?php echo $num_produit ?>"><img src="images_site/bouton_consulter.gif" alt="voir détail" width="30" border="0"/><a/></td>				
    										<td align="center"><a href="inc_modifier_produit.php?&numero=<?php echo $num_produit ?>"><img src="images_site/bouton_modifier.gif" alt="modifier" width="30" border="0"/><a/></td>				
    										<td><a href="inc_liste_produit.php?num_produit=<?php echo $num_produit; ?>" onclick="return confirm('Voulez-vous vraiment suprimer ce produit ?');"><img src="images_site/bouton_supprimer.gif" alt="supprimer" border="0"/><a/></td>
    										<td width="10"> </td>				
    									</tr>
    								</table>
     
    		<?php //Fin de la boucle				
    								}
    					}		
    		if(($compteurs % 2)== 0) 
    			{  
    				echo "<div class=Clear></div>";
    			}
    				$compteurs++;
     
    					//GESTION SUPRESSION 
     
    		if(isset($_GET['num_produit']))
    			{
    				$num_produit = $_GET['numero']; //on recupere le numero
    				$reqmod = mysql_query("DELETE FROM produits WHERE num_produit='$num_produit'");
    				echo "<script language='javascript'>document.location='inc_liste_produit.php?&page=1';</script>";
    			}
     
    ?>
     
            <!-- fin gamme -->
    </table>
    </form>
    <?php
    	mysql_close();						
    ?>
    </html>

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 165
    Points : 137
    Points
    137
    Par défaut
    à la fin il y a :
    if(isset($_GET['num_produit']))


    il faut le remplacer par
    if(isset($_GET['numero']))

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    euh non...

    tu m'a aider a voir ce que j'avais oublier de modifier mais c'est l'inverse je dois mettre num_produit et non numero car si on laisse numero par tout ca ne fonctionne pas.

    mais bon efectivement j'avais oublié de faire un remplacement.

    merci

  8. #8
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Je ferais l'inverse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(isset($_GET['num_produit'])) {
    $num_produit = $_GET['num_produit'];

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    C'est bien comme ca, merci a vous 2

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/09/2009, 15h26
  2. problem d'insertion d'une image dans BD Mysql
    Par taouja dans le forum JDBC
    Réponses: 8
    Dernier message: 26/04/2007, 18h53
  3. Problem d'insertion d'une image dans une base mysql
    Par taouja dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 26/04/2007, 15h31
  4. Réponses: 2
    Dernier message: 02/08/2006, 10h32
  5. [SQL] Suppression d'une donnée dans une lise déroulante
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 26/01/2006, 11h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo