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 :

manipulation des données via PHP [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 86
    Points : 46
    Points
    46
    Par défaut manipulation des données via PHP
    salut je suis novice dans le code PHP quoique je connais en bases de données, je voulais avoir un script PHP d'un formulaire permettant de manipuler (ajouter ou modifier) un enregistrement d'une base de données.
    Par exemple j'ai une base de données "Ventes" avec des tables:
    Vendeur[id_vendeur,nom,adresse,téléphone],
    Client[id_client,nom,adresse],
    Article[id_article,id_vendeur,id_client,prix,date_entrée,date_sortie]

    contrainte:un client ne peut etre ajouté sans avoir d article
    un article doit etre affecté à un vendeur

    si possible je veux avoir un script en php d'un formulaire permettant d'ajourer un client à la base de données...

    vous voila le script SQL de la création de la base de données:
    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
     
     
    CREATE TABLE client (
      id_client INT NOT NULL AUTO_INCREMENT,
      nom_client VARCHAR(20) NULL,
      adresse_client VARCHAR NULL,
      PRIMARY KEY(id_client)
    );
     
    CREATE TABLE vendeur (
      id_vendeur INT NOT NULL AUTO_INCREMENT,
      nom_vendeur VARCHAR(20) NULL,
      adresse_vendeur VARCHAR NULL,
      telephone INT NULL,
      PRIMARY KEY(id_vendeur)
    );
     
    CREATE TABLE article (
      id_article INT NOT NULL AUTO_INCREMENT,
      client_id_client INT NOT NULL,
      vendeur_id_vendeur INT NOT NULL,
      nom VARCHAR(20) NULL,
      prix NUMERIC NULL,
      date_entrée DATE NULL,
      date_sortie DATE NULL,
      PRIMARY KEY(id_article),
      INDEX Table_02_FKIndex1(vendeur_id_vendeur),
      INDEX Table_02_FKIndex2(client_id_client)
    );

  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
    Points : 44 155
    Points
    44 155

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 86
    Points : 46
    Points
    46
    Par défaut
    merci pour le tuto ça m a aidé. mntnt j'ai ajouté des clients via php, mais le problème c que le page affiche erreur connexion mm si l ajout se fait par succès. je vous donnes mon script parce que je sais pas que ajouter pour afficher un msg 'ajout réussi ' à la page avec le formulaire

    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
     
    <?php
    include("fonctions.php");
    ?>
    <html>
        <head><title>Formulaire d'un article </title></head>
        <body>
            <h1>nouveau client</h1>
            <h2>Entrez les données demandées :</h2>
            <form name="nouveau" method="post" action="form2.php">
                Entrez le nom du client:    <input type="text" name="nom"/> <br/>
                Entrez l'adresse client :  <input type="text" name="adresse"/><br/>
                <input type="submit" name="valider" value="OK"/>
            </form>
            <?php
            if (isset ($_POST['valider'])){
                //On récupère les valeurs entrées par l'utilisateur :
                $nom=$_POST['nom'];
                //$prix=$_POST['prix'];
                $adresse=$_POST['adresse'];
                //$today = date("d.m.y");
                //On construit la date d'aujourd'hui
                //strictement comme sql la construit
                //$today = date("y-m-d");
                //On se connecte
                connectventes();
     
                //On prépare la commande sql d'insertion
                $sql = 'INSERT INTO client VALUES("","'.$nom.'","'.$adresse.'")';
     
                /*on lance la commande (mysql_query) et au cas où, 
                on rédige un petit message d'erreur si la requête ne passe pas (or die) 
                (Message qui intègrera les causes d'erreur sql)*/
                mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
     
                // on ferme la connexion
            mysql_close();    
            }
     
            ?>
        </body>
    </html>
    et la page fonctions est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
     
    function connectventes(){
        $base = mysql_connect ('localhost', 'root', '');  
        mysql_select_db ('ventes', $base) ;
    }
    ?>

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 86
    Points : 46
    Points
    46
    Par défaut pas d'affichage des résultats
    salut, vu que j'ai pas de réponses depuis qcq jours j'ai essayé de voir des alternatives mai jusque là j'ai pa pu avoir grand chose. Entre autre j'ai essayé de voir une recherche sur la table vendeur (par nom)(voir plus haut), je suis parvenu au script suivant , mais le problème c'est que ça retourne le tableau vide(sans résultat)(normalemen ça doit afficher le nom saisi s'il existe avec l'adresse et téléphone)

    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
    strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
    <head>
    <title>Messages de Yogui (source : MySQL)</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    </head>
     
    <body>
     
    <form name="nouveau" method="get" action="search.php">
                Entrez le nom du vendeur :      <input type="text" name="vendeur"/>
                <input type="submit" name="valider" value="OK"/>
            </form>
     
     
     <?php       if (isset ($_GET['valider'])){
                //On récupère les valeurs entrées par l'utilisateur :
     
                $vendeur=$_GET['vendeur'];
    $base = mysql_connect ('localhost', 'root', '');  
        mysql_select_db ('ventes', $base) ;
     
     
    $sql = "SELECT * FROM `vendeur` WHERE nom_vendeur = '.$vendeur.' LIMIT 0 , 30";
     
     
    $result = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    ?>
    <?php 
    if(!$result){
        echo('tapez un nom valide s.v.p!');
    }
     
    else{?>
    <table border="1">
    <tr>
    <th>nom</th>
    <th>adresse</th>
    <th>téléphone</th>
    </tr>
    <?php
    while($data = mysql_fetch_assoc($result))
    {
    ?>
    <tr>
    <td><?php display($data['nom_vendeur']); ?></td>
    <td><?php display($data['adresse_vendeur']); ?></td>
    <td><?php display($data['telephone']); ?></td>
    </tr>
    <?php
    }}
     
    }
    ?>
    </table>
     
    </body>
    </html>

  5. #5
    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
    Ta concatenation est mal faite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM `vendeur` WHERE nom_vendeur = '$vendeur' LIMIT 0 , 30";
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM `vendeur` WHERE nom_vendeur = '" . $vendeur ."' LIMIT 0 , 30";

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 86
    Points : 46
    Points
    46
    Par défaut
    Merci encore, et voila que j essaie d avancer peu à peu...

    mntnt pour supprimer un vendeur de la table aprés recherche j'ai établi les deux fichiers qui ont l air de marcher (aucune erreur est retournée), cependant quand je verifie ma table (ici vendeur), ya pas suppression de l enregistrement

    voila le fichier delete.php
    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
    strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
    <head>
    <title>Messages de Yogui (source : MySQL)</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    </head>
     
    <body>
     
    <form name="nouveau" method="get" action="delete.php">
                Entrez le nom du vendeur :      <input type="text" name="vendeur"/>
                <input type="submit" name="valider" value="OK"/>
            </form>
    <?php
    include("fonctions.php");
    ?>
     
     <?php       if (isset ($_GET['valider'])){
                //On récupère les valeurs entrées par l'utilisateur :
     
                $vendeur=$_GET['vendeur'];
                connectventes();
     
    $sql = "SELECT * FROM `vendeur` WHERE nom_vendeur = '" . $vendeur ."' LIMIT 0 , 30";
     
     
    $result = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    ?>
    <?php 
    if(!$result){
        echo('tapez un nom valide s.v.p!');
    }
     
    else{?>
     
    <form action="supprimer.php" method="post">
    <?php
    $Nombre_case_a_cocher = 0;
    while($data = mysql_fetch_assoc($result))
    { 
     
        $id = $data['id_vendeur'];
        $nom = $data['nom_vendeur']; 
    $adresse = $data['adresse_vendeur']; 
    $telephone = $data['telephone'];
     
    	$Nombre_case_a_cocher++;
    }
    ?>
    <table border="1" align="center">
    <tr>
    <td></td>
    <td>identifiant</td>
    <td>nom</td>
    <td>adresse</td>
    <td>téléphone</td>
    </tr>
    <tr>
    <td><input type="checkbox" name="supprimer[]" value=
    <?php echo $id ; ?>></td>
    <td><?php echo $id;?></td>
    <td><?php echo $nom ; ?></td>
    <td><?php echo $adresse ; ?></td>
    <td><?php echo $telephone ; ?></td>
    <td><input type="submit" value="Supprimer" name="supprimer"></td>
    </tr>
    </table>
    </form>
     
    <?php
    }}
     
     
    ?>

    et le fichier contenu supprimer.php
    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
     
    <html>
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
     <script language="JavaScript" type="text/JavaScript"> 
              function Affichage(i)
          {
             //AFFICHAGE DU MESSAGE AVEC PASSAGE DU NOMBRE D ENREGISTREMENTS SUPPRIMES
             alert('Total de la suppression dans la Base de donnees : ' + i);
    		//REDIRECTION VERS LA PAGE PRINCIPALE
    		  document.location = "delete.php";
          }
    </script>
    </head>
     
    <body>
    <?
    /* Evite le message de variables non initialisée */
    error_reporting(E_ALL ^ E_NOTICE);
     
    include('fonctions.php');
     
    if(isset($_POST['supprimer'])) { 
     
    for ($i=0, $j=count($_POST['supprimer']); $i<$j; $i++)
    {
     
     $mysql_resultat = mysql_query("DELETE FROM `vendeur` where `vendeur`.`id_vendeur` = '".$_POST['supprimer'][$i]."'  LIMIT 1 ;") 
     or die("Erreur de connexion"); 
     
    } 
     
    }
    ?>
    <script>
    /*APPEL FONCTOIN JAVASCRIPT QUI AFFICHE LE NOMBRE DE TUPLE EFFACES ET REDIRIGE*/
    Affichage('<?php echo $i; ?>');</script>
    </body>
    </html>

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 86
    Points : 46
    Points
    46
    Par défaut
    je viens de trouver la solution, il m a suffit d imbriquer la requete de suppression dans le bloc de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="submit" value="supprimer">
    et ainsi j'ai ecrit le code sous la forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <input type="submit" value=<?php  
    $mysql_resultat = mysql_query("DELETE FROM `vendeur` where `vendeur`.`id_vendeur` = '".$id."'  LIMIT 1 ;") 
     or die("Erreur de connexion"); 
    ?>"Supprimer" name="supprimer">

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

Discussions similaires

  1. Récupérer des données via usb
    Par Palca dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 12/01/2006, 15h33
  2. récupération des données via une liste déroulante
    Par rahan_dave dans le forum Access
    Réponses: 1
    Dernier message: 13/10/2005, 13h27
  3. Récupérer des données via le port usb
    Par matmuth dans le forum C++Builder
    Réponses: 12
    Dernier message: 11/05/2005, 17h34
  4. Réponses: 7
    Dernier message: 20/03/2005, 15h53
  5. [xml]manipuler des données xml sous Oracle9i
    Par crazy dans le forum SQL
    Réponses: 7
    Dernier message: 28/02/2004, 12h40

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