récupérer les valeurs de plusieurs

Eléphanteau du PHP | 21 Messages

20 juil. 2015, 10:21

Bonjour,

Je chercher à créer une table MySQL "CREATE TABLE..." à l'aide d'un formulaire édité sous forme de tableau :

Code : Tout sélectionner

event.preventDefault(); if($(this).val().length == 1) { counter++; var newRow = jQuery('<tr><td><input type="checkbox" name="col[]" class="checkbox1" id="" title="" /></td><td><input type="text" name="name[]" class="name" style="width:200px;" /></td><td><select name="dataType[]" class="dataType" style="outline: none; box-sizing: border-box; height: 24px; padding: 0px 2px 2px 0px; border: 1px solid transparent; border-radius: 1px; box-shadow: none; -webkit-appearance: none; font-size: 12px; font-family: Arial; width: 130px; background: rgb(234, 239, 249);"><option value="STRING" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Text (255)</option><option value="TEXT" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Text (64000)</option><option value="NUMBER" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Number</option><option value="INTEGER" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Integer</option><option value="CURRENCY" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Currency</option><option value="AUTONUMBER" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Autonumber</option><option value="DATE/TIME" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Date/Time</option><option value="YES/NO" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Yes/No</option><option value="FILE" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">File</option><option value="PASSWORD" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Password</option><option value="TIMESTAMP" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Timestamp</option></select></td><td><input type="checkbox" name="default_type[]" class="default_type" value="1" /><input type="hidden" name="default_type[]" value="0" /></td>'); jQuery('table.newTable').append(newRow); }
Le tableau est généré automatiquement avec jQuery.
Mais comment récupérer les valeurs de ces 3 tableaux pour créer ma requete mySQL par exemple :

Code : Tout sélectionner

CREATE TABLE test ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name dataType(value) default_type, name dataType(value) default_type, name dataType(value) default_type,...
J'ai créé un tableau multidimentionnel :

Code : Tout sélectionner

$columns = array($name, $dataType, $default_type);

Mais je bloque après.

Merci d'avance

Eléphant du PHP | 243 Messages

20 juil. 2015, 16:11

Bonjour,

Je n'ai pas saisi le réel problème.
Tu parles d'un tableau, mais qu'est ce qu'il y a à l'intérieur ? Le formulaire d'envoi ?
Quel tableau jQuery te génère-t-il ?
Et ma dernière interrogation porte sur la création de l'array "columns". A quoi sert-elle ?

Ton but est bien d'envoyer des données vers MySQL à l'aide de php ?

Désolé pour toutes ces questions mais je n'ai pas compris ton problème.
En attente de recevoir plus d'informations.
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini

Eléphanteau du PHP | 21 Messages

20 juil. 2015, 17:58

Bonjour,

Ce tableau me permet de créer automatiquement une table MySQL - voici le tableau :

Code : Tout sélectionner

<form name="form_createTable" id="form_createTable"> <table name="newTable" class="newTable" id="newTable"> <thead> <tr> <th><input type="checkbox" id="selectAll" /></th> <th>Nom</th> <th>Type de données</th> <th>Valeur NULL <a href="#"><span class="heydings_icons_9">i</span><span class="info">Une valeur null dans une base de données relationnelle est utilisée lorsque la valeur d'une colonne est inconnue ou manquante. Une valeur null n'est ni une chaîne vide (pour les types de données caractère ou datetime) ni une valeur zéro (pour les types de données numériques).</span></a></th> </tr> </thead> <tbody> <tr> <td> <span class="heydings_icons_13">s</span> </td> <td> <input type="text" name="name[]" class="name" style="width:200px;" /> </td> <td> <select name="dataType[]" class="dataType" style="outline: none; box-sizing: border-box; height: 24px; padding: 0px 2px 2px 0px; border: 1px solid transparent; border-radius: 1px; box-shadow: none; -webkit-appearance: none; font-size: 12px; font-family: Arial; width: 130px; background: rgb(234, 239, 249);"><option value="STRING" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Text (255)</option><option value="TEXT" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Text (64000)</option><option value="NUMBER" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Number</option><option value="INTEGER" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Integer</option><option value="CURRENCY" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Currency</option><option value="AUTONUMBER" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Autonumber</option><option value="DATE/TIME" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Date/Time</option><option value="YES/NO" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Yes/No</option><option value="FILE" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">File</option><option value="PASSWORD" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Password</option><option value="TIMESTAMP" style="font-family: Arial, sans-serif; font-size: 13px; padding: 0px 2px;">Timestamp</option></select> </td> <td> <input type="checkbox" name="default_type[]" class="default_type" value="1" /><input type="hidden" name="default_type[]" value="0"/> </td> </tr> </tbody> </table> </form>
Les lignes du tableaux sont générées automtiquement à l'aide de jQuery

ce tableau contient 3 tableaux : name, dataType, defaultType

Mon but est de créer la chaine de caractère suivante à l'ai dedes valeurs saisies dans les tableaux :

