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 :

[Debutant] Bouton supprimer & mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut [Debutant] Bouton supprimer & mysql
    Bonjour à tous ,

    J'ai un petit soucis concernant un bouton supprimer , enfaite quand j'execute y me dis j'ai une erreur de Parse mais je trouve pas d'ou sa vient . je fais actuellement un script pour mettre à jour supprimer les données, pour l'instant je ne fais que le supprimer , voici 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
    <?php include 'connect.php';?>
     
    <?php 
    	$select = $db -> query("SELECT TitreInformation, DateDebutParutionInfo, DateFinParutionInfo  FROM t_informations"); 
    	$categories = $select -> fetchall();
     
     
    ?>
    <table border="1">
    		<tr>
    			<td>Titre</td>
    			<td>Date Debut</td>
    			<td>Date Fin</td>
    			<td>Supprimer</td>
    		</tr>
    		<?php foreach($categories as $category):?>
    		<tr>
    			<td><?= $category['TitreInformation'] ?></td>
    			<td><?= $category['DateDebutParutionInfo']?></td>
    			<td><?= $category['DateFinParutionInfo']?></td>
    			<td>
    				<form method="post" action="delete.php">
    					<input type="submit" value="Supprimer" id="cmdSupprimer"/>
    				</form>
    			</td>
     
    		</tr>
    		<?php endforeach;?>
     
     
    </table>
    Requete SQL que j'ai mis dans un fichier delete.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php include 'connect.php';?>
    <?php 
    	$delete =$db -> query("DELETE FROM t_informations WHERE TitreInformation= $category['TitreInformation']");
    ?>
    L'erreur vient du $category['TitreInformation']puisque si je saisie un titre de la base et que je clique sur supprimer là sa marche , j'ai toujours un peu mal avec la syntaxe php ou peut etre que dans ce cas je m'y prends mal , si quelqu'un pourrait m'aider sa serait sympa

  2. #2
    Membre actif Avatar de jisig
    Homme Profil pro
    null
    Inscrit en
    Avril 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Indonésie

    Informations professionnelles :
    Activité : null

    Informations forums :
    Inscription : Avril 2014
    Messages : 146
    Points : 273
    Points
    273
    Par défaut
    Bonjour,

    D'après le code que je peux voir, tu envoies juste ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form method="post" action="delete.php">
    					<input type="submit" value="Supprimer" id="cmdSupprimer"/>
    				</form>
    Donc tu n'as pas de variable sur la page à laquelle tu envoie ton formulaire.

    Alors la variable dans ton delete.php ne peut pas exister -->

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $delete =$db -> query("DELETE FROM t_informations WHERE TitreInformation= $category['TitreInformation']");
    Jisig
    Même une feuille de papier est plus légère si on la porte à deux.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    Oui je viens voir de m'en rendre compte à l'instant mais je ne sais pas comment m'y prendre car je galére un peu en php ^^ sinon j'ai essayé en incluant la page suppression et edition là je rencontre pu soucis mais y me marque ceci : Warning: PDO::query(): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'test' in 'where clause' in C:\wamp\www\admin\delete.php on line 4

    J'ai fais quelques modification juste pour tester d'ou vient les problémes :
    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
    <?php include 'connect.php';?>
    <?php 
    	$select = $db -> query("SELECT TitreInformation, DateDebutParutionInfo, DateFinParutionInfo  FROM t_informations"); 
    	$categories = $select -> fetchall();
     
     
     
    ?>
    <table border="1">
    		<tr>
    			<td>Titre</td>
    			<td>Date Debut</td>
    			<td>Date Fin</td>
    			<td>Supprimer</td>
    		</tr>
    		<?php foreach($categories as $category):
    		$titre = $category['TitreInformation']  ?>
     
    		<tr>
    			<td><?= $titre?></td>
    			<td><?= $category['DateDebutParutionInfo']?></td>
    			<td><?= $category['DateFinParutionInfo']?></td>
    			<td>
    				<form method="post" action="delete.php">
    					<input type="submit" value="Supprimer" id="cmdSupprimer"/>
    				</form>
    			</td>
     
    		</tr>
    		<?php endforeach;?>
     
     
    </table>
    et voici ma page delete.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php include 'connect.php';?>
    <?php include 'suppression_edition.php';?>
    <?php 
    	$delete =$db -> query("DELETE FROM t_informations WHERE TitreInformation= $titre ");
    ?>
    y me dit qui connait pas 'test' alors que $titre vaut 'test' et si je tape 'test' directement bizarrement sa marche mais à mon avis je m'y prends mal si quelqu'un pourrait eventuellement me proposer une alternative

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    On ne met pas directement le paramètre dans une requête ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sth = $db->prepare("DELETE FROM t_informations WHERE TitreInformation= :titre");
    $sth->execute(array(':titre'=>$titre));
    Sinon j'espère que suppression_edition.php n'est pas le premier code.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    le premier code sert juste pour faire le tableau avec les différents catégories et leur contenu mais franchement je comprends pas comment au niveau de la méthode form comment faire pour faire que en sorte que quand je clique sur le bouton supprimer de la ligne sa supprime tel ligne ...

  6. #6
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    J'adore comment on explique à quelqu'un ce qu'il doit faire et qu'il répond "je ne sais pas comment faire".
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    Citation Envoyé par sabotage Voir le message
    J'adore comment on explique à quelqu'un ce qu'il doit faire et qu'il répond "je ne sais pas comment faire".
    Non mais clairement je galère , tu sais c'est pas une question qu'on me donne la solution mais je vois clairement pas comment faire car si je mets $titre dans le fichier delete.php y me mets index undefine donc c'est pour ça je bloque je sais pas trop comment m'y prendre mais le truc c'est que je me suis embrouillé des le départ et c'est un peu confus dans ma tete , tu est surement un expert dans ce langage , moi je débute et j'en ai clairement rien à faire d'avoir la solution si je comprends comment sa fonctionne mais bon ... toi tu penses pas ça d'apres ton commentaire ci-dessus

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    c'est bon sa fonctionne , merci mais je dois mettre le code directement dans le form . J'aurai voulu savoir par exemple si je veux mettre la requete dans un fichier séparé le '$titre' n'est pu valable comment je peux faire pour récupérer la donnée pour l'intégré dans le fichier de la requete et sinon j'ai une autre question concernant le ":" devant titre sa correspond à quoi ?

  9. #9
    Membre actif Avatar de jisig
    Homme Profil pro
    null
    Inscrit en
    Avril 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Indonésie

    Informations professionnelles :
    Activité : null

    Informations forums :
    Inscription : Avril 2014
    Messages : 146
    Points : 273
    Points
    273
    Par défaut
    Citation Envoyé par Seb2913 Voir le message
    c'est bon sa fonctionne , merci mais je dois mettre le code directement dans le form . J'aurai voulu savoir par exemple si je veux mettre la requete dans un fichier séparé le '$titre' n'est pu valable comment je peux faire pour récupérer la donnée pour l'intégré dans le fichier de la requete et sinon j'ai une autre question concernant le ":" devant titre sa correspond à quoi ?
    Si j'ai bien compris ta question, tu l'envoie via un formulaire donc tu dois le récupérer avec les variables de formulaire
    Même une feuille de papier est plus légère si on la porte à deux.

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    Ok merci c'est bon je commence à comprendre , je vais lire la page que tu m'a donnée sinon la signification du ":" devant titre sa correspond à quoi car j'ai jamais vu ?

  11. #11
    Membre actif Avatar de jisig
    Homme Profil pro
    null
    Inscrit en
    Avril 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Indonésie

    Informations professionnelles :
    Activité : null

    Informations forums :
    Inscription : Avril 2014
    Messages : 146
    Points : 273
    Points
    273
    Par défaut
    Citation Envoyé par Seb2913 Voir le message
    Ok merci c'est bon je commence à comprendre , je vais lire la page que tu m'a donnée sinon la signification du ":" devant titre sa correspond à quoi car j'ai jamais vu ?
    c'est en pdo c'est pour la ligne avec 'execute' (qui va exécuter ta requête) juste en dessous.
    Même une feuille de papier est plus légère si on la porte à deux.

  12. #12
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    C'est juste une notation qui est pris en compte par la classe PDO dans la méthode prepare() afin d'indiquer les paramètres dans une requête de manière sécurisée, de ne pas les inclure directement dans ta requête sql comme l'a indiqué sabotage. Tu peux avoir plus de détails et quelques exemples ici : http://php.net/manual/fr/pdo.prepare.php

  13. #13
    Membre actif Avatar de jisig
    Homme Profil pro
    null
    Inscrit en
    Avril 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Indonésie

    Informations professionnelles :
    Activité : null

    Informations forums :
    Inscription : Avril 2014
    Messages : 146
    Points : 273
    Points
    273
    Par défaut
    Citation Envoyé par -Rpass- Voir le message
    C'est juste une notation qui est pris en compte par la classe PDO dans la méthode prepare() afin d'indiquer les paramètres dans une requête de manière sécurisée, de ne pas les inclure directement dans ta requête sql comme l'a indiqué sabotage. Tu peux avoir plus de détails et quelques exemples ici : http://php.net/manual/fr/pdo.prepare.php
    Un 'peu' mieux expliqué
    Même une feuille de papier est plus légère si on la porte à deux.

  14. #14
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    Ok merci à vous tous pour vos réponses

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

Discussions similaires

  1. [POO] Débutant en POO, class mysql php5
    Par ouafouaf dans le forum Langage
    Réponses: 9
    Dernier message: 06/02/2006, 09h21
  2. Un bouton supprimer qui ne supprime pas... help!
    Par SpyesX dans le forum Access
    Réponses: 16
    Dernier message: 20/10/2005, 01h42
  3. [Debutant][String]Supprimer accents
    Par TylerKnoxx dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 06/09/2005, 14h48
  4. [debutant] connection à une BDD MySQL
    Par Golork dans le forum Bases de données
    Réponses: 1
    Dernier message: 11/03/2005, 16h51
  5. debutant : nombre d'utilisateur mysql
    Par titiyo dans le forum Débuter
    Réponses: 3
    Dernier message: 18/11/2003, 09h32

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