Prob php

Fermé
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 - 21 oct. 2008 à 00:59
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 - 24 oct. 2008 à 15:56
Bonsoir tt le monde!!

je me bloque depuis un bout de temps sur un prob d'enregistrement dans ma base de données!! en fait mon application est sous php et mysql !!je dois récupérer un ensemble de données et l'envoyer d'un seul coup à ma base de données!! ces données doivent se dirriger vers la même table de ma bd!!
si quelqu'un à une idée pour m'aider à régler ce prob je le serai très reconnaissante
merci
A voir également:

14 réponses

Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
21 oct. 2008 à 10:38
un simple mysql_query(), mais sans code je ne peux pas t'aider.
-1
tomdiato Messages postés 147 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 9 novembre 2008 7
21 oct. 2008 à 11:42
Est-ce que ce que tu veux dire c'est que tu as par exemple des champs de formulaires à enregistrer en même temps dans la même table et le même champ dans la base de données ?

Le mieux c'est quand même d'envoyer du code pour qu'on te réponde... Surtout que si j'ai ben compris j'ai une solution pour toi !
-1
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 1
21 oct. 2008 à 13:37
bonjour!

je tiens tt d'abord à vous remercier pour votre intérêt!
en fait mon application est une gestion des cv! donc l'utilisateur passe par un certain nombre de formulaires traitant toutes ses informations que ça soit personnelles ou professionnelles!!
le prob qui se pose c'est que au niveau par exemple de mon formulaire "formation" l'utilisateur peut le remplir autant de fois qu'il veut jusqu'à arriver à mentionner toutes ses formations! une fois il termine il clique sur un bouton "terminer" et il trouve un aperçu de tout ce qu'il vient de remplir, au niveau de cet aperçu on a un autre bouton "enregistrer" qui permet d'envoyer la totalité des infos à la base!!
et voila j'éspere que j'étais claire mnt! mon prob est au niveau du bouton "enregister"

merci et bonne journée
-1
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
21 oct. 2008 à 14:01
Si tu réussis à tout afficher, c'est que tu as le contenu.

Plusieurs solutions possibles mais sans le code, je ne sais pas comment tu stockes les informations des saisies précédentes quand l'utilisateur resaisie le formulaire une 2ème fois.

Si c'est des champs cachés, tu les submit avec ton bouton pour qu'il soit traités.

Mais je le redis, un bout de code pourrait aider.
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tomdiato Messages postés 147 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 9 novembre 2008 7
21 oct. 2008 à 14:42
oui si tu arrves à les affiicher, c'est très simple de les enregistrer dans la bdd avec une commande "INSERT INTO nom de la table VALUES (toutes les valeurs)
-1
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 1
21 oct. 2008 à 15:25
re bonjour!!

avec insert into ca marche seuelemnt pour le dernier enregistrement saisi, les autres ne sont pas envoyés à la base de données!!
je vais vous envoyer mon code ce soir car j'ai séance de cours maintenant!! peut être en ayant le script sous les yeux vous seriez aptes à m'aider!!

merci encore une fois pour votre intérêt à ce soir

bonne journée
-1
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 1
22 oct. 2008 à 21:58
bonsoir !!
désolée pour le retard je sais bien que je devais mettre le code hier soir :)!!
voila vous trouverez ci-dessous le code php qui permet de conserver toutes les saisies de l'utilisateur concernant ses formations avant de passer à l'étape d'enregistrement dans ma base là où je me bloque:
je vais pas mettre mon code xhtml car ca va être trop long donc je vais me contenter des scripts php

<?php

if(isset($_POST['page'])){
$page=$_POST['page'];
}else{
$page=1;
}
$index=$page-2; //index pour enr de la page precedente dans array

