Formulaire php fonction

Résolu
saha11 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   -  
saha11 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

10 réponses

Nico_ Messages postés 1219 Date d'inscription   Statut Membre Dernière intervention   189
 
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
0
saha11 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   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; ?>
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
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; 
} 
} 
0
redlifebig Messages postés 59 Date d'inscription   Statut Membre Dernière intervention   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)
{
.....
0
morkotyx Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
saha11 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   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
0

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

Posez votre question
toto
 
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'";
0
toto
 
pardon,
if ($nbr[0]>1)
car mysql_fetch_array() rend un tableau
0
morkotyx Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
saha11 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   1
 
merci j'ai pas pense a mysql_fetch_array

sa marche nikel merci a tout le monde and happy new year
0
morkotyx Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Si tu rencontre d'autre problème de se genre pense a notre site il pourra toujours t'aider
and Happy New Year
0
saha11 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   1
 
ok merci ji penserait c nice lol
0