Code : Tout sélectionner

CREATE TABLE test ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name dataType(value) default_type, name dataType(value) default_type, name dataType(value) default_type,...
Merci

Eléphanteau du PHP | 21 Messages

20 juil. 2015, 18:14

Bonjour,

Je n'ai pas saisi le réel problème.
Tu parles d'un tableau, mais qu'est ce qu'il y a à l'intérieur ? Le formulaire d'envoi ?
Quel tableau jQuery te génère-t-il ?
Et ma dernière interrogation porte sur la création de l'array "columns". A quoi sert-elle ?

Ton but est bien d'envoyer des données vers MySQL à l'aide de php ?

Désolé pour toutes ces questions mais je n'ai pas compris ton problème.
En attente de recevoir plus d'informations.

Hello

How can I combine in a loop ""foreach" values of different arrays to built a string in php
I have 3 arrays :

Code : Tout sélectionner

array name( [0]=>first_name [1]=>last_name [2]=>title) array dataType( [0]=>VARCHAR(30) [1]=>VARCHAR(30) [2]=>VARCHAR(15) ) array defaultType( [0]=>NOT NULL [1]=>NOT NULL [2]=>NULL)
from all these values , how can I create the following mySQL request :
CREATE TABLE test (

Code : Tout sélectionner

id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, title VARCHAR(15), NULL
i


Thanks
Joce

Eléphant du PHP | 243 Messages

20 juil. 2015, 20:50

Mon but est de créer la chaine de caractère suivante à l'ai dedes valeurs saisies dans les tableaux :

Code : Tout sélectionner

CREATE TABLE test ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name dataType(value) default_type, name dataType(value) default_type, name dataType(value) default_type,...
Merci
Je crois que je commence à comprendre ce que tu cherches à faire. Mais tu souhaites que ta page insert des données dans ta BDD MySQL ( avec la fonction php "INSERT INTO ..." ) ou alors que ta page ne te traduise que les lignes pour insérer du code.
Dans le second cas, le php n'est pas très utile.
En effet, tu peux utiliser du javascript qui va permettre de traduire tes données sous la forme que tu attends.

Par exemple, tu peux mettre un bouton "Valider" qui va appeler une fonction javascript. Une fois cette fonction Javascript appelé, celle-ci va traduire les données de ton tableau pour te les ressortir sous forme "brute" (à la façon "CREATE TABLE .....").

Si c'est bien ça que tu cherches à faire et que tu as des questions, n'hésite pas.
Par contre, si je suis complètement hors sujet, préviens moi quand même :D

Ah oui, j'ai pu remarquer que tu avais rédigé un message en anglais. Cela ne me dérange pas de te répondre en anglais, mais comme nous sommes sur un forum français, je préfère que l'on continue à communiquer par cette langue.

Bonne soirée,
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini

Eléphanteau du PHP | 21 Messages

21 juil. 2015, 06:16

Mon but est de créer la chaine de caractère suivante à l'ai dedes valeurs saisies dans les tableaux :

Code : Tout sélectionner

CREATE TABLE test ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name dataType(value) default_type, name dataType(value) default_type, name dataType(value) default_type,...
Merci
Je crois que je commence à comprendre ce que tu cherches à faire. Mais tu souhaites que ta page insert des données dans ta BDD MySQL ( avec la fonction php "INSERT INTO ..." ) ou alors que ta page ne te traduise que les lignes pour insérer du code.
Dans le second cas, le php n'est pas très utile.
En effet, tu peux utiliser du javascript qui va permettre de traduire tes données sous la forme que tu attends.

Par exemple, tu peux mettre un bouton "Valider" qui va appeler une fonction javascript. Une fois cette fonction Javascript appelé, celle-ci va traduire les données de ton tableau pour te les ressortir sous forme "brute" (à la façon "CREATE TABLE .....").

Si c'est bien ça que tu cherches à faire et que tu as des questions, n'hésite pas.
Par contre, si je suis complètement hors sujet, préviens moi quand même :D

Ah oui, j'ai pu remarquer que tu avais rédigé un message en anglais. Cela ne me dérange pas de te répondre en anglais, mais comme nous sommes sur un forum français, je préfère que l'on continue à communiquer par cette langue.

Bonne soirée,


Re-bonjour,

J'ai trouvé la solution que je partage avec la communauté :

Code : Tout sélectionner

foreach ($name as $key=>$value) { $fields[] = $value . ' ' . $dataType[$key] . ' ' . $DefaultType[$key]; } $sql = "CREATE TABLE test ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY," . implode (',', $fields)." )";
Je suis quand même curieuse de savoir comment javascript peut traduire les valeurs saisies dans mon tableau.

Merci :D

Eléphant du PHP | 243 Messages

21 juil. 2015, 16:05

Oh là là, j'étais partis dans le mauvais sens.
Si c'est Résolu, bouton résolu en haut à gauche :)
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini