Pre-remplir les champs d'un formulaire PHP
ranlaris
-
clintm Messages postés 718 Statut Membre -
clintm Messages postés 718 Statut Membre -
Bonjour,
je voudrais creer une page php avec un formulaire mais je galère méchament
voici mes contraintes.
J'ai une table A dont je voudrais recuperer le noms pour creer un profil engeristré dans une table B constitué de la liste de tous les profils, par ordre d'id de la table A
ces profils doivent apparaitre dans un formulaire donc le nombre de champs dépends du nombre d'ID. Chaque champs doit être préremplit avec le nom de chaque profil dans l'ordre.
pour l'instant, j'en suit là :
<?
include(load_lang($user_lang)) ;
if ( $admin == 0 ) exit ;
$connexion = mysql_connect("$sql_host","$sql_user","$sql_pass");
$db = mysql_select_db("$sql_db", $connexion);
$profils_tab = array() ;
$id_max = "SELECT MAX(id) `vis_profil` ";
echo "<h1>Creation d'un cycle par defaut</h1>\n" ;
if ( $ok == 1 ) { print "<p>OK !</p>\n" ; }
if ( $err == 1 ) { print "<p>Erreur !</p>\n" ; }
if ( ! $connexion || ! $db)
{
echo "<p>ERREUR DE CONNEXION</p>\n";
exit ;
}
/* RECUPERATION DES PROFILS EXISTANTS */
$query = "SELECT * FROM `vis_profil` ORDER BY `id_profil` ASC ";
if ( ! ($profils_sql = mysql_query($query,$connexion)) )
{
echo "<p>ERREUR DE REQUETE</p>\n";
mysql_close($connexion) ;
exit() ;
}
//Utiliser cette boucle pour remplir les options de la liste des profils
$profils_options = "<option value=\"\">-- selectionnez --</option>";
for ( $i=0 ; $i<mysql_num_rows($profils_sql) ; $i++ )
{
$id_profil_temp = mysql_result($profils_sql,$i,"id_profil") ;
$name_temp = mysql_result($profils_sql,$i,"name") ;
$profils_options .= "<option value=\"$id_profil_temp\">$name_temp</option>" ;
}
mysql_free_result($profils_sql) ;
/* FIN */
/* AFFICHAGE DU FORMULAIRE SI PROFILS */
if ( $profils_options == "<option value=\"\">-- sélectionnez --</option>" )
{
echo "<p>Desole, aucun profil !</p>\n" ;
}
else
{
echo "<form action=\"add_line.php\" method=\"post\">\n" ;
echo "<p><b>Name : </b> <input type=\"text\" name=\"name\" size=\"16\" value=\"$NAME_UPDATE\" /></p>\n" ;
//Afficher plusieurs fois la liste des profils
for ( $pos=1 ; $pos <= $id_max ; $pos++ )
{
echo "<p><b>POS $pos</b> --> Profil :
<select name=\"profil_${pos}\">" . $profils_options . "</select>";
//selection du sleep
echo"<label for=\"\">\"temps de pause\"</label><br />";
echo"<select name=\"sleep\" id=\"sleep\">";
echo"<option value=\"15\">15</option>";
echo "</select></p>\n" ;
}
}
echo "<p><input type=\"submit\" value=\"ajouter\" /></p>\n" ;
echo "</form>\n" ;
echo "<p><a href=\"configure_cycle.php\">[Annuler]</a></p>\n" ;
?>
et ma fonction d'ajout
function insertsleep() {
$name=$_POST["name"];
$pos=$_POST["POS"];
$sleep=$_POST["sleep"];
mysql_query("insert into vis_cycle values('','','$name','$pos','$sleep','','')");
header("Location: create_cycle.php");
}
je ne comprends pas pourquoi, mais je n'ai aucun champ qui s'affiche a part le champs "name"
de plus, mon enregistrement doit de faire de sorte d'avoir dans une seule cellule de ma table les ID des profils a la suite les un des autres. Je sais que je doit utiliser "implode" mais je n'arrive pas a l'utiliser
quelqu'un pour m'aider s'il vous plait ??? éè
merci !!!!
je voudrais creer une page php avec un formulaire mais je galère méchament
voici mes contraintes.
J'ai une table A dont je voudrais recuperer le noms pour creer un profil engeristré dans une table B constitué de la liste de tous les profils, par ordre d'id de la table A
ces profils doivent apparaitre dans un formulaire donc le nombre de champs dépends du nombre d'ID. Chaque champs doit être préremplit avec le nom de chaque profil dans l'ordre.
pour l'instant, j'en suit là :
<?
include(load_lang($user_lang)) ;
if ( $admin == 0 ) exit ;
$connexion = mysql_connect("$sql_host","$sql_user","$sql_pass");
$db = mysql_select_db("$sql_db", $connexion);
$profils_tab = array() ;
$id_max = "SELECT MAX(id) `vis_profil` ";
echo "<h1>Creation d'un cycle par defaut</h1>\n" ;
if ( $ok == 1 ) { print "<p>OK !</p>\n" ; }
if ( $err == 1 ) { print "<p>Erreur !</p>\n" ; }
if ( ! $connexion || ! $db)
{
echo "<p>ERREUR DE CONNEXION</p>\n";
exit ;
}
/* RECUPERATION DES PROFILS EXISTANTS */
$query = "SELECT * FROM `vis_profil` ORDER BY `id_profil` ASC ";
if ( ! ($profils_sql = mysql_query($query,$connexion)) )
{
echo "<p>ERREUR DE REQUETE</p>\n";
mysql_close($connexion) ;
exit() ;
}
//Utiliser cette boucle pour remplir les options de la liste des profils
$profils_options = "<option value=\"\">-- selectionnez --</option>";
for ( $i=0 ; $i<mysql_num_rows($profils_sql) ; $i++ )
{
$id_profil_temp = mysql_result($profils_sql,$i,"id_profil") ;
$name_temp = mysql_result($profils_sql,$i,"name") ;
$profils_options .= "<option value=\"$id_profil_temp\">$name_temp</option>" ;
}
mysql_free_result($profils_sql) ;
/* FIN */
/* AFFICHAGE DU FORMULAIRE SI PROFILS */
if ( $profils_options == "<option value=\"\">-- sélectionnez --</option>" )
{
echo "<p>Desole, aucun profil !</p>\n" ;
}
else
{
echo "<form action=\"add_line.php\" method=\"post\">\n" ;
echo "<p><b>Name : </b> <input type=\"text\" name=\"name\" size=\"16\" value=\"$NAME_UPDATE\" /></p>\n" ;
//Afficher plusieurs fois la liste des profils
for ( $pos=1 ; $pos <= $id_max ; $pos++ )
{
echo "<p><b>POS $pos</b> --> Profil :
<select name=\"profil_${pos}\">" . $profils_options . "</select>";
//selection du sleep
echo"<label for=\"\">\"temps de pause\"</label><br />";
echo"<select name=\"sleep\" id=\"sleep\">";
echo"<option value=\"15\">15</option>";
echo "</select></p>\n" ;
}
}
echo "<p><input type=\"submit\" value=\"ajouter\" /></p>\n" ;
echo "</form>\n" ;
echo "<p><a href=\"configure_cycle.php\">[Annuler]</a></p>\n" ;
?>
et ma fonction d'ajout
function insertsleep() {
$name=$_POST["name"];
$pos=$_POST["POS"];
$sleep=$_POST["sleep"];
mysql_query("insert into vis_cycle values('','','$name','$pos','$sleep','','')");
header("Location: create_cycle.php");
}
je ne comprends pas pourquoi, mais je n'ai aucun champ qui s'affiche a part le champs "name"
de plus, mon enregistrement doit de faire de sorte d'avoir dans une seule cellule de ma table les ID des profils a la suite les un des autres. Je sais que je doit utiliser "implode" mais je n'arrive pas a l'utiliser
quelqu'un pour m'aider s'il vous plait ??? éè
merci !!!!
A voir également:
- Pre-remplir les champs d'un formulaire PHP
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Organigramme a remplir word - Guide
- Comment remplir un formulaire pdf - Guide
- Formulaire de reclamation instagram - Guide