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 :

Suppression d'un enregistrement [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 166
    Par défaut Suppression d'un enregistrement
    voici le code que j'ai mis :
    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
    <?php 
    $link=mysql_connect("localhost", "ulrich", "mdp") or die(mysql_error());// Connexion à MySQL
    $database=mysql_select_db("tp3",$link) or die(mysql_error());// Sélection de la base tp3
    $citation=mysql_query("select * from prof natural join citation where etat='en attente'");
    echo'<form action="admin.php" methode="GET">';
    echo '<table><tr><th>Professeur :</th><th>Citation :</th></tr>';
    $compteur=0;
    while($tuple0=mysql_fetch_array($citation)){
    	$name='check'.$compteur.'';
    	echo '<tr><td>'.$tuple0['nom'].'</td><td>'.$tuple0['texte'].'</td><td><input type="checkbox" name="'.$name.'"></td></tr>';
    	$compteur=$compteur+1;
    	$quote=$tuple0['texte'];
    	if(isset($_GET)) {
    		if($name=="on"){/*test de check qui ne fonctionne pas :S*/
    			$delete=$tuple0['id'];
    			$req=mysql_query("delete from citation where texte='$quote';");
    			}
    			echo ''.$compteur.'';
    		}
    	}
    echo'</table>';
     
     
    echo' <pre>Supprimer la selection :   <input type="submit" value="valider"></pre>';
    ?>
    mon but est d'afficher des citations pas encore approuvé par l'administrateur. seul celui-ci peut acceder a cette page. il faut qu'il puisse supprimer les citations douteuses donc mon gros probleme se trouve là. je n'arrive pas à lui indiquer lesquels sont cochées...

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $name='check'.$compteur.'';
    J'espere que tu vois une incohérence entre ces deux lignes.

    Sinon il faudrait que tes checkbox aient une valeur, l'id de la ligne pour bien faire ; et que tu fasses ta suppression avec cet id.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 166
    Par défaut
    j'ai essayé ce que tu m'a proposé mais j'ai un probleme recurent. vu que pour le nom et la valeur je concatène des variables, je n'arrive pas a tester pour savoir si c'est coché ou pas :

    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
    $compteur=0;
    extract($_GET);	
    while($tuple0=mysql_fetch_array($citation)){
    	$value=$tuple0['id'];
    	echo '<tr><td>'.$tuple0['nom'].'</td><td>'.$tuple0['texte'].'</td><td><input type="checkbox" name="'.$compteur.'" value="'.$value.'"></td></tr>';
    	if(isset($_GET)){		
     
    		if(isset($_GET['$compteur'])){/*test de check qui ne fonctionne pas :S*/
    			$delete=$tuple0['id'];
    			echo "$delete ";
    			echo $_GET['compteur'];
    			$req=mysql_query("delete from citation where id='$value';");
    			}	
     
    		}
     
    		$compteur++;
     
    	}

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Juste question de syntaxe, on ne met pas d'apostrophes autour d'une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_GET[$compteur])){
    Traite ton DELETE avant ton affichage, sinon tu vas afficher des lignes que tu vas supprimer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (isset(($_GET['delete'])) {
           $tbId = array_map("intval",$_GET['delete'])
            // magique, je supprime tout avec une seule requête :
            $req=mysql_query("delete from citation where id IN (" . implode($tbId,",") . ")";	
    }
    Oublie ton compteur et utilise la notation []
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while($tuple0=mysql_fetch_array($citation)){
    	echo '<tr><td>'.$tuple0['nom'].'</td><td>'.$tuple0['texte'].'</td><td><input type="checkbox" name="delete[]" value="'.$tuple0['id'].'"></td></tr>';
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 166
    Par défaut
    ok, merci, je vais voir ça, a bientot surement ^^
    en tout cas, je ne connais pas du tout la requete sql que tu as utilisé donc je vais voir si c'est possible de le faire à ma manière histoire de pas juste copier coller ton code sans le comprendre.
    je n'ai pas bien compris non plus comment fonctionne cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array_map("intval",$_GET['delete'])
    d'apres les tutos que j'ai vu, un array_map est un tableau de tableau mais je ne comprends pas coment il fonctionne...

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

Discussions similaires

  1. Suppression d'un enregistrement
    Par charliejo dans le forum Bases de données
    Réponses: 7
    Dernier message: 16/03/2006, 11h13
  2. [VB][rdo] Strategie de suppression massive d'enregistrements
    Par Bicky dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 12/10/2005, 14h12
  3. suppression automatique des enregistrements
    Par abdou.sahraoui dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/08/2005, 13h45
  4. [VB.NET]Suppression d'un enregistrement dans un DataGrid
    Par San Soussy dans le forum ASP.NET
    Réponses: 4
    Dernier message: 16/06/2005, 10h30
  5. Suppression d'un enregistrement
    Par denisfavre dans le forum IHM
    Réponses: 3
    Dernier message: 04/10/2004, 11h03

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