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 :
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 :
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 :
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 : 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>
Code de la modification des noms :
Un grand merci à vous tous !
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()); } } }
Partager