Formulaire php fonction

Résolu/Fermé
saha11 Messages postés 79 Date d'inscription samedi 20 septembre 2008 Statut Membre Dernière intervention 2 février 2009 - 1 janv. 2009 à 12:57
saha11 Messages postés 79 Date d'inscription samedi 20 septembre 2008 Statut Membre Dernière intervention 2 février 2009 - 1 janv. 2009 à 13:31
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 vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
1 janv. 2009 à 13:04
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 samedi 20 septembre 2008 Statut Membre Dernière intervention 2 février 2009 1
1 janv. 2009 à 13:08
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
1 janv. 2009 à 13:21
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 jeudi 5 juin 2008 Statut Membre Dernière intervention 17 mars 2010 23
1 janv. 2009 à 13: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 mercredi 31 décembre 2008 Statut Membre Dernière intervention 20 mars 2011
1 janv. 2009 à 13:13
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 samedi 20 septembre 2008 Statut Membre Dernière intervention 2 février 2009 1
1 janv. 2009 à 13:17
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
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
pardon,
if ($nbr[0]>1)
car mysql_fetch_array() rend un tableau
0
morkotyx Messages postés 6 Date d'inscription mercredi 31 décembre 2008 Statut Membre Dernière intervention 20 mars 2011
1 janv. 2009 à 13:21
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 samedi 20 septembre 2008 Statut Membre Dernière intervention 2 février 2009 1
1 janv. 2009 à 13:24
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 mercredi 31 décembre 2008 Statut Membre Dernière intervention 20 mars 2011
1 janv. 2009 à 13:26
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 samedi 20 septembre 2008 Statut Membre Dernière intervention 2 février 2009 1
1 janv. 2009 à 13:31
ok merci ji penserait c nice lol
0