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 :

Mise à jour d'une base MySql


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Par défaut Mise à jour d'une base MySql
    Bonsoir,
    Je programme une appli web pour la gestion de vente de livres en multi point de ventes.
    Lors de la réception d'une commande, je voudrais mettre à jour la date de livraison pour chaque lignes de commande (Gestion des livraisons partielles).
    L'affichage reprend l'identifiant de l'ouvrage, son titre, la quantité commandée et la date de livraison qui est à 0000-00-00, au départ, pour chaque titre.
    Seule la date de livraison peut être modifiée.
    Je voudrais, après la saisie de la date de livraison pour les titres livrés et validation de la saisie enregistrer les dates de livraisons en fonction de l'identifiant de l'ouvrage.

    Voici mon code d'affichage de la commande :
    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
    if (!isset($_POST['ajout']))
    {
    $Num_Cde = (isset($_POST['Num_Cde'])) ? $_POST['Num_Cde'] : '';
    $_SESSION['Num_Cde']=$Num_Cde;
    echo "<form method=\"post\" action=\"Livraison.php\">";
    //Récupération du nombre de lignes de commande non livrées
    $Sql_Nb_Ligne = "SELECT count(*) as nbe FROM tcde_centre WHERE Actif = 1";
    $sth = $dbh -> query($Sql_Nb_Ligne);
    $result = $sth ->fetchAll();
    $Nb_Ligne = $result[0]['nbe'];
    $_SESSION['Nb_Ligne']=$Nb_Ligne;
    //Affichage des titres des colonnes
    echo "<tr>";
    echo "<th class=\"th\">Identifiant Cde Centre</th>";
    echo "<th class=\"th\">Ouvrage</th>";
    echo "<th class=\"th\">Quantité Centre</th>";
    echo "<th class=\"th\">Date Livraison</th>";
    echo "</tr>";
     
    // Récupération de l'ID de la commande
    $Sql_Num_Cde = "SELECT Id_Cde FROM tcommande WHERE Num_Cde='$Num_Cde'";
    $RNumCde = $dbh->query($Sql_Num_Cde);
    $result = $RNumCde->fetchAll(PDO::FETCH_ASSOC);
    foreach ($result as $row)
    {
    $Id_Cde = $row['Id_Cde'];
    }
    // Récupération des ouvrages non livrées de la commande sélectionnée
    $Sql_Livraison = "SELECT Id_Cde_Centre, Id_Ouvrage, Qte_Centre, Date_Liv_Centre FROM tcde_centre WHERE Id_Cde='$Id_Cde'  AND Actif=1";
    $RLivraison = $dbh->query($Sql_Livraison);
    $result = $RLivraison->fetchAll(PDO::FETCH_ASSOC);
    //Affichage des ouvrages
    foreach ($result as $row)
    {
    $Id_Cde_Centre = $row['Id_Cde_Centre'];
    $Id_Ouvrage = $row['Id_Ouvrage'];
    $Qte_Centre = $row['Qte_Centre'];
    $Date_Liv_Centre = $row['Date_Liv_Centre'];
    echo "<tr>";
    echo "<td class=\"td_sans_cadre\">";
    echo $row['Id_Cde_Centre'];
    echo "</td>";
    echo "<td class=\"td_sans_cadre\">";
    // Récupération du titre
    $Sql_Titre = "SELECT Titre FROM touvrage WHERE Id_Ouvrage='$Id_Ouvrage'";
    $RTitre = $dbh->query($Sql_Titre);
    $result = $RTitre->fetchAll(PDO::FETCH_ASSOC);
    foreach ($result as $ligne)
    {
    $Titre = $ligne['Titre'];
    }
    echo $ligne['Titre'];
    echo "</td>";
    echo "<td class=\"td_sans_cadre\">";
    echo $row['Qte_Centre'];
    echo "</td>";
    echo "<td class=\"td_sans_cadre\">";
    echo "<input Date_Liv_Centre\"\" id=\"Date_Liv_Centre\" name=\"Date_Liv_Centre\" value=\"$Date_Liv_Centre\"  />";
    echo "</td>";
    echo "</tr>";
    }
    echo "<p><input type=\"submit\" id=\"ajout\" name=\"ajout\" value=\"Validation de la livraison\" /></p>";
    echo "</form>";						
    }
    Merci pour votre aide

    Cordialement

  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
    Il faut que tu ajoutes l'id à modifier dans ton formulaire, ça peut être un champ de type "hidden".

    Tu as écris la requête UPDATE quelque part ?

    Tu devrais présenter ton code plus proprement, en particulier en indentant bien ; il serait plus facile à lire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Par défaut
    Bonjour,
    Merci pour la réponse, je ne me souvenais plus des champs hidden.
    L'Id à modifier est dans le code (Id_Cde_Centre) mais il était affiché par un echo (echo $row['Id_Cde_Centre']);, donc pas récupérable
    Le UPDATE est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	// Enregistrement de la date de livraison		
    	$Sql_Livraison = "UPDATE tcde_centre SET Date_Liv_Centre = '$Date_Liv_Centre', Actif=0 WHERE Id_Cde_Centre ='$Id_Cde_Centre'";
    	$dbh -> exec($Sql_Livraison);
    Sauf, que je dois tester si la date de livraison a bien été remplie et si oui :
    - enregistrer la date de livraison
    - mettre à jour le stock du centre de vente.
    Je devrai y arriver.

    Cordialement

    Bonne journée

Discussions similaires

  1. Erreur 3113 sur mise à jour d'une base MySQL depuis Excel en DAO
    Par canichon dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/01/2015, 17h38
  2. Réponses: 0
    Dernier message: 05/01/2015, 15h43
  3. Réponses: 1
    Dernier message: 20/09/2011, 09h03
  4. mise à jour d'une base de données
    Par flo83 dans le forum ASP
    Réponses: 6
    Dernier message: 12/06/2005, 20h27
  5. Mise à jour d'une bd mysql
    Par joquetino dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 11/01/2005, 14h05

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