//init des variables mémorisation dans des array et memo des champs des diff pages
//et transformation en chaine avec separateur | pour passage en hidden (on ne peut pas passer d'array)
if(isset($_POST['memo1'])){
$array_memo1=explode("|",$_POST['memo1']); //on transforme la chaine reçue en champ caché en un array
$array_memo1[$index]=$_POST['niveau_etud']; // on y rajoute le champ
$memo1=implode("|",$array_memo1); // on retransforme en chaine avec | comme séparateur entre les diff valeurs pour passage en champ caché
}else{
$memo1="";
}
if(isset($_POST['memo2'])){
$array_memo2=explode("|",$_POST['memo2']);
$array_memo2[$index]=$_POST['perio_mois'];
$memo2=implode("|",$array_memo2);
}else{
$memo2="";
}
if(isset($_POST['memo3'])){
$array_memo3=explode("|",$_POST['memo3']);
$array_memo3[$index]=$_POST['perio_annee'];
$memo3=implode("|",$array_memo3);
}else{
$memo3="";
}
if(isset($_POST['memo4'])){
$array_memo4=explode("|",$_POST['memo4']);
$array_memo4[$index]=$_POST['perio2_mois'];
$memo4=implode("|",$array_memo4);
}else{
$memo4="";
}
if(isset($_POST['memo5'])){
$array_memo5=explode("|",$_POST['memo5']);
$array_memo5[$index]=$_POST['perio2_annee'];
$memo5=implode("|",$array_memo5);
}else{
$memo5="";
}
if(isset($_POST['memo6'])){
$array_memo6=explode("|",$_POST['memo6']);
$array_memo6[$index]=$_POST['domaine'];
$memo6=implode("|",$array_memo6);
}else{
$memo6="";
}
if(isset($_POST['memo7'])){
$array_memo7=explode("|",$_POST['memo7']);
$array_memo7[$index]=$_POST['etab'];
$memo7=implode("|",$array_memo7);
}else{
$memo7="";
}

if(isset($_POST['memo8'])){
$array_memo8=explode("|",$_POST['memo8']);
$array_memo8[$index]=$_POST['ville_form'];
$memo8=implode("|",$array_memo8);
}else{
$memo8="";
}

if(isset($_POST['memo9'])){
$array_memo9=explode("|",$_POST['memo9']);
$array_memo9[$index]=$_POST['pays_form'];
$memo9=implode("|",$array_memo9);
}else{
$memo9="";
}

if(isset($_POST['memo10'])){
$array_memo10=explode("|",$_POST['memo10']);
$array_memo10[$index]=$_POST['description'];
$memo10=implode("|",$array_memo10);
}else{
$memo10="";
}

if(isset($_POST['memo11'])){
$array_memo11=explode("|",$_POST['memo11']);
$array_memo11[$index]=$_POST['cin'];
$memo11=implode("|",$array_memo11);
}else{
$memo11="";
}
//recup données perso postées
if(isset($_POST['nom'])){ $nom=$_POST['nom'];}
if(isset($_POST['prenom'])){ $prenom=$_POST['prenom'];}
if(isset($_POST['cin'])){ $cin=$_POST['cin'];}
if(isset($_POST['civilite'])){ $civilite=$_POST['civilite'];}
if(isset($_POST['jour'])){ $jour=$_POST['jour'];}
if(isset($_POST['mois'])){ $mois=$_POST['mois'];}
if(isset($_POST['annee'])){ $annee=$_POST['annee'];}
if(isset($_POST['nationalite'])){ $nationalite=$_POST['nationalite'];}
if(isset($_POST['ville'])){ $ville=$_POST['ville'];}
if(isset($_POST['adresse'])){ $adresse=$_POST['adresse'];}
if(isset($_POST['pays'])){ $pays=$_POST['pays'];}
if(isset($_POST['tel'])){ $tel=$_POST['tel'];}
if(isset($_POST['mail'])){ $mail=$_POST['mail'];}

// ---------------------------- si première page ou si click sur suivant ---------------------------------------------------------
if($page == 1 OR isset($_POST['ajouter'])){
?>
//code xhtml de ma page formulaire-------------------------------!!

<?php
//on incremente le numero de page pour la suivante
$page+=1;
?>
<input type="hidden" name="page" value="<?php echo $page; ?>"><!-- numero de la page suivante du formulaire experiences -->
<input type="hidden" name="memo1" value="<?php echo $memo1; ?>">
<input type="hidden" name="memo2" value="<?php echo $memo2; ?>">
<input type="hidden" name="memo3" value="<?php echo $memo3; ?>">
<input type="hidden" name="memo4" value="<?php echo $memo4; ?>">
<input type="hidden" name="memo5" value="<?php echo $memo5; ?>">
<input type="hidden" name="memo6" value="<?php echo $memo6; ?>">
<input type="hidden" name="memo7" value="<?php echo $memo7; ?>">
<input type="hidden" name="memo8" value="<?php echo $memo8; ?>">
<input type="hidden" name="memo9" value="<?php echo $memo9; ?>">
<input type="hidden" name="memo10" value="<?php echo $memo10; ?>">
<input type="hidden" name="memo11" value="<?php echo $memo11; ?>">

<?php

}

