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

Langage PHP Discussion :

Récupérer l'ID d'une ligne spécifique de la bdd


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut Récupérer l'ID d'une ligne spécifique de la bdd
    Bonjour à tous,

    Je viens solliciter votre aider car je suis ennuyé pour récupérer une ligne spécifique de ma bdd.

    Dans les détails voici ce que je souhaite faire (voir capture) :Nom : Capture.png
Affichages : 1807
Taille : 3,9 Ko
    Donc, j'ai toute une liste de vocabulaire dans ma base de donnée, et, j'ai attribué un ID pour chaque ligne.

    Vous pouvez voir que, dans la dernier colonne, j'ai insérer une petite corbeille, qui lorsque je clique dessus mène sur une page traitement.php ou se trouvera le code pour supprimer la ligne dans bdd.
    Pour la page traimement.php il ne devrait pas y avoir de souci.

    Mon problème se trouve avant cela :
    Pour pouvoir dire à php que si par exemple je clique sur la corbeille de la ligne 69 il doit supprime la ligne 69, je dois être capable de récupérer l'ID de la ligne. C'est donc ceci qui le problème, car, je ne sais pas comment récupérer cet ID en cliquant sur cette icon "corbeille".

    j'ai donc déjà écris le bout de code qui fait apparaître la petite corbeille (via un path_image), qui envoie sur la page traitement.php mais, en arrivant sur cette page, php lui, ne sais pas de quelle ligne il sagit. Car je n'ai pas récupérer l'ID de la ligne. :
    <?php echo "<a href="."traitement.php"."><img class=".image_suppr." src='".$path_img.$donnees['Supprimer']."' />";?>
    Pourriez-vous m'aiguiller sur la solution de ce souci ?

    Un grand merci d'avance,
    Bien à vous,

  2. #2
    Membre habitué
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2014
    Messages : 65
    Points : 158
    Points
    158
    Par défaut
    Quand tu appels traitement.php, fait le plutôt sous cette forme : traitement.php?id=$id,
    Dans ta page traitement.php tu as juste à récupérer la valeur passée en paramètre dans l'url :

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Ok merci pour votre réponse,

    je vais étudier cela est essayer

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Lorsque que j'utilise cette methode, je clique sur ma corbeille et l'url qui arrive est : xxxx/xxxxx/traitement.php?id=
    Et rien ne s'affiche, la ligne n'est pas supprime, la page traitement ne s'execute pas.

    J'aimerai clarifier une chose, tu m'as dis de faire traitement.php?id=$id,

    mais comment la variable $id peut savoir de quel ligne il s'agit ?

    je tiens à préciser que la colonne ID qui est déjà présente dans ma base de donnée, c'est une colonne en auto incrément. Qui permet juste donc, d’affecter un numéro à la ligne.

    Pardon mais, je ne vois pas en quoi écrire traitement.php?id=$id La variable $id arrive à savoir quel ligne lui est attribuée ?

    Ou c'est moi qui n'est rien compris ^^

    Merci

  5. #5
    Membre habitué
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2014
    Messages : 65
    Points : 158
    Points
    158
    Par défaut
    On est d'accord que tu utilises bien une boucle pour l'affichage ?
    Donc tu as une table qui contient tous les mots et leurs traductions de cette forme :
    ID | KANA | Romaji | Traduction
    ce que tu dois faire c'est récupérer le contenu de ta table en faisant un "select * tatable" que tu stocks dans un tableau.
    Une fois que tu as fais ton select, tu veux afficher le contenu du tableau, donc pour ça, tu boucles.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $nb_words = sizeof(montableau);
    for ($i = 0; $i <  nb_words; $i++)
    {
    ton code html est ici, donc tu déclares à la suite:
    <a href="."traitement.php?id=$montableau[id]"."><img class=".image_suppr." src='".$path_img.$donnees['Supprimer']."' />
    }

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Oui c'est bien ca, 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
    $reponse = $bdd->query('SELECT * FROM nihongo ORDER BY traduction');
     
    $path_img = '/russe/japan/images/';
    $classesTD = array('impaire', 'paire');
    $nombre = count($classesTD);
    $compteur = 0;
    ?>
    <table class="form_list_table">
    <tr class="form_list_tr">
         <th class="form_list_td_id">ID</th>
         <th class="form_list_td">Kana</th>
         <th class="form_list_td">Romaji</th>
         <th class="form_list_td">Traduction</th>
         <th class="form_list_td_id">Del</th>
    </tr>
    </table>
                <?php
    while ($donnees = $reponse->fetch())
    {
    ?>
            	<table class="form_list_table">
                <tr class="<?php echo $classesTD[ $compteur % $nombre] ?>"> 
                    <td class="form_list_td_id">
                        <?php echo $donnees['id']; ?>
                    </td>
                    <td class="form_list_td">
                        <?php echo $donnees['kana']; ?>
                    </td>
                     <td class="form_list_td">
                        <?php echo $donnees['romaji']; ?>
                    </td>
                    <td class="form_list_td">
                        <?php echo $donnees['traduction']; ?>
                    </td>
                    <td class="form_list_td_suppr">
                        <?php echo "<a href="."traitement.php?id=$id"."><img class=".image_suppr."  src='".$path_img.$donnees['Supprimer']."' />";?>
                    </td>
                </tr>
            </table>
     
     
    <?php
        $compteur++;
     
    }
    ?>

  7. #7
    Membre habitué
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2014
    Messages : 65
    Points : 158
    Points
    158
    Par défaut
    remplaces $id par $donnees['id']

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Ah oui ok, autant pour moi :/
    j'ai bien l'id dans l'url du coup.

    Et donc, sur ma page traitement.php

    je récupere $id = $_REQUEST["donnees"]; c'est ca ?

    Puis la requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = $bdd->query("DELETE FROM nihongo WHERE id = '".$_REQUEST['id']."'");
    C'est bien ca ?

  9. #9
    Membre habitué
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2014
    Messages : 65
    Points : 158
    Points
    158
    Par défaut
    "traitement.php?id=$id"
    Tu récupères donc la valeur en gras soit : $id = $_REQUEST["id"]; dans ce cas là
    Et tu finis par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = $bdd->query("DELETE FROM nihongo WHERE id = '".$id."'");
    Il faut bien que tu dissocies $id la variable déclarée dans traitement.php et $id passée en paramètre.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Super, je te remercie de ta patience et de ton aide.

    Et un grand merci pour tes explications !

  11. #11
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Attention, ton code actuel n'est pas du tout sécurisé, il est très facile d'exécuter une SQL injection !
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Salut Spart,

    En faite la page est protégée par un .htacces pour l'instant. Je suis justement en train de me pencher sur la question et regarder un peu les meilleurs moyens de sécuriser tout cela.

    Merci d’avoir réagis en tout cas
    Si besoin, j'ouvrirai un nouveau topic à ce sujet.

    A bientôt

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/03/2007, 19h54
  2. Récupérer la valeur d'une ligne dans une procédure stockée
    Par mobscene dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 07/12/2006, 19h29
  3. Réponses: 13
    Dernier message: 26/06/2006, 12h10
  4. Réponses: 5
    Dernier message: 23/12/2005, 19h19
  5. Réponses: 2
    Dernier message: 30/11/2005, 09h55

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