Bonjours à tous,

Je vous explique mon probléme : Je ne trouve pas comment faire afin, de sélectionner le nom d'une table dans plusieurs lignes d'une table SQL.

Voici la structure :

Nom : 1.png
Affichages : 867
Taille : 38,2 Ko

Je veut donc en PHP sélectionner les noms de la colonne "Arexx_Table", et modifier le nom de ces tables correspondantes.
Eexemple : J'ai dans la colonne "Arexx_Table" à la ligne pour index 14 le nom "Capt_paille" si je le modifie à partir de mon tableau en "Capt_étage" Je veut non seulement modifier le nom de la table mais aussi le nom dans la colonne "Arexx_Table" de ma table tp_arexx_capteurs.

Voici mon tableau éditable :

Nom : 2.png
Affichages : 607
Taille : 45,5 Ko

J'ai un code PHP qui me permet de faire cela mais pour la suppréssion c'est à a dire que je récupére les checkbox qui sont cochées, puis je sélectionne ensuite les noms de la colonne "Arexx_Table" correspondant au checkbox que j'ai cochée, ensuite je supprime la table liée, puis enfin la ligne correspondante dans la table "tp_arexx_capteurs" or moi je voudrais la même chose mais en modifiant les noms.


Voici de code :

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
<html>
<body>
<head>
</head>
<?php
 
/* ------------------ CASE A COCHER ------------------ */
/* ------------------ CASE A COCHER ------------------ */
error_reporting(E_ALL ^ E_DEPRECATED); //pas d'affichage error deprecated ! 
// connexion à la Bae de Données
$mysql_user="admin";
$mysql_password="admin";
$reqco = mysql_connect("localhost",$mysql_user,$mysql_password) or die('Erreur de connexion '.mysql_error());
// sélection de la BDD
$reqse = mysql_select_db("tp_arexx",$reqco) or die('Erreur de SELECT BDD '.mysql_error());
 
// --------------------------------------------------
// RECUPERATION / ENREGISTREMENT en BdD
 
if (isset($_POST['champ'])) {
for ($i=0;$i<sizeof($_POST['champ']);$i++) {
 
$champ[$i] = $_POST['champ'][$i];
$numero_article1 = $_POST['champ'][$i];
 	$query3 = mysql_query("SELECT `Arexx_Table` FROM `tp_arexx_capteurs` WHERE `Arexx_Table`='$numero_article1'");
$result_donnees3=mysql_fetch_array($query3);
 
$query1 = "DROP TABLE IF EXISTS . `$champ[$i]`";
$result1 = mysql_query($query1)  or die("Erreur SQL ! ".$query1."<br/>".mysql_error());
 
mysql_free_result($result1);
    // suppression des lignes
    $delete =  'DELETE FROM tp_arexx_capteurs WHERE Arexx_Table in('.implode(',',$numero_article1).')';
	$req2 = mysql_query($delete)or die('Erreur de DELETE '.mysql_error());
 
    }
}
exit;
 ?>
 </body>
 </html>
Dans ce code je récupère les checkbox, or moi je veut récupéré des inputs j'y arrive avec ce code ci dessous, j'arrive bien à modifier Toutes les lignes de la table "tp_arexx_capteurs" y compris la colonne "Arexx_Table" mais seulement j'arrive pas a modifier le nom de la table liée !

Code de la modification des noms :

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
if(!empty($_POST['arexxname']) && !empty($_POST['arexxid']) && !empty($_POST['arexxtype']) && !empty($_POST['arexxtable'])  ){
 
 
	// pour CHAQUE LIGNE : 
	// on va ICI boucler sur l'array() "nom" :
	foreach( $_POST['arexxname'] as $ii => $val ) 
	{
 
		// $ii est l'index de CETTE ligne de l'array $_POST['nom']
		// comme CHAQUE array() contient le même nombre de valeurs, $ii est AUSSI l'index des autres array() pour CETTE ligne : 
 
		// pour CHAQUE champs : récupération des valeurs de la ligne + protection contre injection SQL !
 
 
if(isset($_POST['arexxname']))      $val_nom = mysql_real_escape_string($_POST['arexxname'][$ii]); // ou, ICI :  mysql_real_escape_string($val);
else       $val_nom="arexxname";
 
if(isset($_POST['arexxid']))      $val_id = mysql_real_escape_string($_POST['arexxid'][$ii]);
else     $val_id="arexxid";
 
if(isset($_POST['arexxtype']))     $val_type = mysql_real_escape_string($_POST['arexxtype'][$ii]);
else   $val_type="arexxtype";
 
if(isset($_POST['arexxtable']))     $val_table = mysql_real_escape_string($_POST['arexxtable'][$ii]); 
else     $val_table="arexxtable";
 
if(isset($_POST['arexxindex']))     $val_index = mysql_real_escape_string($_POST['arexxindex'][$ii]); 
else     $val_index="arexxindex";	
 
 
 
		// pour CETTE ligne, tous les champs sont obligatoires (doivent être remplis)
		if(!empty($val_nom) && !empty($val_id) && !empty($val_type) && !empty($val_table) && !empty($val_index)  ){
 
 
 
 
// ICI JE VEUT DONC RECUPERER LES NOMS D LA COLONNE "Arexx_Table" ET MODIFIER LE NOM DE CES TABLES PAR CE QUI YA DANS MES INPUTS 
// PUIS PAR LA SUITE JE MODIFIE LES LIGNE DANS LA TABLE "tp_arexx_capteurs" AVEC LES NOUVELLES VALEURS DES INPUTS CE QUI FONCTIONNE.
 
			$sql_insert = "UPDATE `tp_arexx_capteurs` 
				 SET `Arexx_Id` = '$val_id',
				`Arexx_Type` = '$val_type', 
				`Arexx_Table` = '$val_table', 
				`Arexx_Name` = '$val_nom' WHERE `Arexx_index`= $val_index";
			// pour CETTE ligne, on INSERE les informations du formulaire dans la table 
			mysql_query($sql_insert) or die('Erreur SQL !'.$sql_insert.'<br>'.mysql_error()); 
 
 
 
 
		}
 
	}
 
 
}
Un grand merci à vous tous !