// une fois l'utilisateur a saisi toutes ses formations il clique sur un bouton "terminer"afin de les visualiser et de s'assurer de ce qu'il vient de remplir
if(isset($_POST['terminer']) AND $_POST['terminer'] !=""){
//affichage page recapitulatif


<?php
$derniere_page=$_POST['page']-1;
//recuperation des champs passes en hidden et du dernier enregistrement
if(isset($_POST['memo1'])){
$array_memo1=explode("|",$_POST['memo1']);
$array_memo1[$index]=$_POST['niveau_etud'];
}
if(isset($_POST['memo2'])){
$array_memo2=explode("|",$_POST['memo2']);
$array_memo2[$index]=$_POST['perio_mois'];
}
if(isset($_POST['memo3'])){
$array_memo3=explode("|",$_POST['memo3']);
$array_memo3[$index]=$_POST['perio_annee'];
}
if(isset($_POST['memo4'])){
$array_memo4=explode("|",$_POST['memo4']);
$array_memo4[$index]=$_POST['perio2_mois'];
}
if(isset($_POST['memo5'])){
$array_memo5=explode("|",$_POST['memo5']);
$array_memo5[$index]=$_POST['perio2_annee'];
}
if(isset($_POST['memo6'])){
$array_memo6=explode("|",$_POST['memo6']);
$array_memo6[$index]=$_POST['domaine'];
}
if(isset($_POST['memo7'])){
$array_memo7=explode("|",$_POST['memo7']);
$array_memo7[$index]=$_POST['etab'];
}
if(isset($_POST['memo8'])){
$array_memo8=explode("|",$_POST['memo8']);
$array_memo8[$index]=$_POST['ville_form'];
}
if(isset($_POST['memo9'])){
$array_memo9=explode("|",$_POST['memo9']);
$array_memo9[$index]=$_POST['pays_form'];
}
if(isset($_POST['memo10'])){
$array_memo10=explode("|",$_POST['memo10']);
$array_memo10[$index]=$_POST['description'];
}

if(isset($_POST['memo11'])){
$array_memo11=explode("|",$_POST['memo11']);
$array_memo11[$index]=$_POST['cin'];
}
//recup données perso postées
if(isset($_POST['nom'])){ $nom=$_POST['nom'];}
if(isset($_POST['prenom'])){ $prenom=$_POST['prenom'];}
if(isset($_POST['cin'])){ $cin=$_POST['cin'];}
if(isset($_POST['civilite'])){ $civilite=$_POST['civilite'];}
if(isset($_POST['jour'])){ $jour=$_POST['jour'];}
if(isset($_POST['mois'])){ $mois=$_POST['mois'];}
if(isset($_POST['annee'])){ $annee=$_POST['annee'];}
if(isset($_POST['nationalite'])){ $nationalite=$_POST['nationalite'];}
if(isset($_POST['ville'])){ $ville=$_POST['ville'];}
if(isset($_POST['adresse'])){ $adresse=$_POST['adresse'];}
if(isset($_POST['pays'])){ $pays=$_POST['pays'];}
if(isset($_POST['tel'])){ $tel=$_POST['tel'];}
if(isset($_POST['mail'])){ $mail=$_POST['mail'];}

?>

<?php
for ($p=1;$p<=$derniere_page;$p++){
$i=$p-1;//index arrays
echo "<input type=\"text\" name=\"cin\" value= $array_memo11[$index] >";
echo "<tr><td colspan=\"2\" align=\"center\"><label class=\"titre1\"><b>Experience n° ".$p."</b></label></td></tr>";
echo "<tr><td><label class =\"tit\">Niveau d'études:</label></td><td>".$array_memo1[$i]."</td></tr>";
echo "<tr><td><label class =\"tit\">Domaine:</label></td><td>".$array_memo6[$i]."</td></tr>";
echo "<tr><td><label class =\"tit\">Etablissement:</label></td><td>".$array_memo7[$i]."</td></tr>";
echo "<tr><td><label class =\"tit\">Ville de formation:</label></td><td>".$array_memo8[$i]."</td></tr>";
echo "<tr><td><label class =\"tit\">cin:</label></td><td>".$array_memo11[$i]."</td></tr>";
echo "<tr><td colspan =\"6\" align=\"center\" color=\"#1161a7\"><b>-----------------------------------</b></td></tr>";
}
?>


<input type="hidden" name="page" value="<?php echo $page; ?>">
<input type="hidden" name="index_arrays" value="<?php echo $index_arrays; ?>">


<?php
}
?>
?>
-1
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
23 oct. 2008 à 10:00
Est-ce que ce n'aurait pas été plus propre comme ça ?
for ($i=1;$i<=11;$i++)
  if(isset($_POST['memo'.$i]))
  {
    ${"array_memo".$i}=explode("|",$_POST['memo'.$i]);
    ${"array_memo".$i}[$index]=$_POST['niveau_etud'];
    ${"memo".$i}=implode("|",${"array_memo".$i});
  }
  else
  {
    $memo1="";
  }
