Php create table avec boucle
ca_mouss_un_mouss
-
grofwa Messages postés 440 Date d'inscription Statut Membre Dernière intervention -
grofwa Messages postés 440 Date d'inscription Statut Membre Dernière intervention -
salut les jsunes,
j'ai crée un formulaire permettant de concevoir une table en recupérant le nombre de champ et le nom de la table par la methode POST. j'arrive sur une seconde page qui permet de concevoir un tableau avec des champs text(un pour le nom(champ), le type, la taille) :
for ($i=1;$i<$nb_champs+1;$i++)
{
echo '<tr><td>Champ';
echo "$i";
echo ' : <input type="text" name="champ'.$i.'"><p></td>';
echo '<td>
<select size="1" name="type'.$i.'">
<option>VARCHAR</option>
<option>TEXT</option>
<option>DATE</option>
<option>INT</option>
<option>FLOAT</option>
</select><p></td>';
echo '<td><input type="text" name="taille'.$i.'"><p></td></tr>';
}
?>
je souhaite ensuite créer la requete permettant de créer la table. Problème!!! une partie est fixe le "CREATE TABLE...." et une partie est dans une boucle le NOMCHAMP TYPE TAILLE car je repete ces trois champs autant de fois que j'ai de champs!! COMMENT GERER LA BOUCLE FOR DANS LA REQUETE ??
est ce possible :
$requete="CREATE TABLE '".$_POST["ma_table"]."'
for ($j=0;$j<$nombre_champ;$j++)
{
suis pas clair dsl:s c dur a expliquer :'(
j'ai crée un formulaire permettant de concevoir une table en recupérant le nombre de champ et le nom de la table par la methode POST. j'arrive sur une seconde page qui permet de concevoir un tableau avec des champs text(un pour le nom(champ), le type, la taille) :
for ($i=1;$i<$nb_champs+1;$i++)
{
echo '<tr><td>Champ';
echo "$i";
echo ' : <input type="text" name="champ'.$i.'"><p></td>';
echo '<td>
<select size="1" name="type'.$i.'">
<option>VARCHAR</option>
<option>TEXT</option>
<option>DATE</option>
<option>INT</option>
<option>FLOAT</option>
</select><p></td>';
echo '<td><input type="text" name="taille'.$i.'"><p></td></tr>';
}
?>
je souhaite ensuite créer la requete permettant de créer la table. Problème!!! une partie est fixe le "CREATE TABLE...." et une partie est dans une boucle le NOMCHAMP TYPE TAILLE car je repete ces trois champs autant de fois que j'ai de champs!! COMMENT GERER LA BOUCLE FOR DANS LA REQUETE ??
est ce possible :
$requete="CREATE TABLE '".$_POST["ma_table"]."'
for ($j=0;$j<$nombre_champ;$j++)
{
suis pas clair dsl:s c dur a expliquer :'(
A voir également:
- Php create table avec boucle
- Table ascii - Guide
- Table des matières word - Guide
- Easy php - Télécharger - Divers Web & Internet
- Table des caractères - Guide
- Mon pc s'allume et s'éteint en boucle - Forum Matériel & Système
10 réponses
Ben oui, c'est l'idée.
Dans ta boucle, tu récupères un à un les champs, concatène avec le type et éventuellement la longueur du champ.
Ca coince où ?
Michael.
Dans ta boucle, tu récupères un à un les champs, concatène avec le type et éventuellement la longueur du champ.
Ca coince où ?
Michael.
tjrs mouss
c'est dans la requete que ca coince dans les boucles
Comprends pas trop où est ton problème...
du moins dans les grandes lignes :-)
$requete="CREATE TABLE '".$_POST["ma_table"]." (' for ($j=0;$j<$nombre_champ;$j++) { $requete .= 'champ' . $j . ' ' . $_POST['type' . $j] . ' ' . $_POST['taille' . $j] } $requete .= ')'
du moins dans les grandes lignes :-)
la partie create table n'est pas dans la boucle mais comment insérer une boucle au milieu d'une requete !!
g create table TABLE1
(champ1, type1, taille1
champ2, type2, taile2..... onc il faut intégrer la boucle for dans la requete pour affichier les champs champ$i, taille $i, type$i!!!
et ca plante :
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in f:\projet_admin_prenium\administration_medium\concevoir_table.php on line 18
g create table TABLE1
(champ1, type1, taille1
champ2, type2, taile2..... onc il faut intégrer la boucle for dans la requete pour affichier les champs champ$i, taille $i, type$i!!!
et ca plante :
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in f:\projet_admin_prenium\administration_medium\concevoir_table.php on line 18
Ben, fais comme j'ai mis ci-dessus... ta requête, c'est une variable. Tu peux donc la remplir en plusieurs passes au sein d'une boucle.
sinon, fais voir ton code que je jette un coup d'oeil.
sinon, fais voir ton code que je jette un coup d'oeil.
<?
$table = $_POST['ma_table'];
$nombre_champ = $_POST['nbr_champ'];
include ("connecter.php");
if (!$connexion)
{
echo "Impossible de se connecter a la base de données!!";
}
else if (! mysql_select_db($bdd,$connexion))
{
echo "La selection de la base de données est impossible!";
}
else{
$requete="CREATE TABLE '".$_POST["ma_table"]." ('
for ($j=0;$j<$nombre_champ;$j++)
{
$requete .= 'champ' . $j . ' ' . $_POST['type' . $j] . ' ' . $_POST['taille' . $j]
}
$requete .= ')";
$execute=mysql_query($requete);
}
?>
<body bgcolor="#FF9966">
<table border="0" align="center">
<tr>
<td><hr></td>
</tr>
<tr>
<?echo "<td>Vous venez de créer la table $table</td>";?>
</tr>
<tr>
<td><hr></td>
</tr>
</table>
$table = $_POST['ma_table'];
$nombre_champ = $_POST['nbr_champ'];
include ("connecter.php");
if (!$connexion)
{
echo "Impossible de se connecter a la base de données!!";
}
else if (! mysql_select_db($bdd,$connexion))
{
echo "La selection de la base de données est impossible!";
}
else{
$requete="CREATE TABLE '".$_POST["ma_table"]." ('
for ($j=0;$j<$nombre_champ;$j++)
{
$requete .= 'champ' . $j . ' ' . $_POST['type' . $j] . ' ' . $_POST['taille' . $j]
}
$requete .= ')";
$execute=mysql_query($requete);
}
?>
<body bgcolor="#FF9966">
<table border="0" align="center">
<tr>
<td><hr></td>
</tr>
<tr>
<?echo "<td>Vous venez de créer la table $table</td>";?>
</tr>
<tr>
<td><hr></td>
</tr>
</table>
amon avis manque un point virgule ici
$requete .= 'champ' . $j . ' ' . $_POST['type' . $j] . ' ' . $_POST['taille' . $j]puis met un espace avant champ sinon les mots vont etre collés
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ouais bon, c'est une histoire de ' et "...
$requete="CREATE TABLE '".$_POST["ma_table"]." ("
for ($j=0;$j<$nombre_champ;$j++)
{
$requete .= 'champ' . $j . ' ' . $_POST['type' . $j] . ' ' . $_POST['taille' . $j]
}
$requete .= ")";
corrige deja avec ceci...
$requete="CREATE TABLE '".$_POST["ma_table"]." ("
for ($j=0;$j<$nombre_champ;$j++)
{
$requete .= 'champ' . $j . ' ' . $_POST['type' . $j] . ' ' . $_POST['taille' . $j]
}
$requete .= ")";
corrige deja avec ceci...
g un message d erreur :
Parse error: parse error in f:\projet_admin_prenium\administration_medium\concevoir_table.php on line 16
l16 c la ligne du for
Parse error: parse error in f:\projet_admin_prenium\administration_medium\concevoir_table.php on line 16
l16 c la ligne du for
maintenant gun bug ligne 18 ($requete....)
$requete="CREATE TABLE '".$_POST["ma_table"]." (";
for ($j=0;$j<$nombre_champ;$j++)
{
$requete .= ' . $_POST['champ' . $j] . ' ' . $_POST['type' . $j] . ' ' . $_POST['taille' . $j];
}
$requete .= ")";
}
$requete="CREATE TABLE '".$_POST["ma_table"]." (";
for ($j=0;$j<$nombre_champ;$j++)
{
$requete .= ' . $_POST['champ' . $j] . ' ' . $_POST['type' . $j] . ' ' . $_POST['taille' . $j];
}
$requete .= ")";
}
$requete .= ' '. $_POST['champ' . $j] ...
derniere fois :
Notice: Undefined index: champ0 in f:\projet_admin_prenium\administration_medium\concevoir_table.php on line 18
Notice: Undefined index: type0 in f:\projet_admin_prenium\administration_medium\concevoir_table.php on line 18
Notice: Undefined index: taille0 in f:\projet_admin_prenium\administration_medium\concevoir_table.php on line 18
Notice: Undefined index: champ0 in f:\projet_admin_prenium\administration_medium\concevoir_table.php on line 18
Notice: Undefined index: type0 in f:\projet_admin_prenium\administration_medium\concevoir_table.php on line 18
Notice: Undefined index: taille0 in f:\projet_admin_prenium\administration_medium\concevoir_table.php on line 18