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 :

Gestion d'une table


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    Par défaut Gestion d'une table
    Bonjour à tous, voici mon 1er post parmi vous !

    Voilà, je crée un site web pour un ami commerçant (Disquaire) et les visiteurs auront accé à la liste des disques disponible, pour cela j'ai crée une table dans une base MySQL, et pour facilité la gestion des données j'ai crée un formulaire permetant d'ajouter des disques
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>

    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
    <title>ajout de disque</title>


    </head>


    <body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" alink="#000088" link="#000000" vlink="#000000">

    <div style="text-align: center;"><big style="font-weight: bold;">Ajouter des disques<br>

    </big></div>

    <form method="post" action="submit.php">
    <table style="text-align: left; width: 100%;" border="0" cellpadding="0" cellspacing="0">

    <tbody>

    <tr>

    <td>Artiste</td>

    <td>Titre</td>

    <td>Label</td>

    <td>Prix</td>

    <td>Reference</td>

    <td>Style</td>

    </tr>

    <tr>

    <td><input name="Artiste" type="text"></td>

    <td><input name="Titre" type="text"></td>

    <td><input name="Label" type="text"></td>

    <td><input name="Prix" type="text"></td>

    <td><input name="Reference" type="text"></td>

    <td>
    <select name="Genre">
    <option value="house">House</option>
    <option value="trance">Trance</option>
    <option value="club">Club</option>
    <option value="techno">Techno</option>
    <option value="hardstyle">Hardstyle</option>
    </select>

    </td>

    </tr>

    </tbody>
    </table>

    <input value="ajouter" type="submit"></form>

    <br><br>
    <table border="1">
    <tr>
    <td><b>Artiste</b></td>
    <td><b>Titre</b></td>
    <td><b>Label</b></td>
    <td><b>Prix</b></td>
    <td><b>Reference</b></td>
    <td><b>Genre</b></td>
    </tr>
    <form action="<?
    mysql_query("delete from " . music_news . " where Reference = '" . (int)$Reference . "'"); ?>" method="post">
    <?php
    $serveur = "";
    $utilisateur = "";
    $motDePasse ="";
    $base = "";

    mysql_pconnect($serveur, $utilisateur, $motDePasse);
    mysql_select_db($base) or die("Connexion ratée");

    $requete = mysql_query("SELECT * FROM music_news");
    while ($ligne = mysql_fetch_array($requete)) {
    print "<tr>
    <td>".$ligne["Artiste"]."</td>
    <td>".$ligne["Titre"]."</td>
    <td>".$ligne["Label"]."</td>
    <td>".$ligne["Prix"]."</td>
    <td>".$ligne["Reference"]."</td>
    <td>".$ligne["Genre"]."</td>
    <td><input value=\"suprimer\" type=\"submit\"></td>
    </tr>";
    }
    ?>
    </form>
    </table>
    </body>
    </html>
    le script d'insertion foctionne trés bien, ainsi que l'affichage de la table, par contre en fin de fichier, la partie qui affiche la table, je voudrai rajouter un bouton "suprimer" a chaque ligne, mon problème est que je n'arrive pas à comprendre comment le faire fonctionner, tout ce que j'ai essayé n'a rien donné
    je compte me baser sur la valeur Reference pour le suprimer, comme chaque disque à une reference différente.

    Voila, j'espère que vous avez compris en tout cas...sinon n'hesiter à m'en demander plus!

    Et merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Bienvenue et


    tu mets une case à cocher dont le nom est la référence... comme celà si elle est cochée, elle sera passée en argument.

    ensuite tu envoies dans une autre page qui fait un foreach sur $_POST, tu vois s'il faut insérer et/ou supprimer...


    Bonne chance

    nb: ne mets pas action="mysql_query" !!!
    mais plutôt action="script.php" qui contient ton mysql_query
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    Par défaut
    Bienvenue et
    Merci et aussi !

    tu mets une case à cocher dont le nom est la référence
    Un peu flou pour moi ! lol, en faite, je désire que chaque ligne (donc chaque disque) pourra être suprimer individuellement, ors là où je bloque c'est au niveau
    du nom à donner à la case à cocher, puisque chaque ligne aura sa valeur diférente, donc cela doit être une valeur, en faite récuperer la valeur de la case
    <td>".$ligne["Reference"]."</td>.

    Bon j'avoue je débute...mais ce n'est pas grave, je suis jeune !!

    merci pour ce début de réponse gorgonite !

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="<?php echo $ref ?>" />
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Membre éclairé Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Par défaut
    sa marche bien c'est la reference est un chiffre?
    je prefere
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <?php $ref="disque".$ref ; ?>
    <input type="checkbox" name="<?php echo $ref ; ?>" />
    @+

  6. #6
    Membre émérite
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Par défaut
    Ou sinon au lieu du checkbox, tu peux aussi mettre un lien vers ton script de suppression en passant en parametre l'element à supprimer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<a href="suppression.php?ref='.$ref.'">supprimer</a>';

  7. #7
    Membre éclairé Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Par défaut
    mais s'il veux suprimer plusieur (15 ou 20 par exemple) c dur,
    avec les checkbox il peux suprimer plusieur disque à la fois
    @+

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    Par défaut
    Merci à tous pour vos réponse,
    mais j'ai encore une question:
    dans vos code, vous utiliser la variable "$ref", mais je ne comprends pas bien d'ou elle viend, en effet,
    j'ai donc un tableau qui s'affiche, generer par
    <form action="<?
    mysql_query("delete from " . music_news . " where Reference = '" . (int)$Reference . "'"); ?>" method="post">
    <?php
    $serveur = "";
    $utilisateur = "";
    $motDePasse ="";
    $base = "";

    mysql_pconnect($serveur, $utilisateur, $motDePasse);
    mysql_select_db($base) or die("Connexion ratée");

    $requete = mysql_query("SELECT * FROM music_news");
    while ($ligne = mysql_fetch_array($requete)) {
    print "<tr>
    <td>".$ligne["Artiste"]."</td>
    <td>".$ligne["Titre"]."</td>
    <td>".$ligne["Label"]."</td>
    <td>".$ligne["Prix"]."</td>
    <td>".$ligne["Reference"]."</td>
    <td>".$ligne["Genre"]."</td>
    <td><input value=\"suprimer\" type=\"submit\"></td>
    </tr>";
    }
    ?>
    </form>
    et chaque ligne corespond donc à un disque différent, et le champ dans ma table pour la reference est "Reference", dois-je remplacer $ref par $Reference ?

    je suis désolé mais j'ai juste envie de comprendre, comme ça la prochaine fois je ne vous embeterai plus !!!

  9. #9
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    $ref est en fait $ligne["Reference"]

    mais vu qu les informaticiens sont fainéants...
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    Par défaut
    mais vu qu les informaticiens sont fainéants...
    Ce n'est pas moi qui vai le contredire ! lol
    ok merci, je vais faire quelques essais et je vous tiends au courant !

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    Par défaut
    Bon encore une petite chose ou deux où j'avoue avoir du mal !

    j'ai modifié le code qui donne:

    <form action="delete.php" method="post">
    <?php
    $serveur = "";
    $utilisateur = "";
    $motDePasse = "";
    $base = "";

    mysql_pconnect($serveur, $utilisateur, $motDePasse);
    mysql_select_db($base) or die("Connexion ratée");

    $requete = mysql_query("SELECT * FROM music_news");
    while ($ligne = mysql_fetch_array($requete)) {
    $ref=$ligne["Reference"];
    print "<tr>
    <td>".$ligne["Artiste"]."</td>
    <td>".$ligne["Titre"]."</td>
    <td>".$ligne["Label"]."</td>
    <td>".$ligne["Prix"]."</td>
    <td>".$ligne["Reference"]."</td>
    <td>".$ligne["Genre"]."</td>
    <td><input name=\"<?php echo $ref ?>\" type=\"checkbox\"><td>
    </tr>";
    }
    ?>
    et mon fichier "delete.php" donne
    mysql_pconnect($serveur, $utilisateur , $motDePasse)
    or die("Impossible de se connecter au serveur de bases de données.");
    mysql_select_db($base)
    or die("Base de données non trouvée.");

    // Récupération des données POST (depuis PHP 4.1)
    // en considérant register_global=off (par défaut depuis 4.2)
    $Reference = $_POST[ref];

    $sql ='DELETE from music_news where Reference=$Reference';
    mysql_query($sql) or die("Impossible de suprimer le disque");
    echo "Merci";
    ?>
    bon forcement ça ne marche pas,
    comme dit gorgonite un peu plus haut, il faut faire un foreach sur $_POST, mais je ne voie pas comment recuperer la valeur de la checkbox..

    merci d'avance à tous !

  12. #12
    Membre éclairé Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Par défaut
    peut etre sa?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $requete = mysql_query("SELECT * FROM music_news");
    while ($ligne = mysql_fetch_array($requete)) {
    $ref=$ligne["Reference"];
          if($ref="on")
          {
          $sql ="DELETE from music_news where Reference=".$ligne["Reference"];
          mysql_query($sql) or die("Impossible de suprimer le disque");
          echo "Merci";
          }
    }
    @+

    Edit :
    je suppose que tas ajouté le bouton submit et fermé ton form

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    Par défaut
    je suppose que tas ajouté le bouton submit et fermé ton form
    Bien entendu

    Merci pour ton bout de code, que je viends d'essayer dans mon "delete.php" mais il me renvoie quoi qu'il arrive "Impossible de suprimer le disque"
    Bon ça me rassure, c'est dans le code ! lol
    Ce qui veut dire que "mysql_query($sql)" ne foctionne pas...

    Comment être sûr que les checkbox prennent bien les bonnes valeurs, et qu'on recupèrent bien ces valeurs dans "delete.php"..?

    Compliqué tout ça !

    merci à tous !

    on avance, et on va y arriver !

Discussions similaires

  1. Gestion d'une Table Répartie
    Par zintelix3d dans le forum PL/SQL
    Réponses: 4
    Dernier message: 22/11/2009, 15h30
  2. Gestion d'une table de base de données avec JCombox
    Par cotede2 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 29/10/2009, 16h25
  3. Réponses: 3
    Dernier message: 18/04/2008, 14h28
  4. Réponses: 6
    Dernier message: 28/02/2007, 09h37
  5. Mécansime pour reproduire la gestion d'une table
    Par sinfoni dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2006, 12h25

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