Pblem en PHP : création du numero de fiche

Fermé
keira - 9 mai 2005 à 08:58
 keira - 24 mai 2005 à 11:51
Bonjour à tous,
J'ai un problème en PHP sur la création du numero de fiche:
J'ai des formulaires que je propose aux utilisateurs, je veux numeroter toutes les fiches (formulaires) à partir d'un numero gr qui est une table dans ma database et l'année de la fiche:

Voici mon code pour la création de ce numero de fiche :
   
  //création du numéro de fiche
	if (isset($_GET["var_gr"]))
	{
		$dec_an=substr(date("Y"),2,2);
		$recup_num_gr=trim(substr($_GET["var_gr"],0,strpos($_GET["var_gr"],"|")));
		$an_cour=date("Y");
		$sql_num=QUERY("SELECT num_fp FROM fp WHERE id_gr='$recup_num_gr' AND annee_fp='$an_cour' ORDER BY num_fp  DESC ");
		$nb_cont=mysql_num_rows($sql_num);
		if ($nb_cont!=0)
		{
			$tab_recup_num_gr=mysql_fetch_array($sql_num);
			$recup_num_fp=$tab_recup_num_gr[0];
			$nouv_num=(trim(substr($recup_num_fp,5,(strlen($recup_num_fp)-2))))+1;
			$nouv_cont=$dec_an." ".$recup_num_gr." ".$nouv_num;
		}
		else       
		{
		$nouv_cont=$dec_an." ".$recup_num_gr." "."01";
		}
	}
	


Apparament ,je ne vois aucun problème mais ça ne marche pas,

Merci de m'aider.
A voir également:

9 réponses

kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
9 mai 2005 à 09:21
Il faut que tu fasse une trace de ton script pour voir ou il passe dans ton code : tu met des echo "blabla<BR>"; ou echo "toto<BR>" echo "titi<BR>" dans tout les blocs, puis tu nous met la trace avec le nouveau script.
Si ca met des erreurs, il faut les mettre aussi.
Sinon, si tu pouvais expliquer un peu plus précisément tes tables sql.

++
0
Merci de m'avoir repondu,
Mes tables sql sont de la sorte:

-une table gr(id_gr,nom_gr);
-fp(num_fp,id_gr,titre_fp,annee_fp...);

Et dans ma page j'affiche le numero de fiche à l'aide de ce qui suit :

 No de Fiche :<INPUT DISABLED TYPE="TEXT" NAME="num_control" SIZE="6" VALUE="<? if ((isset($_GET["var_gr"])) && (!empty($_GET["var_gr"]))) echo $nouv_cont; ?>">
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
9 mai 2005 à 15:05
moi je parle de trace dans ce sens la :
	if (isset($_GET["var_gr"]))
	{
echo "ici<BR>";
		$dec_an=substr(date("Y"),2,2);
		$recup_num_gr=trim(substr($_GET["var_gr"],0,strpos($_GET["var_gr"],"|")));
		$an_cour=date("Y");
		$sql_num=QUERY("SELECT num_fp FROM fp WHERE id_gr='$recup_num_gr' AND annee_fp='$an_cour' ORDER BY num_fp  DESC ");
		$nb_cont=mysql_num_rows($sql_num);
		if ($nb_cont!=0)
		{
echo "la<BR>";
			$tab_recup_num_gr=mysql_fetch_array($sql_num);
			$recup_num_fp=$tab_recup_num_gr[0];
			$nouv_num=(trim(substr($recup_num_fp,5,(strlen($recup_num_fp)-2))))+1;
			$nouv_cont=$dec_an." ".$recup_num_gr." ".$nouv_num;
		}
		else       
		{
echo "coucou<BR>";
		$nouv_cont=$dec_an." ".$recup_num_gr." "."01";
		}
	}


Voila et tu nous met telquel ce qui est éafficher à ton ecran (les message qui s'affichent), ca sert à voir par ou passe ton prog et donc a débeuguer.
0
keira > kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013
10 mai 2005 à 08:34
Bonjour, merci une fois de plus de m'avoir repondu.
J'ai essayé ce que tu m'as expliqué mais ça ne marche pas.
Le pblèm est qu'avec mon code ,il calcule bien (parcequ'il n ' y a pas de message d'erreur) mais il n'affiche rien.

Si tu as d'autres solutions ,Merci de me les apportées.

Keira
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857 > keira
10 mai 2005 à 09:46
Si il n'affiche toujour rien c'est qu'il ne rentre pas dans ton :
if (isset($_GET["var_gr"]))

