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 : 242
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 : 223
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