<code>

Après pour le stockage en base de données, je suppose que l'utilisateur clique sur un bouton et après tu refais la même boucle qu'à la fin :
<code>for ($p=1;$p<=$derniere_page;$p++)
{
  $i=$p-1;
  mysql_query("INSERT INTO ta_table
  SET niveau_d_etude=".$array_memo1[$i].",
  domaine=".$array_memo6[$i]
  );
}
Et ainsi de suite, enfin tout dépend de la structure de ta BDD. Et sûrement une ligne à l'extérieur du for pour enregistrer les infos de l'utilisateur si ce n'est pas fait.

En espérant que ça puisse t'aider.
-1
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 1
23 oct. 2008 à 14:03
bonjour :) !!

merci d'avoir répondu! je prendrai en considration tes consignes!! je vais essayé la boucle for sur l'enregistrement et j'éspère que cette fois ci ça va marcher!!

en fait je veux bien savoir comment font les sites par exemple des recrutements en ligne pour gérer les cv?? si tu as une idée de la démarche suivie je te serai reconnaissante si tu m'expliques le principe!!!

bonne soirée
-1
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
23 oct. 2008 à 14:38
Ben, pour la formation, je pense que quand tu remplis le formulaire pour chaque diplome ou formation, tu choisis un niveau et un domaine de compétences.

Et pour l'expérience, il doit y avoir la durée de chaque emploi avec le poste occupé.

Donc après, une requête qui trie avec les critères demandés, et à mon avis le reste est fait à la main.

Mais n'ayant jamais rempli de CV en ligne comme ça, c'est juste une hypothèse.
-1
tomdiato Messages postés 147 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 9 novembre 2008 7
23 oct. 2008 à 14:44
tu n'as qu'à essayer sur un site pour voir et au moment de la confirmation tu annules ;)
-1
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 1
23 oct. 2008 à 22:50
bonsoir :)!!

merci pour vos propositions! en fait j'ai déjà essayé pas mal de site de recrutement en ligne afin de faire ma conception!! j'ai déjà faits tous mes formualires !! ce que je voulais savoir c'est comment ces sites arrivent à gérer les informations saisies par un utilisateur?!! comment ils les stokent dans leurs bases de données??
si je vous donne l'exemple des formations saisies, est ce que chaque fois que l'utilisateur remplit ses données elles sont dirigées vers la base de données avant de passer à un nouvel enregistrement??si c'est le cas comment savoir que ces données dans la base appartiennet à un utilisateur donnée??

je vous souhaite une bonne soirée
-1
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
23 oct. 2008 à 23:26
Tout d'abord, avant de faire quoi que ce soit, il faut analyser son problème :
C'est à dire qu'avant de faire tes formulaires, il faut se pencher sur l'organisation des données et après sur la façon dont tu vas les enregistrer.

Ensuite, pour répondre à ta question, il y a sûrement une clé étrangère reliant l'utilisateur à ses données dans chaque table. Après est-ce qu'on enregistre après chaque formation ou une fois que toute les formations sont saisies, ça dépend ( choix de celui qui fait le site ).
-1
fati.zahra Messages postés 74 Date d'inscription vendredi 2 novembre 2007 Statut Membre Dernière intervention 5 juillet 2010 1
24 oct. 2008 à 15:56
bonjour!!

en parlant du choix conecenant l'enregistrement qui peut s'effectuer après chaque saisie ou à la fin de tte l'opération! j'ai déja tenté de faire enregister les données après chaque saisie mais le prob qui se pose c'est l'identifiant de l'utilisateur connecté et qui est entrain de remplir les formulaires!!! car j'ai comme identifiant de ma table candidat un numèro "cin" qui est unique pour chaque utilisateur!! si je fais l'opération d'enregistrement après chaque remplissage de formulaire je risque de perdre cet identifiant à cause de l'action que je donne au formulaire!!

je veux savoir s'il y a une solution de conserver cet identifiant à chaque fois que je clique sur un bouton enregister!!!

remarque!!!! en fait je fais transfere mon identifiant à travers tous mes formulaires grâce au input="hidden"


bonne journée
-1