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 :

Formulaire PHP pour modifier les données SQL en fonction de l'id


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Femme Profil pro
    Webmaster / Agent de voyage
    Inscrit en
    Décembre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Webmaster / Agent de voyage

    Informations forums :
    Inscription : Décembre 2019
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Formulaire PHP pour modifier les données SQL en fonction de l'id
    Bonjour à tous,

    Je sollicite à nouveau votre aide car je tatônne en PHP et j'ai parfois du mal à identifier d'où viennent mes erreurs.

    J'ai mis en place un formulaire PHP qui récupère les données de ma table Hotels en fonction de l'id (url type modif-hotel.php?mod_id=2). Je souhaite pouvoir modifier les données de ma table par le biais de ce formulaire.

    Voici ma page modif-hotel.php :

    Code php : 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
    $id = $_GET['mod_id'];
     
    $query  = $mysqli->query("SELECT * FROM Hotels WHERE id='$id'");
     
    while($row = mysqli_fetch_array($query)){
            $ville = $row['ville'];
    	$nom_fr = $row['nom_fr'];
            $nom_jp = $row['nom_jp'];
            $adr_fr = $row['adr_fr'];
            $adr_jp = $row['adr_jp'];
    	$tel = $row['tel'];
    	$obs = $row['obs'];
            $plan = $row['plan'];
        }
     
    ?>
     
    <div class='result'>
    <form action="update.php" method="post">
    <input type="hidden" name="mod_id" value="<?=$id;?>">
    <label for="Ville">Ville : &nbsp;&nbsp;&nbsp;</label> <input type="text" value="<?=$ville;?>"><br/><br/>
    Nom : &nbsp;&nbsp;&nbsp;<input type="text" style="width:400px; height:auto; overflow:scroll;" value="<?=$nom_fr?>"><br/><br/>
    Nom (jp): &nbsp;&nbsp;&nbsp;<input type="text" style="width:400px; height:auto; overflow:scroll;" value="<?=$nom_jp?>"><br/><br/>
    Adresse : &nbsp;&nbsp;&nbsp;<input type="text" style="width:600px; height:auto; overflow:scroll;" value="<?=$adr_fr?>"><br/><br/>
    Adresse (jp) : &nbsp;&nbsp;&nbsp;<input type="text" style="width:600px; height:auto; overflow:scroll;" value="<?=$adr_jp?>"><br/><br/>
    T&eacute;l&eacute;phone : &nbsp;&nbsp;&nbsp;<input type="text" value="<?=$tel?>"><br/><br/>
    Observations : &nbsp;&nbsp;&nbsp;<br/><br/><textarea style=" padding: 20px; width: 800px; height:100px; resize: both; overflow: scroll;" type="text" ><?=$obs?></textarea><br/><br/>
    Plan : &nbsp;&nbsp;&nbsp;<input type="file" accept="image/png, image/jpeg" value="<?=$plan?>"><br/><br/>
    <input type="Submit" style="font-size:15px" value="MODIFIER">
    </form>   
    </div>

    Et ma page update.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
     
    $send_id = $_POST['mod_id'];
     
        $ville = mysql_real_escape_string($_POST["ville"]);
        $nom_fr = mysql_real_escape_string($_POST["nom_fr"]);
        $nom_jp = mysql_real_escape_string($_POST["nom_jp"]);
        $adr_fr = mysql_real_escape_string($_POST["adr_fr"]);
        $adr_jp = mysql_real_escape_string($_POST["adr_jp"]);
        $tel = mysql_real_escape_string($_POST["tel"]);
        $obs = mysql_real_escape_string($_POST["obs"]);
        $plan = mysql_real_escape_string($_POST["plan"]);
     
     
    $query="UPDATE Hotels
                SET ville = '$ville', nom_fr = '$nom_fr', nom_jp = '$nom_jp' , adr_fr = '$adr_fr', adr_jp = '$adr_jp', tel = '$tel', obs = '$obs', plan = '$plan'
                WHERE ID='$send_id'";
     
     
    mysql_query($query)or die(mysql_error());
    if(mysql_affected_rows()>=1){
        echo "<p>($send_id) Modifi&eacute;</p>";
    }else{
        echo "<p>($send_id) Erreur</p>";
    }
    Actuellement quand je clique sur "modifier" ma page n'affiche rien. Je me suis aidée de ressources trouvées ci et là, j'ai peut-être mal implémenté le tout.
    Je vous remercie de votre aide.

    Kelly

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Citation Envoyé par KellyDJ01 Voir le message
    Je me suis aidée de ressources trouvées ci et là...
    C'est bien le soucis. Au minimum, et ce quelque soit le langage dont il s'agit, vérifie la date de parution, car les langages ainsi que la manière dont on les pratique évoluent. Par exemple, toutes les fonctions mysql_*** sont obsolètes depuis des lustres et ont été retirées des dernières versions de PHP.
    Je te conseille de lire les tutoriels sur PDO présents sur le site (ou ailleurs) et de ne pas utiliser une version de PHP qui date de Mathusalem.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  3. #3
    Membre à l'essai
    Femme Profil pro
    Webmaster / Agent de voyage
    Inscrit en
    Décembre 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Webmaster / Agent de voyage

    Informations forums :
    Inscription : Décembre 2019
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Je comprends bien mais je ne suis pas sûre d'avoir le temps de réapprendre à partir de zéro. Mes connaissances en PHP remontent à 2013 et j'essaye de faire comme je peux. Nous avons juste besoin d'un petit site pour gérer notre base de données en interne, en soi ce n'est pas mon job de faire ça, du coup je fais comme je peux
    Le site existant date d'il y a 12-13 ans, j'essaye de le remettre à jour mais comme tu le dis, les normes ont changé et j'ai bien du mal à refaire tout le code PHP. Quoi qu'il en soit je vais voir les tutos PDO et chercher si je trouve une alternative à mes fonctions obsolètes.

  4. #4
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Dans ce cas PDO (bien qu'étant la meilleur alternative) n'est peut-être pas la meilleur solution dans ton cas. Cherches plutôt sur les fonctions mysqli_*, le passage de mysql_ à mysqli_ étant un peu moins rude (encore que).
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par KellyDJ01 Voir le message
    ...je ne suis pas sûre d'avoir le temps...
    Le site existant date d'il y a 12-13 ans, j'essaye de le remettre à jour...
    ...une alternative à mes fonctions obsolètes.
    Dans ce cas, je confirme ce que dit CosmoKnacki : convertis tes fonctions mysql_ en mysqli_C'est le plus simple et rapide.

    Attention cependant : il ne suffit pas d'ajouter un "i" !
    Dans la "syntaxe procédurale", certaines fonctions mysqli_ nécessitent un paramètre supplémentaire (qui est l'"identifiant de connexion").

    ex. :
    • mysql_query($sql) -> mysqli_query($link, $sql)

    Voir :

    N.B. Le sujet a déjà été traité : "convertir mysql en mysqli"
    Dernière modification par rawsrc ; 12/01/2020 à 14h23.

Discussions similaires

  1. Réponses: 9
    Dernier message: 09/06/2015, 10h34
  2. [MySQL] Code php pour exporter les données mysql sous Excel
    Par le maire dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 24/09/2014, 15h20
  3. Réponses: 1
    Dernier message: 09/01/2012, 14h49
  4. [MySQL] Interface web pour modifier les données de MySql
    Par roots_man dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/11/2010, 11h42
  5. [MySQL] traitement php pour récupérer les resultats SQL
    Par debo41 dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 21/04/2009, 17h18

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