Prob avec boucle while

Stu76
Invité n'ayant pas de compte PHPfrance

14 févr. 2008, 20:36

Bonjour,

Je voudrais faire un code qui me permet de faire de multiple enregistrement à partir d'un formulaire. En clair au lieu d'avoir un formulaire égal un enregistrement, je voudrai un formulaire égale x enregistrement.

Plus simple voici un bout de code pour que vous compreniez mieux ce à quoi je voudrai arriver.
<?php
        //Connexion à la base de données normalement dans un fichier config
        $hostname_test = "localhost";
        $database_test = "test2008";
        $username_test = "root";
        $password_test = "bibi";
        $test = mysql_pconnect($hostname_test, $username_test, $password_test) or trigger_error(mysql_error(),E_USER_ERROR);

//Connexion à ma base

mysql_select_db($database_test, $test);

//initialisation de mon compteur
$comp = 1;


//Cette partie de code fonctionne nickel
echo'   <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
        <td colspan="4"><div align="center"><h1>test 2008</H1></div><BR></td>
        </tr>
        <tr>
        <form method="post" action="'.$_SERVER['PHP_SELF'].'">';
        while ($comp <= 5) //exemple pour cinq fois
                {
                echo '<input type="text" size="15" name="nom-'.$index.'" value=""><br>';//Champs de mon formulaire que j'index pour faciliter
                                                                                        //l'enregistrement dans ma base de données
                $comp++;//Incrémentation du compteur $comp
                $index++;//Incrémentation du compteur $index
                }
        echo '<input type="submit" value="Modifier"/>
              </form>
              </tr>
              </table>';
//Celle-ci foire total grave

while (isset ($_POST['nom-'.$index]))
        {
        $sql_test = 'INSERT INTO enregistrer VALUES(nom = '.$_POST['nom-'.$index].')';//enregistrement dans ma base
        echo $_POST['nom-'.$index];
        $index++;
        }

?>
Merci d'avance à tous ceux qui se pencherons sur mon prob, attention je ne demande pas la solution mais simplement des pistes de travail.

++

Stu76

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

14 févr. 2008, 22:11

Bonjour,

Je ne suis pas sur d'avoir compris ta question: qu'entends tu par "un formulaire égale x enregistrement"?

Si tu veux faire plusieurs enregistrements MySQL dans ta BDD après l'envoi du formulaire il suffit de mettre plusieurs mysql_query(); les uns à la suite des autres...
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 804 Messages

15 févr. 2008, 10:28

Tu ne va quand même pas créer un tableau html et un formulaire par enregistrement ? :shock:

Fais ton formulaire avec ta requête à l'intérieur :wink:

autant pour moi je n'avais pas les yeux en face des trous :wink:

Mammouth du PHP | 804 Messages

15 févr. 2008, 10:41

// tu mets en tableau dans ta premiereboucle
$futurinsert .= "('nom-".$index."'),";
//tu vire la virgule en trop
$futurinsert = substr($futurinsert,0,strlen($futurinsert)-1);
// et tu fais t requete finale
$query=mysql_query("INSERT INTO enregistrer (nom) VALUES $futurinsert");