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 :

Faire un UPDATE depuis mon formulaire


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 195
    Points : 74
    Points
    74
    Par défaut Faire un UPDATE depuis mon formulaire
    Bonjour,

    Je galère depuis une semaine pour faire un "update" depuis le formulaire de logiciels installés sur un micro.

    Nom : image 1.jpg
Affichages : 100
Taille : 75,5 Ko

    je choisis les noms de logiciel à partir d'une table "logiciel" et d'une liste déroulante. Et je veux stocker les infos dans la table "log_instal" dont voici la structure

    Nom : image 2.jpg
Affichages : 95
Taille : 25,3 Ko

    où "log_inst_log est l' ID du logiciel en liaison avec le "Log_ID" de la table "logiciel" qui me donnera le libellé du logiciel
    "log_inst_ID_Perso" est l'ID du micro dans la table "Perso"
    "log_inst_version" la version du logiciel


    cela me paraissait simple mais pas du tout car ça ne marche pas.
    je joins le code ci-dessous


    fichier "logiciel.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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    <?php
    include("commun/fonction.php");
    session_start();
    $modifie=0;
    global $num_ID, $num_IDM, $utiliSQL, $nombase, $serverbase, $mdpbase;
    $titre='depannage informatique';
    $num_ID = $_SESSION["numero"];
    $nomprenom = $_SESSION["nomprenom"];
     
    if ($modifie == 0) 
    {
        $historique = historique_Logiciel($num_ID);
    } 
     
    if (isset($_POST["log_id"]) ) 
    {
    	$log_id=$_POST["log_id"];
    	/* Les données ont été saisies*/
        $ind_tab = mise_en_forme_logiciel($_POST);
    	update_database_logiciel($ind_tab, $log_id);
    	/*relecture de la base*/
    	$ind_tab = existe_database_num_logiciel($num_ID);
    }
     
    if (isset($_POST["nouveau"])&& ($_POST["nouveau"] == "ajout")) 
    {
    	$num_ID = insert_nouveau_logiciel($num_ID);
    	$ind_tab = existe_database_num_logiciel($num_ID);
    }
     
    ?>
    <body>
     
    <?php
    include("index.php");	
    ?>
     
    <table class="div_inscript_logiciel" style="Margin-left:43%">
    	<tr>
    		<div>
    			<form id='ajout' name='ajout' method='post' action='' >
    				<tr>
    					<td>
    						<input type="hidden" id="nouveau" name="nouveau" value="ajout" />
    						<input type='submit' class="bouton" style="width: 60%" value="Ajout d un logiciel"/>
    					</td>
    				</tr>
    			<form>
    		</div>
    	</tr>
    </table>
     
    <div class="div_conteneur_page" Style="width:500px;height:650px;margin-left:37%">
        <table style="font-size: 12px; font-weight:bold;text-align:center; width: 100%">
            <tr>
                <td><h1>Liste des logiciels installés sur le micro de</h1></td>
            <tr>
                <td style="font-size:18px; font-weight:bold"><?php echo $nomprenom ?> </td>
            </tr>
            </tr>
        </table>
        <br>
    	<form>
        	<table style="width: 56%; font-size:12px;text-align:center;margin-left:55px;margin-right:50px; height:2px" border=1 >
    	        <td><h2 style="font-size: large;width: 185px; padding:6px" >Logiciel installé</h2></td>
            	<td><h2 style="font-size: large;margin-left: 1%;width: 175px; padding:6px">Version</h2></td>
        	</table>
     
            <?php
            if ($historique != 0) 
            {
                foreach ($historique as $histo) 
                {
                ?>
                    <table style="width: 75%; text-align:center;margin-left:55px;margin-right:58px; height:2px" border=1 >
                        <tr>
                            <td >
                                <p style="width: 2px"><?php php_select("logiciel", "libelle", $histo['Log_Inst_Log']); ?></p>
                            </td>
    	                    <td >
                                <p style="width: 2px; font-weight: bold;font-size: 14px;text-align:center">
                                <input type="text" id="log_version" name= "log_version" value="<?php echo $histo['Log_Inst_Version']; ?>"></p>
                            </td>
                        </tr> 
                    </table>
                <?php
                }
            } ?>
            <tr style="margin-left:30%;text-align:center width: 30%">
    			<td >
    				<!--<input type="hidden" id="postID" name="postID" value="modif" />
    				<input type='submit' class="bouton" style="width: 60%; margin-left:100px" value='Valider les modifications' />-->
     
    				<input type="hidden" name="log_id" value="">
    				<input type="submit" name="Bouton" class="bouton" value="Valider les modifications" style="Margin-left:20%" >
     
    			</td>
    		</tr>
        </form>   
        </div>
    </body>
    et le fichier fonction.php contenant les différentes fonctions appelées depuis "logiciel.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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    <?php
     
    $titre = "Dépannage informatique";
    //en local
    $utiliSQL = "root";
    $nombase = "intervention";
    $serverbase = "localhost";
    $mdpbase = "";
     
    /* lecture de la base de données "log_install" */
     
    function existe_database_num_logiciel($num)
    {
      global $mdpbase, $nombase, $serverbase, $utiliSQL;
      $liaison = mysqli_connect($serverbase, $utiliSQL, $mdpbase) or die("Acces a la base de donnee impossible !!!");
      mysqli_select_db($liaison, $nombase) or die("Accès à la base de donnée impossible !!!");
      $requete = "SELECT * FROM log_instal WHERE Log_Inst_ID_Perso = '" . $num . "';";
      $retours = mysqli_query($liaison, $requete);
      $retour = mysqli_fetch_array($retours);
     
      mysqli_close($liaison);
      return $retour;
    }
     
    /* insertion d'une nouveau logiciel sur un micro*/
    function insert_nouveau_logiciel($num_ID)
    {
      global $mdpbase, $nombase, $serverbase, $utiliSQL,$modifie;
      $liaison = mysqli_connect($serverbase, $utiliSQL, $mdpbase) or die("Acces a la base de donnee impossible !!!");
      mysqli_select_db($liaison, $nombase) or die("Accès à la base de donnée impossible !!!");
      $requete = "INSERT IGNORE INTO log_instal (Log_Inst_Log,Log_Inst_ID_Perso) VALUES (1, ".$num_ID.");";
      $retours = mysqli_query($liaison, $requete);
      $retour = mysqli_affected_rows($liaison);
      $num_ID = mysqli_insert_id($liaison);
      mysqli_close($liaison); 
      $modifie=1;
      return $num_ID;
    }
     
    function update_database_logiciel($ind_tab, $num_ID)
    {
      /* mise à jour des logiciels installés*/
      global $mdpbase, $nombase, $serverbase, $utiliSQL;
      $utiliSQL = "root";
      $nombase = "intervention";
      $serverbase = "localhost";
      $mdpbase = "";
      $liaison = mysqli_connect($serverbase, $utiliSQL, $mdpbase) or die("Acces a la base de donnee impossible !!!");
      mysqli_select_db($liaison, $nombase) or die("Accès à la base de donnée impossible !!!");
      $requete = 'UPDATE log_instal
        SET Log_Inst_Log = "' . $ind_tab['Log_Inst_Log'] . '" ,
        Log_Inst_Version = "' . $ind_tab['Log_Inst_Version'] . '" ,
        WHERE Log_ID=' . $num_ID . ';';
      $retours = mysqli_query($liaison, $requete);
      return;
    }    
     function mise_en_forme_logiciel($var)
    { 
      global $mdpbase, $nombase, $serverbase, $utiliSQL;
     
      $liaison = mysqli_connect($serverbase, $utiliSQL, $mdpbase) or die("Acces a la base de donnee impossible !!!"); //$_ENV['MYSQL_ROOT_PASSWORD']
      $ind_tab['Log_Inst_Log'] = $var["libelle"];
      $ind_tab['Log_Inst_Version'] = mysqli_real_escape_string($liaison, strip_tags($var["log_version"]));
      return $ind_tab;
    }
    function php_select($nom_tab_sql, $name, $val_id)
    {
      global $mdpbase, $nombase, $serverbase, $utiliSQL;
      $liaison = mysqli_connect($serverbase, $utiliSQL, $mdpbase) or die("Acces a la base de donnee impossible !!!");
      mysqli_select_db($liaison, $nombase) or die("Accès à la base de donnée impossible !!!");
      $requete = "SELECT * FROM " . $nom_tab_sql;
      $result = mysqli_query($liaison, $requete);
      $i = 1;
      while ($row = mysqli_fetch_row($result)) {
        $com1[$i] = $row[0];
        $com2[$i] = $row[1];
        $i++;
      }
      mysqli_close($liaison);
     
      echo '<select   required id="' . $name . '" name="' . $name . '"  style="border-radius: 5px;width: 170px; height: 20px; text-align:center; font-size:12px;font-weight:bold>';
      $i = 1;
      echo ' <option value="">' . 'Nom de Logiciel' . '</option>';
      for ($i = 1; $i <= count($com1); $i++) {
        if ($com1[$i] == $val_id) {
          $v = 'selected';
        } else {
          $v = '';
        }
        $cc = $com2[$i];
        $imp = '<option value="' . $com1[$i] . '"  ' . $v . '>' . $cc . '</option>';
        echo $imp;
      }
      echo '</select>';
    }
    /* Fonction de recherche de la liste des logiciels installés sur un micro
    $retour: tableau contient l'historique
    */
    function historique_Logiciel($num_ID)
    {
      global $mdpbase, $nombase, $serverbase, $utiliSQL;
      $liaison = mysqli_connect($serverbase, $utiliSQL, $mdpbase) or die("Acces a la base de donnee impossible !!!");
      mysqli_select_db($liaison, $nombase) or die("Accès à la base de donnée impossible !!!");
      $requete = 'SELECT log_instal.Log_Inst_Log, log_instal.Log_Inst_ID_Perso, log_instal.Log_Inst_Version From log_instal 
        WHERE Log_Inst_ID_Perso = "' . $num_ID . '";';
      $result = mysqli_query($liaison, $requete) or die("problème avec la requète " . $requete);
      if (mysqli_num_rows($result) > 0) {
        // output data of each row
        $i = 0;
        while ($row = mysqli_fetch_assoc($result)) {
          $historique[$i]["Log_Inst_Log"] = $row["Log_Inst_Log"];
          $historique[$i]["Log_Inst_Version"] = $row["Log_Inst_Version"];
     
          $i++;
        }
      }
      if (isset($historique)) {
        return $historique;
      } else {
        return 0;
      }
    }
    En espérant n'avoir rien oublié et surtout avoir été assez clair sur le probleme

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 097
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 097
    Points : 8 206
    Points
    8 206
    Billets dans le blog
    17
    Par défaut
    Tu ne dis pas ce qui bloque précisément. J'ai survolé ton script, le premier gros blocage que je vois est sur ton HTML dans ta boucle :

    <input type="text" id="log_version" name= "log_version" value="<?php echo $histo['Log_Inst_Version']; ?>"></p>
    Avec ceci tu soumets des champs qui ont tous le même nom => PHP ne récupérera que la dernière valeur

    Tu dois ajouter des au name [] pour empiler les valeurs dans un tableau :

    <input type="text" id="log_version" name="log_version[]" value="<?php echo $histo['Log_Inst_Version']; ?>"></p>
    Ainsi le tableau $_POST['log_version'] contiendra toutes les valeurs. Même démarche à reproduire pour les différents champs de saisie.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre régulier
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 195
    Points : 74
    Points
    74
    Par défaut
    Merci pour ta réponse rapide.
    J'ai fais la correction

    Ce qui bloque etait la mise à jour des données du formulaire. Ce qui tu avais bien vu.

    Code html : 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
    <form>
        	<table style="width: 56%; font-size:12px;text-align:center;margin-left:55px;margin-right:50px; height:2px" border=1 >
    	        <td><h2 style="font-size: large;width: 185px; padding:6px" >Logiciel installé</h2></td>
            	<td><h2 style="font-size: large;margin-left: 1%;width: 175px; padding:6px">Version</h2></td>
        	</table>
     
            <?php
            if ($historique != 0) 
            {
                foreach ($historique as $histo) 
                {
                ?>
                    <table style="width: 75%; text-align:center;margin-left:55px;margin-right:58px; height:2px" border=1 >
                        <tr>
                            <td >
                                <p style="width: 2px"><?php php_select("logiciel", "libelle", $histo['Log_Inst_Log']); ?></p>
                            </td>
    	                    <td >
                                <p style="width: 2px; font-weight: bold;font-size: 14px;text-align:center">
                                <input type="text" id="log_version" name= "log_version[]" value="<?php echo $histo['Log_Inst_Version']; ?>"></p>
                            </td>
                        </tr> 
                    </table>
                <?php
                }
            } ?>
            <tr style="margin-left:30%;text-align:center width: 30%">
    			<td >
    				<!--<input type="hidden" id="postID" name="postID" value="modif" />
    				<input type='submit' class="bouton" style="width: 60%; margin-left:100px" value='Valider les modifications' />-->
     
    				<input type="hidden" name="log_id" value="">
    				<input type="submit" name="Bouton" class="bouton" value="Valider les modifications" style="Margin-left:20%" >
     
    			</td>
    		</tr>
        </form>

    Mais j'ai encore une erreur dans le fichier "fonction.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
    function update_database_logiciel($ind_tab, $num_ID)
    {
      /* mise à jour des logiciels installés*/
      global $mdpbase, $nombase, $serverbase, $utiliSQL;
      $utiliSQL = "root";
      $nombase = "intervention";
      $serverbase = "localhost";
      $mdpbase = "";
      $liaison = mysqli_connect($serverbase, $utiliSQL, $mdpbase) or die("Acces a la base de donnee impossible !!!");
      mysqli_select_db($liaison, $nombase) or die("Accès à la base de donnée impossible !!!");
      $requete = 'UPDATE log_instal
        SET Log_Inst_Log = "' . $ind_tab['Log_Inst_Log'] . '" ,
        Log_Inst_Version = "' . $ind_tab['Log_Inst_Version[]'] . '" ,
        WHERE Log_ID=' . $num_ID . ';';
      $retours = mysqli_query($liaison, $requete);
      return;
    }    
     function mise_en_forme_logiciel($var)
    { 
      global $mdpbase, $nombase, $serverbase, $utiliSQL;
     
      $liaison = mysqli_connect($serverbase, $utiliSQL, $mdpbase) or die("Acces a la base de donnee impossible !!!"); //$_ENV['MYSQL_ROOT_PASSWORD']
      $ind_tab['Log_Inst_Log'] = $var["libelle"];
      // l'erreur est ici
      $ind_tab['Log_Inst_Version[]'] = mysqli_real_escape_string($liaison, strip_tags($var["log_version[]"]));
      return $ind_tab;
    }

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 097
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 097
    Points : 8 206
    Points
    8 206
    Billets dans le blog
    17
    Par défaut
    Tu ne dis pas quelle erreur, et je ne vois pas de mysqli_error(). Le débugage risque d'être compliqué

      $requete = 'UPDATE log_instal
        SET Log_Inst_Log = "' . $ind_tab['Log_Inst_Log'] . '" ,
        Log_Inst_Version = "' . $ind_tab['Log_Inst_Version[]'] . '" ,
        WHERE Log_ID=' . $num_ID . ';';
      $retours = mysqli_query($liaison, $requete);
    L'utilisation de $ind_tab me parait suspecte. Fais un print_r($_POST); pour comprendre ce que tu reçois de ton <form>.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Membre régulier
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 195
    Points : 74
    Points
    74
    Par défaut
    je reviens vers vous seulement maintenant car je n'ai pas eu le temps pour mon projet ces derniers jours.

    j'ai mis des crochets là tu le preconisait mais je ne peux toujours pas faire la mise à jour des données de mon formulaire
    Je suis complètement perdu je ne sais pas quoi faire ni comment car je suis un débutant en php

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 097
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 097
    Points : 8 206
    Points
    8 206
    Billets dans le blog
    17
    Par défaut
    C'est difficile de t'aider car tu ne donnes ni ton script actuel ni aucune information sur ce qui bloque

    mysqli_error() a-t-il été utilisé ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Membre régulier
    Homme Profil pro
    retraité de l'informatique de gestion
    Inscrit en
    Mars 2018
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité de l'informatique de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2018
    Messages : 195
    Points : 74
    Points
    74
    Par défaut
    oui effectivement j'ai oublié de te le fournir

    pour msqli_error() je ne l'ai pas utilisé car je ne sais pas comment faire.

    fichier "logiciel.php"
    Code html : 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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    <head>
    	<meta charset="UTF-8">
    	<title><?php echo $titre; ?></title>
    	<meta name="description" content="Controler et valider les saisies d'un formulaire d'inscription Web par le code client Javascript" />
    	<meta name="robots" content="index,follow" />
    	<meta http-equiv="content-language" content="fr" />
    	<link href='styles/mef_id.css' rel='stylesheet' type='text/css'>
    	<script src="js/v_inscr.js"></script>
     
    	<style type="text/css">
    .auto-style1 {
            font-size: large;
    }
    .auto-style2 {
            font-size: large;margin-left: 1%;
    }
    </style>
     
    </head>
     
    <?php
    include("commun/fonction.php");
    session_start();
    $modifie=0;
    global $num_ID, $num_IDM, $utiliSQL, $nombase, $serverbase, $mdpbase;
    $titre='depannage informatique';
    $num_ID = $_SESSION["numero"];
    $nomprenom = $_SESSION["nomprenom"];
     
    if ($modifie == 0) 
    {
        $historique = historique_Logiciel($num_ID);
    } 
     
    if (isset($_POST["nouveau"])&& ($_POST["nouveau"] == "soumettre")) 
    {
            //$ind_tab = existe_database_num_logiciel($num_ID);
            if(!isset($ind_tab["Log_Inst_Log"]))
                    {
                    $num_ID = insert_nouveau_logiciel($num_ID);
                    $ind_tab = existe_database_num_logiciel($num_ID);
                    
                    }
            else
                    {
                    echo "Ce logiciel est déjà dans la base";
                    }
    }
     
    if (isset($_POST["postId"]) && ($_POST["postId"] == "soumettre") ) 
    {
            
            /* Les données ont été saisies*/
        $ind_tab = mise_en_forme_logiciel($_POST);
            update_database_logiciel($ind_tab, $num_ID);
            /*relecture de la base*/
            $ind_tab = existe_database_num_logiciel($num_ID);
     
    }
     
     
     
    ?>
    <body>
     
    <?php
    include("index.php");   
    ?>
     
    <table class="div_inscript_logiciel" style="Margin-left:43%">
    	<tr>
    		<div>
    			<form id='ajout' name='ajout' method='post' action='' >
    				<tr>
    					<td>
    						<input type="hidden" id="nouveau" name="nouveau" value="soumettre" />
    						<input type='submit' class="bouton" style="width: 60%" value="Ajout d'un logiciel" />
    					</td>
    				</tr>
    			<form>
    		</div>
    	</tr>
    </table>
     
    <div class="div_conteneur_page" Style="width:500px;height:650px;margin-left:37%">
        <table style="font-size: 12px; font-weight:bold;text-align:center; width: 100%">
            <tr>
                <td><h1>Liste des logiciels installés sur le micro de</h1></td>
            <tr>
                <td style="font-size:18px; font-weight:bold"><?php echo $nomprenom ?> </td>
            </tr>
            </tr>
        </table>
        <br>
    	<form>
        	<table style="width: 56%; font-size:12px;text-align:center;margin-left:55px;margin-right:50px; height:2px" border=1 >
    	        <td><h2 style="font-size: large;width: 185px; padding:6px" >Logiciel installé</h2></td>
            	<td><h2 style="font-size: large;margin-left: 1%;width: 175px; padding:6px">Version</h2></td>
        	</table>
     
            <?php
            if ($historique != 0) 
            {
                foreach ($historique as $histo) 
                {
                ?>
                    <table style="width: 75%; text-align:center;margin-left:55px;margin-right:58px; height:2px" border=1 >
                        <tr>
    						<td style="width:1px">
    							<input type="hidden" id="log_id" name= "log_id[]" value="<?php echo $histo['Log_ID']; ?>"></p>
    						</td>
                            <td >
                                <p style="width: 2px"><?php php_select("logiciel", "log_inst_log[]", $histo['Log_Inst_Log']); ?></p>
                            </td>
    	                    <td >
                                <p style="width: 2px; font-weight: bold;font-size: 14px;text-align:center">
                                <input type="text" id="log_version" name= "log_version[]" value="<?php echo $histo['Log_Inst_Version']; ?>"></p>
                            </td>
                        </tr> 
                    </table>
                <?php
                }
            } 
                    ?>
            <tr>
    			<td style="margin-left:20%;text-align:center width: 30%">
    				<input type="hidden" id="postID" name="postID" value="soumettre" />
    				<input type='submit' class="bouton" style="width: 60%" value='Valider les modifications' />
    			</td>
    		</tr>
        </form>   
        </div>
    </body>

    et le fichier "fonction.php" contenant les fonctions appelé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
    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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    function insert_nouveau_logiciel($num_ID)
    {
      global $mdpbase, $nombase, $serverbase, $utiliSQL,$modifie;
      $liaison = mysqli_connect($serverbase, $utiliSQL, $mdpbase) or die("Acces a la base de donnee impossible !!!");
      mysqli_select_db($liaison, $nombase) or die("Accès à la base de donnée impossible !!!");
      $requete = "INSERT IGNORE INTO log_instal (Log_Inst_Log,Log_Inst_ID_Perso) VALUES (1, ".$num_ID.");";
      $retours = mysqli_query($liaison, $requete);
      $retour = mysqli_affected_rows($liaison);
      $num_ID = mysqli_insert_id($liaison);
      mysqli_close($liaison); 
      $modifie=1;
      return $num_ID;
    }
     
    function existe_database_num_logiciel($num)
    {
      global $mdpbase, $nombase, $serverbase, $utiliSQL;
      $liaison = mysqli_connect($serverbase, $utiliSQL, $mdpbase) or die("Acces a la base de donnee impossible !!!");
      mysqli_select_db($liaison, $nombase) or die("Accès à la base de donnée impossible !!!");
      $requete = "SELECT * FROM log_instal WHERE Log_Inst_ID_Perso = '" . $num . "';";
      $retours = mysqli_query($liaison, $requete);
      $retour = mysqli_fetch_array($retours);
     
      mysqli_close($liaison);
      return $retour;
    }
     
    function update_database_logiciel($ind_tab, $num_ID)
    {
      /* recherche du numero inscription*/
      global $mdpbase, $nombase, $serverbase, $utiliSQL;
      $utiliSQL = "root";
      $nombase = "intervention";
      $serverbase = "localhost";
      $mdpbase = "";
      $liaison = mysqli_connect($serverbase, $utiliSQL, $mdpbase) or die("Acces a la base de donnee impossible !!!");
      mysqli_select_db($liaison, $nombase) or die("Accès à la base de donnée impossible !!!");
      $requete = 'UPDATE log_instal
        SET Log_Inst_Log = "' . $ind_tab['Log_Inst_Log[]'] . '" ,
        Log_Inst_Version = "' . $ind_tab['Log_Inst_Version[]'] . '" ,
        WHERE Log_Inst_ID_Perso=' . $num_ID . ';';
      $retours = mysqli_query($liaison, $requete);
      return;
    }                                                      
     
    function mise_en_forme_logiciel($var)
    { 
      global $mdpbase, $nombase, $serverbase, $utiliSQL;
     
      $liaison = mysqli_connect($serverbase, $utiliSQL, $mdpbase) or die("Acces a la base de donnee impossible !!!"); //$_ENV['MYSQL_ROOT_PASSWORD']
      $ind_tab['Log_ID'] = $var["log_id"];
      $ind_tab['Log_Inst_Log'] = $var["log_inst_log"];
      $ind_tab['Log_Inst_ID_Perso'] = $var["log_inst_id_perso"];
      $ind_tab['Log_Inst_Version'] = mysqli_real_escape_string($liaison, strip_tags($var["log_version"]));
      return $ind_tab;
    }
     
    function php_select($nom_tab_sql, $name, $val_id)
    {
      global $mdpbase, $nombase, $serverbase, $utiliSQL;
      $liaison = mysqli_connect($serverbase, $utiliSQL, $mdpbase) or die("Acces a la base de donnee impossible !!!");
      mysqli_select_db($liaison, $nombase) or die("Accès à la base de donnée impossible !!!");
      $requete = "SELECT * FROM logiciel ORDER BY logiciel.Logiciel_Libel";
      $result = mysqli_query($liaison, $requete);
      $i = 1;
      while ($row = mysqli_fetch_row($result)) {
        $com1[$i] = $row[0];    
        $com2[$i] = $row[1];     
        $i++;
      }
      mysqli_close($liaison);
     
      echo '<select   required id="' . $name . '" name="' . $name . '"  style="border-radius: 5px;width: 170px; height: 20px; text-align:center; font-size:12px;font-weight:bold>';
      $i = 1;
      echo ' <option value="">' . 'Nom de Logiciel' . '</option>';
      for ($i = 1; $i <= count($com1); $i++) {
        if ($com1[$i] == $val_id) {
          $v = 'selected';
        } else {
          $v = '';
        }
        $cc = $com2[$i];
        $imp = '<option value="' . $com1[$i] . '"  ' . $v . '>' . $cc . '</option>';
        echo $imp;
      }
      echo '</select>';
    }
     
    function historique_Logiciel($num_ID)
    {
      global $mdpbase, $nombase, $serverbase, $utiliSQL;
      $liaison = mysqli_connect($serverbase, $utiliSQL, $mdpbase) or die("Acces a la base de donnee impossible !!!");
      mysqli_select_db($liaison, $nombase) or die("Accès à la base de donnée impossible !!!");
      //$requete = 'SELECT log_instal.Log_Inst_Log, log_instal.Log_Inst_Micro, log_instal.Log_Inst_Version,logiciel.Logiciel_Libel  FROM log_instal inner join logiciel 
    	//				ON log_instal.Log_Inst_Log = logiciel.Logiciel_ID
    	//				WHERE Log_Inst_ID_Perso = "' . $num_ID . '" ORDER BY logiciel_Libel DESC;';
      $requete = 'SELECT log_instal.Log_ID,log_instal.Log_Inst_Log, log_instal.Log_Inst_ID_Perso, log_instal.Log_Inst_Version From log_instal WHERE Log_Inst_ID_Perso = "' . $num_ID . '";';
     
     
      $result = mysqli_query($liaison, $requete) or die("problème avec la requète " . $requete);
      if (mysqli_num_rows($result) > 0) {
        // output data of each row
        $i = 0;
        while ($row = mysqli_fetch_assoc($result))
        {
          $historique[$i]["Log_ID"] = $row["Log_ID"];
          $historique[$i]["Log_Inst_Log"] = $row["Log_Inst_Log"];
          $historique[$i]["Log_Inst_ID_Perso"] = $row["Log_Inst_ID_Perso"];
          $historique[$i]["Log_Inst_Version"] = $row["Log_Inst_Version"];
          $i++;
        }
      }
      if (isset($historique)) {
        return $historique;
      } else {
        return 0;
      }
    }
     
    Mrci de bien vouloir m'aider

  8. #8
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Fais un print_r($_POST); pour comprendre ce que tu reçois de ton <form>.
    et après cela affichez le contenu des différents variables utilisées pour voir à quel moment une variable ne contient plus le contenu prévu.

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/08/2011, 11h13
  2. [AC-2007] Je n'arrive pas à faire des modif sur mon formulaire
    Par solaar dans le forum IHM
    Réponses: 6
    Dernier message: 18/07/2011, 21h14
  3. [AC-2007] Faire des modifs sur mon formulaire filtre.
    Par solaar dans le forum VBA Access
    Réponses: 2
    Dernier message: 21/12/2010, 14h29
  4. [MySQL] Faire un update si mon select retourne un résultat
    Par anonyme! dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/07/2009, 18h18
  5. [MySQL] Aide pour requete UPDATE depuis un formulaire checkbox
    Par craac dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 13/09/2007, 15h27

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