Comment mettre à jour des tables à partir d'une valeurs ?

Eléphanteau du PHP | 11 Messages

02 juil. 2022, 20:26

Problème résolu avec une gentille âme qui ma dit en MP comment faire !

J'ai enfin compris mon erreur, et merci a lui d'avoir pris seulement 2min pour m'expliquer d'où venait mon erreur en m'apportant une explication très claire. ça c'est formateur. MERCI ! Grâce à toi je peux continuer. Tu te reconnaitra ;-) !!!
merci à DSYNX d'avoir pris le temps de remettre mon code de manière plus lisible.
Bon week-end à tous !!

Avatar du membre
Eléphanteau du PHP | 41 Messages

03 juil. 2022, 16:29

yep ;) je te partage un dernier conseil pour avancer plus vite :

moi perso j'aurai présenté mon code ainsi à ton niveau actuel et en plus
tu peux ainsi apprendre à utilise les Heredoc : https://www.php.net/manual/fr/language. ... ax.heredoc
<?php
        if (!empty($_POST['send'])) {
            $Boutique = $_POST['Boutique'];
            $id_boutique = $_POST['id_boutique'];
            $ip = $_POST['ip'];
            $Actif = $_POST['Actif'];
            $connexion = mysqli_connect(
                'localhost', 'login', 'Motdepasse', 'ip_boutique')
            or die('Erreur de connexion: ' . mysqli_error($connexion));
            $result = mysqli_query($connexion,
                "INSERT INTO `boutiques_IP` (Boutique, id_boutique, ip, Actif) VALUES ('$Boutique','$id_boutique','$ip','$Actif')");
            if ($result) {
                $db_msg = 'Les informations de cette nouvelle boutique sont enregistrées avec succès.';
                $type_db_msg = 'success';
            } else {
                $db_msg = 'Erreur lors de la tentative d\'enregistrement des informations de cette nouvelle boutique.';
                $type_db_msg = 'error';
            }
        }
        if (!empty($_POST['update'])) {
            $Boutique = $_POST['Boutique'];
            $id_boutique = $_POST['id_boutique'];
            $ip = $_POST['ip'];
            $Actif = $_POST['Actif'];
            $connexion = mysqli_connect(
                hostname: 'localhost',
                username: 'login',
                password: 'motdepasse',
                database: 'ip_boutique') or die('Erreur de connexion: ' . mysqli_error($connexion));
            $result = mysqli_query($connexion,
                "UPDATE `boutiques_IP` SET (Boutique, ip, Actif)=('$Boutique','$ip','$Actif') WHERE id_boutique = ('$id_boutique')");
            if ($result) {
                $db_msg = 'Les informations de cette boutique sont mis a jour avec succès.';
                $type_db_msg = 'success';
            } else {
                $db_msg = 'Erreur lors de la tentative de mise à jour des informations de cette nouvelle boutique.';
                $type_db_msg = 'error';
            }

            if (!empty($db_msg)) {
                $db_msg_empty = "<p class='$type_db_msg Message'>$db_msg</p>";
            }
        }
            echo <<<AFFICHAGE
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<link rel="stylesheet" href="ip_boutique.css" />
<script type="text/javascript" src="ip_boutique.js"></script>
</head>
<body>
<div id="box">
<form id="form" enctype="multipart/form-data" onsubmit="return validate()" method="post">
<h3>Formulaire</h3>
<label>Boutique: <span>*</span></label>
<input type="text" id="Boutique" name="Boutique" placeholder="Ville de la Boutique"/>
<label>id_boutique: <span>*</span></label>
<input type="text" id="id_boutique" name="id_boutique" placeholder="ID de la boutique"/>
<label>ip: <span>*</span></label>
<input type="text" id="ip" name="ip" placeholder="IP de la box"/>
<label>Actif:</label>
<input type="text" id="Actif" name="Actif" placeholder="Actif..."/>
<input type="submit" name="send" value="Envoyer les informations dans la BDD"/>
<input type="submit" name="update" value="Mettre à jour les informations dans la BDD"/>
<div id="statusMessage">
$db_msg_empty
<div id="exportcsv"><a href="csv_export.php"> Exporter la table boutiques-IP au format CSV </a></div>
</div>
</form>
</div>
</body>
</html>
AFFICHAGE;
je ne mélange en général jamais du HTML et du PHP et
si je suis obliger dans le même fichier alors PHP est prioritaire
j'encapsule le HTML dans mon PHP

PHP est coté serveur donc on va lui proposé de travailler en une seul fois
avec sa balise PHP <?php mettre un mélange de balise <?php xyz ?>
dans du HTML on ne fait cela que quand on va produire un outils
ou une application moi j’appelle cela un service qui à pour objectif
comme un jeu de brique de fabriqué une page web donc là exceptionnellement
on se donne le droit de mélanger du PHP/HTML/CSS/JS etc. mais
on ne va jamais travailler avec cette page produite c'est une page de finalisation
elle n'a pas pour objectif d'être édité, elle est fabriqué, elle écrase la page d'avant
et voila. si on veux modifier on modifier en amont le script pilote ou qui forge qui va fabriqué
cette page. c'est comme si tu travail le moule d'un objet si l'objet est mal moulé tu peux rien y faire.
il repart à la fonderie on modifie le moule et en reforge.
donc voila maintenant une personne plus avancé en PHP je lui aurait dit si elle m'avait présenté mon code.
que l'on ne met pas de HTML dans du code PHP et oui ça se corse à chaque niveau son niveau non pas de difficulté mais
de présentation du code pour une meilleur lisibilité.
donc oui on peut produire du HTML via des fonctions PHP là encore c'est un services
que l'on fabrique spécifiquement à cela

ça donne un truc comme ça :
MO::doctype();
MO::tete();

MO::meta(['charset' => 'UTF-8']);
if (MO::session('utilisateur', 'inscript'))
    MO::autoload('page_produits');

MO::titre('{{TITRE}}');
MO::css(THEMEUSE, true);
MO::js(src: 'https://code.jquery.com/jquery-3.6.0.min.js');

MO::corp();
MO::debutDiv(id: 'page');

if (MO::session('utilisateur', 'inscript')) {
    // Vide si utilisateur inscrit
} else {

    MO::debutHeader();
    echo '{{TITRE}}';

    MO::debutDiv(id: 'colone_menu');


    MO::boutton_ajustable(
        texte: '',
        image: 'svg/fi-rr-chart-tree.svg',
        class: 'logo_boutton_ajustable',
        theme: THEMEUSE,
        lien: '',
        injecter: ['tag' => 'img', 'injecter' => 'test_dinjection']
    );
après c'est un exemple, il existe d'autre méthode