Mais cela pour vérifier :
if (isset($_GET["var_gr"])){

.....

}
else
{
   echo "bonjours, ca ne rentre pas dedans !<BR>";
}

La ca devrai te marquer le "bonjours, ...".
Donc si ca te la marque, il faudrait que tu me mette le code (ou plutot code du formulaire) qui appelle le script que tu as donné en haut, car il doit mal etre appelle. D'ailleur, j'y pense la tout de suite mais ne serait-ce pas plutot $_POST que $_GET que tu dois mettre (Si ton script est appellé depuis un formulaire et que tu as mis la méthodes POST dans celui-ci !)

++
0
keira > kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013
10 mai 2005 à 11:01
Slt, merci de t'interessé à mon problèm,
J'ai essayé mais ça n'affiche rien du tout, peut être que le problèm se situe au niveau d'ici :
<INPUT DISABLED TYPE="TEXT" NAME="num_fp" SIZE="6" VALUE="<? if ((isset($_GET["var_gr"])) && (!empty($_GET["var_gr"]))) echo $nouv_cont; ?>">


Merci de me repondre.

Keira.
0
Oui, le disabled désactive le champ pour ne pas ke l'utilisateur le modifie.

J'ai en fin le message ki s'affiche dans le champ comme tu m'as dit , peut être kil rentre pa dans isset(...).

Ke dois-je faire ?

Merci d'avance.

keira.
0
m0n0-le-14r3 Messages postés 174 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 25 octobre 2005 17
10 mai 2005 à 11:30
t'es bein sur de lui envoyé la varaible var_gr ??? et en get pas en post ??
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
10 mai 2005 à 11:53
Si en mettant $_POST à la place de $_GET il te met le message du "else" alors, regarde comme dit mono de quelle facon tu envoie la variable au fichier depuis le formulaire : est-ce par la méthode GET ou par la méthode POST ? Et puis si c'est bien la bonne variable que tu test avec le 'isset'.
Le plus simple est que tu nous mette le code du fichier qui appelle le script du haut, merci.
0

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

Posez votre question
Slt,
J'utilise la methode get, mais c'est cette mêm method ki m'a affiché le message.
Voici le code qui appelle le script du haut :
<?
    if ((isset($_GET["var_gr"])) && (empty($_GET["var_gr"]))) echo  $nouv_cont; 
?>


Merci de m'aider.

keira
0
Slt,
J'utilise la methode get, mais c'est cette mêm method ki m'a affiché le message.
Voici le code qui appelle le script du haut :
<?
    if ((isset($_GET["var_gr"])) && (empty($_GET["var_gr"]))) echo  $nouv_cont; 
?>


Merci de m'aider.

keira
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
10 mai 2005 à 14:21
Excuse moi mais c'est quel message qui s'affiche ?

Est-ce celui contenu par $nouv_cont ou "bonjour ...." ??
0
C'est le bonjour ... qui s'affiche.
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
10 mai 2005 à 14:54
Alors $_GET[".."] n'est pas renseigné,

on va reprendre depuis zéro : as tu un formulaire dans ton script ?
Si non, as tu des liens ?
Si encore non, peut tu mettre toute ta source .

++
0
keira > kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013
10 mai 2005 à 16:09
oui j'ai mêm 4 formulaires ,.
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857 > kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013
10 mai 2005 à 16:18
Affiche les nous et met nous avant le code de chacun à quoi il correspond, le fichier qui l'appelle
Si tu peux faire ca (ce qui devrait prendre un peu de temp je l'accorde), on avancera bcp plus vite.

++
0
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
10 mai 2005 à 15:01
salut, essai de remplacer :
<?
    if ((isset($_GET["var_gr"])) && (empty($_GET["var_gr"]))) echo  $nouv_cont; 
?>


par:
<?
    if (isset($_REQUEST["var_gr"]) echo  $nouv_cont; 
    else echo "ne rentre pas dans IF";
?>

0
Bonjour à tous,
Au fait, pour mon pblèm de numero de fiche, ça marche sur mon pc à la maison mais sur celui de mon entreprise ça na marche pas, je crois ça cloche kelke part.

Mon 2ème pblème:

Je veux après soumission de mon formulaire rajouter des champs supplementaires sur celui-ci pour le remplissage.

En d'autres termes plus claire :
Après soumission de mon formulaire,
réafficher celui-ci remplie avec d'autres champs supplémentaires à remplir.

Qlqn peut-il m'aider?

Merci.
0