Formulaire php fonction [Résolu/Fermé]

Signaler
Messages postés
79
Date d'inscription
samedi 20 septembre 2008
Statut
Membre
Dernière intervention
2 février 2009
-
Messages postés
79
Date d'inscription
samedi 20 septembre 2008
Statut
Membre
Dernière intervention
2 février 2009
-
Bonjour,
j'ai un petit probléme lors de l'insertion d'une fonction je verifie si la fonction est deja présente pour cela dans la fonction j'ai fait une requete qui verifie la condition voila seulement le probléme est que rien ne s'insert et sa m'affiche a chaque fois Erreur deja présent:
function ajouterFonction($libelle) {
$req1 = "(select count(libelle) from fonctions where libelle ='".$libelle."')";
$sql1 = mysql_query($req1) or die ('Erreur lors de l\'insertion ');
if ( $sql1 >= 1)
{
echo "Erreur deja présent";
}
else
{
$req = "INSERT INTO fonctions(id_fonction,libelle) VALUES('','".$libelle."')";
$sql = mysql_query($req) or die('Erreur lors de l\'insertion de la nouvelle fonction');
return true;
}
}


si quelqun sait ou est l'erreur merci de m'aidé

ps:
BONNE ANNee

10 réponses

Messages postés
1232
Date d'inscription
vendredi 29 décembre 2006
Statut
Membre
Dernière intervention
15 mars 2016
184
bonjour,

peut ton avoir le code complet?
Merci d'utiliser la balise code. mettre le code entre les balises quand on clic sur l'icone de la page blanche avec <>

bonne journée
Messages postés
79
Date d'inscription
samedi 20 septembre 2008
Statut
Membre
Dernière intervention
2 février 2009
1
bonjour
le code est bien celui que j'ai fourni plus haut
l'erreur est dans la fonction ajoutfonction

function ajouterFonction($libelle) { 
$req1 = "(select count(libelle) from fonctions where libelle ='".$libelle."')"; 
$sql1 = mysql_query($req1) or die ('Erreur lors de l\'insertion '); 
if ( $sql1 >= 1) 
{ 
echo "Erreur deja présent"; 
} 
else 
{ 
$req = "INSERT INTO fonctions(id_fonction,libelle) VALUES('','".$libelle."')"; 
$sql = mysql_query($req) or die('Erreur lors de l\'insertion de la nouvelle fonction'); 
return true; 
} 
} 



le formulaire*

<form id="ajoutfonction" name="ajoutfonction" method="post" action="services.php?a=liste">
	<table>
    
	<tr>
		<td>Nom de la fonction :</td>
		<td><input name="libelle" type="text" /></td>
	</tr>
	<tr>
		<td><input name="submitajoutfonction" type="submit" value="Ajouter" /></td>


<?php if($_POST['submitajoutfonction']=="Ajouter"): ?>
		<?php ajouterFonction($_POST['libelle']) ?>
		<img src="_img/tick.png" alt="Ok" title="Ok" /> <b class="vert">La fonction a été ajoutée correctement !</b><br /><br />
<?php endif; ?>
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
881
Bonjour,

l'erreur vient de là:

if ( $sql1 >= 1)
{


mysql_query fait l'extraction de la base en fonction des critères de la reqête et mets ça dans une "zone mémoire"
$sql1 te renvoie la ressource de cette zone ne aucun cas le nombre d'enregistrements trouvés

pour connaitre le nombre il faut utiliser mysql_num_rows(), comme ça: (sans count())

<?php
function ajouterFonction($libelle) { 
$req1 = "(SELECT libelle FROM fonctions WHERE libelle ='".$libelle."')"; 
$sql1 = mysql_query($req1) or die ('Erreur lors de l\'insertion '); 
if ( mysql_num_rows($sql1) > 0 ) 
{ 
echo "Erreur deja présent"; 
} 
else 
{ 
$req = "INSERT INTO fonctions(id_fonction,libelle) VALUES('','".$libelle."')"; 
$sql = mysql_query($req) or die('Erreur lors de l\'insertion de la nouvelle fonction'); 
return true; 
} 
} 
Messages postés
59
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
17 mars 2010
23
Bonjour

mysql_query retourne une ressource pas le count de ta requête
voici le code correcte

function ajouterFonction($libelle) {
$req1 = "(select count(libelle) from fonctions where libelle ='".$libelle."')";
$sql1 = mysql_query($req1) or die ('Erreur lors de l\'insertion ');
$count=mysql_fetch_array($sql1);
if ( $count[0] >= 1)
{
.....
Messages postés
6
Date d'inscription
mercredi 31 décembre 2008
Statut
Membre
Dernière intervention
20 mars 2011

Si ta besoin d'aide pour tes code qui ne fonctionne pas bien ou affiche des message d'erreur viens sur le forum de se site http://www.morkotyx.123.fr il y a une rubrique exprès pour les code php et les administrateur de se site pourront t'aider
Messages postés
79
Date d'inscription
samedi 20 septembre 2008
Statut
Membre
Dernière intervention
2 février 2009
1
salut sur ton site je vient de m'inscrir mais a chauqe fois que je change de page par exempe je vait sur le forom pas moyen de mettre un sujet je me reconnect mais je suis pas reconnu en tant que membre lol
donc si tu peut me help ici sa serait cool

merci
Bonjour

if ( $sql1 >= 1) Tu compares un ressource et un nombre, ça ne veut pas dire grand-chose..
car mysql_query rend une ressource
Pour en extraire un nombre de cette ressource, il faut utiliser mysql_fetch_array :
$sql1 = mysql_query($req1) or die ('Erreur lors de l\'insertion '); 
$nbr=mysql_fetch_array($sql1);
if ( $nbr >= 1) 


D'autre part, la requête n'a pas à être entourée de parenthèses :
$req1 = "select count(libelle) from fonctions where libelle ='$libelle'";
pardon,
if ($nbr[0]>1)
car mysql_fetch_array() rend un tableau
Messages postés
6
Date d'inscription
mercredi 31 décembre 2008
Statut
Membre
Dernière intervention
20 mars 2011

sur le site http://www.morkotyx.123.fr il y a 2espace pour s'inscrire le premier espace visible dans le menu principal a droite te permet par la suite d'accéder au chat et a une messagerie interne
le 2e endroit pour t'inscrire et dans le forum ou la tu pourra discuter des problème php et autre
Messages postés
79
Date d'inscription
samedi 20 septembre 2008
Statut
Membre
Dernière intervention
2 février 2009
1
merci j'ai pas pense a mysql_fetch_array

sa marche nikel merci a tout le monde and happy new year
Messages postés
6
Date d'inscription
mercredi 31 décembre 2008
Statut
Membre
Dernière intervention
20 mars 2011

Si tu rencontre d'autre problème de se genre pense a notre site il pourra toujours t'aider
and Happy New Year
Messages postés
79
Date d'inscription
samedi 20 septembre 2008
Statut
Membre
Dernière intervention
2 février 2009
1
ok merci ji penserait c nice lol