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 :

Bouton de suppression


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 109
    Par défaut Bouton de suppression
    Bonjour à vous,

    J'ai un tableau de produits qui affichent des articles en fonction de la catégorie demandée dans une page précédant.

    Sur chaque ligne de mon enregistrement, j'ai un bouton supprimer pour effacer le contenu d'un champ.
    Cela marchait bien, mais après avoir rajouter un petit système de pagination, ce dernier ne fonctionne plus.

    Je cherche depuis deux jours, c'est un peu le bordel dans mon code, je me rend compte qu'il part vraiment en vrille a force d'en rajouter et je me demandais si quelqu'un pouvait m'aiguiller, sur mon bouton supprimer, et si jamais quelqu'un à la force, sur une optimisation de ma page car c'est vraiment le souk.

    Merci à vous.

    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
     
     
    <?php require_once('../connexion/localhost.php'); ?>
    <?php
     
    $conn = mysql_connect($hostname_localhost, $username_localhost, $password_localhost) or trigger_error(mysql_error(),E_USER_ERROR);
     
    mysql_query("SET CHARACTER SET 'utf8';")or die(mysql_error()); 
     
    mysql_select_db($database_localhost, $conn); 
     
    //param modifiables
    $nb_par_page=2;
     
    	//
    if(isset($_POST['valider']) || isset($_GET['page'])){ //le bouton valider a été cliqué ou appel par pagination
     
    	//nom du script
    	$currentScript = $_SERVER["PHP_SELF"];
    	//recup id_produit sélectionné ou passé par l'url
    	if(isset($_POST['categories'])){
    		$categorie_pagination = $_POST['categories'];
    	}else{
    		$categorie_pagination = $_GET['categ'];
    	}
    	//recup page demandée passée par l'URL
    	if(isset($_GET['page'])){
    		$page_courante=$_GET['page'];
    	}else{
    		$page_courante=0;
    	}
    	//calcul nombre de pages
    	$sql_pagination = "SELECT * FROM produits WHERE id_categorie = '".$categorie_pagination."'"; 
    	$requete_pagination = mysql_query($sql_pagination) or die( mysql_error());
    	$nb_enr=mysql_num_rows($requete_pagination);
    	$nb_pages=ceil($nb_enr/$nb_par_page);
     
    	//calcul limites d'affichage 
    	$debut=$page_courante*$nb_par_page;
     
    	//requette avec les limites
    	$sql_pagination = "SELECT * FROM produits WHERE id_categorie = '".$categorie_pagination."' LIMIT ".$debut.",".$nb_par_page." "; 
    	$requete_pagination = mysql_query($sql_pagination) or die( mysql_error()); 
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     
    <head>
     
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
    <title>Base de Données</title>
     
    </head>
     
    <body>
     
    <script type="text/javascript">
     
    function supprimer(id)
     
       {
          if(confirm('Voulez vous vraiment supprimer ?'))
          {
            window.open("?Supprimer=Supprimer&id="+id,"_self");
          }
       }
     
    </script>
     
    <center>
     
    <br />
     
     
    <?php
     
    if(isset($_GET['id'])){ 
     
    $id = $_GET['id'];
     
    mysql_query("DELETE FROM produits WHERE ID_produit='$id'")or die(mysql_error()); 
     
    echo '<p style="color:#ff0000;font-weight:bold;">La catégorie a bien été supprimée</p>'."<br><br><a href=\"addproduit.php\">Ajouter une nouvelle produit</a>"."<br><br><a href=\"admin.php\">Revenir à l'accueil</a>";
     
    } 
     
    else{ 
     
    ?>
     
    </p>
     
    <?php
     
    if(isset($_POST['valider'])){ //le bouton valider a été cliqué
    $categorie = $_POST['categories']; 
     
    $sql = "SELECT * FROM produits WHERE id_categorie = '".$categorie."'"; 
     
    $requete = mysql_query($sql) or die( mysql_error());?> 
     
    <?php }}} ?>
     
    </form>
     
    <?php
     
    	//affichage
    	echo '<table align="center" border="1">'; //tableau
    	echo '<tr><th>&nbsp;ID produit&nbsp;</th><th>&nbsp;Nom produit&nbsp;</th></tr>'; 
    	while ($result = mysql_fetch_array($requete_pagination)) {
    		echo '<tr>'; //ligne
    		echo '<td align="center" valign="middle">&nbsp;'.$result['ID_produit'].'&nbsp;</td>'; //colonne
    		echo '<td align="center" valign="middle">&nbsp;'.$result['nom_produit'].'&nbsp;</td>';?>
            <td align="center" valign="middle"><input type="button" name="Supprimer" value="Supprimer" onclick="supprimer(<?php echo $result['ID_produit']; ?>)"/></td> 
        <td align="center" valign="middle">
     
    <?php 
     
    echo '<a href="modifier.php?ID_produit='.$result['ID_produit'].'">
    Modifier</a>';
     
    echo '</tr>'; //fin ligne
    }
    echo '</table>';
     
    //pagination:
    // gestion numeros de page + page courante
    $i=0;
    $j=1;
     
    if($nb_enr>$nb_par_page){
    	while($i<$nb_pages){
    	if($i!=$page_courante){
        echo "<a href=\"".$currentScript."?page=".$i."&categ=".$categorie_pagination."\">&nbsp; ".$j." &nbsp;</a>"; 
    					//on passe par l'URL le numero de page demandée (commence à 0) et l'id_produit selectionné
    } else {
    echo  "<a href=\"".$currentScript."?page=".$i."&categ=".$categorie_pagination."\" >&nbsp;<b> ".$j." </b>&nbsp;</a>"; 
    				   }
    	$i++;
    	$j++;
    }
    }	
    ?>
     
    </center>
     
    </body>
     
    </html>

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Bonjour,

    Il faudrait que tu fasses un effort sur l'indentation car on y comprends pas grand chose.

    J'ai essayé d'indenter ton code et j'ai remarqué qu'il n'y avait pas de balise </form> dans ton code. En plus, il n'y a aucune protection. Il faudra que tu regardes en ce sens ensuite.

    Code indenté à ma manière :

    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
     <?php require_once('../connexion/localhost.php'); ?
     
    $conn = mysql_connect($hostname_localhost, $username_localhost, $password_localhost) or trigger_error(mysql_error(),E_USER_ERROR);
    mysql_query("SET CHARACTER SET 'utf8';")or die(mysql_error()); 
    mysql_select_db($database_localhost, $conn); 
     
    //param modifiables
    $nb_par_page=2;
     
    if(isset($_POST['valider']) || isset($_GET['page']))
    { //le bouton valider a été cliqué ou appel par pagination
    	//nom du script
    	$currentScript = $_SERVER["PHP_SELF"];
    	//recup id_produit sélectionné ou passé par l'url
    	if(isset($_POST['categories']))
    	{
    		$categorie_pagination = $_POST['categories'];
    	}
    	else
    	{
    		$categorie_pagination = $_GET['categ'];
    	}
    	//recup page demandée passée par l'URL
    	if(isset($_GET['page']))
    	{
    		$page_courante=$_GET['page'];
    	}
    	else
    	{
    		$page_courante=0;
    	}
     
    	//calcul nombre de pages
    	$sql_pagination = "SELECT * FROM produits WHERE id_categorie = '".$categorie_pagination."'"; 
    	$requete_pagination = mysql_query($sql_pagination) or die( mysql_error());
    	$nb_enr = mysql_num_rows($requete_pagination);
    	$nb_pages = ceil($nb_enr/$nb_par_page);
     
    	//calcul limites d'affichage 
    	$debut=$page_courante*$nb_par_page;
     
    	//requette avec les limites
    	$sql_pagination = "SELECT * FROM produits WHERE id_categorie = '".$categorie_pagination."' LIMIT ".$debut.",".$nb_par_page." "; 
    	$requete_pagination = mysql_query($sql_pagination) or die( mysql_error()); 
    	?>
     
    	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    	<html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    		<title>Base de Données</title>
     
    		<script type="text/javascript">
    		function supprimer(id)
    		{
    			if(confirm('Voulez vous vraiment supprimer ?'))
    			{
    			   window.open("?Supprimer=Supprimer&id="+id,"_self");
    			}
    		}
    		</script>
    	</head>
    	<body>
    	<center><br />
     
     
    	<?php
    	if(isset($_GET['id']))
    	{ 
    		$id = $_GET['id'];
    		mysql_query("DELETE FROM produits WHERE ID_produit='$id'")or die(mysql_error()); 
    		echo '<p style="color:#ff0000;font-weight:bold;">La catégorie a bien été supprimée</p>'."<br><br><a href=\"addproduit.php\">Ajouter une nouvelle produit</a>"."<br><br><a href=\"admin.php\">Revenir à l'accueil</a>";
    	} 
    	else
    	{ 
    		echo'</p>';
     
    		if(isset($_POST['valider']))
    		{ //le bouton valider a été cliqué
    			$categorie = $_POST['categories']; 
    			$sql = "SELECT * FROM produits WHERE id_categorie = '".$categorie."'"; 
    			$requete = mysql_query($sql) or die( mysql_error());
     
    		}
    	 }
     }
     
    	echo'</form>';
    	//affichage
    	echo '<table align="center" border="1">'; //tableau
    	echo '<tr><th>&nbsp;ID produit&nbsp;</th><th>&nbsp;Nom produit&nbsp;</th></tr>'; 
    	while ($result = mysql_fetch_array($requete_pagination)) 
    	{
    		echo '<tr>'; //ligne
    		echo '<td align="center" valign="middle">&nbsp;'.$result['ID_produit'].'&nbsp;</td>'; //colonne
    		echo '<td align="center" valign="middle">&nbsp;'.$result['nom_produit'].'&nbsp;</td>'; ?>
           <td align="center" valign="middle"><input type="button" name="Supprimer" value="Supprimer" onclick="supprimer(<?php echo $result['ID_produit']; ?> )"/></td> 
    		<?php
    		echo '<td align="center" valign="middle">';
    		echo '<a href="modifier.php?ID_produit='.$result['ID_produit'].'">Modifier</a>';
    		echo '</tr>'; //fin ligne
    	}
    	echo '</table>';
    	echo'</form>';
     
    	//pagination:
    	// gestion numeros de page + page courante
    	$i=0;
    	$j=1;
     
    if($nb_enr>$nb_par_page)
    {
    	while($i<$nb_pages)
    	{
    		if($i!=$page_courante)
    		{
    			echo "<a href=\"".$currentScript."?page=".$i."&categ=".$categorie_pagination."\">&nbsp; ".$j." &nbsp;</a>"; 
    					//on passe par l'URL le numero de page demandée (commence à 0) et l'id_produit selectionné
    		} 
    		else 
    		{
    			echo  "<a href=\"".$currentScript."?page=".$i."&categ=".$categorie_pagination."\" >&nbsp;<b> ".$j." </b>&nbsp;</a>"; 
    		}
    		$i++;
    		$j++;
    	}
    }	
    ?>
     
    </center>
    </body>
    </html>

    Tu rencontres quelle erreur ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 109
    Par défaut
    Merci beaucoup d'avoir pris la peine de regarder.

    En fait j'ai une erreur sur le partie suppression, le bouton qui doit supprimer ne marche pas.
    Le javascript s'active bien mais j'ai une erreur d'index sur la requête.

    Sinon je n'ai pas d'autres erreurs, mais je me demandais juste s'il n'y avait pas moyen d'optimiser, je trouve que j'ai peut être un peu tout entassé

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Citation Envoyé par TRUNCKS Voir le message
    Merci beaucoup d'avoir pris la peine de regarder.

    En fait j'ai une erreur sur le partie suppression, le bouton qui doit supprimer ne marche pas.
    Le javascript s'active bien mais j'ai une erreur d'index sur la requête.

    Sinon je n'ai pas d'autres erreurs, mais je me demandais juste s'il n'y avait pas moyen d'optimiser, je trouve que j'ai peut être un peu tout entassé

    Il y a sûrement la possibilité d'améliorer mais essayons de comprendre ton erreur. Peut-tu regarder avec Firefox dans la console d'erreur l'erreur qui s'affiche lorsque tu cliques sur le bouton "suppression"

    Dans Firefox c'est => Onglet Firefox => développement web => console d'erreurs

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 109
    Par défaut
    J'ai trois avertissements:

    Avertissement*: La boîte XUL pour l'élément _moz_generated_content_after contient un enfant #text intégré, forçant tous ses enfants à être englobés dans un bloc.
    Fichier Source*: chrome://browser/content/browser.xul
    Ligne*: 0
    et

    Avertissement*: Propriété «*-moz-background-size*» inconnue. Déclaration abandonnée.
    Fichier Source*: chrome://firebug/skin/css.css
    Ligne*: 158
    deux fois.

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Quand tu clic sur le bouton suppression, aucun message n'ayant attrait au javascript ?

Discussions similaires

  1. Boutons de suppression et de modification
    Par floctc dans le forum Langage
    Réponses: 3
    Dernier message: 29/04/2009, 11h52
  2. [DATAGRIDVIEW - EVENT] Sur un bouton et suppression de ligne.
    Par GarsDuCalvados dans le forum VB.NET
    Réponses: 5
    Dernier message: 16/04/2009, 11h07
  3. [Access]Bouton de suppression
    Par Misha dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/05/2008, 14h50
  4. [Système] Bouton de suppression
    Par lebigboss dans le forum Langage
    Réponses: 3
    Dernier message: 03/05/2007, 12h51
  5. [vba] bouton de suppression spécifique
    Par mat67000 dans le forum IHM
    Réponses: 7
    Dernier message: 23/04/2007, 11h35

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