A voir également:
- Update / Insert php sql
- Touche insert - Guide
- Windows update 0x80070643 - Accueil - Windows
- Windows update bloqué - Guide
- Easy php - Télécharger - Divers Web & Internet
- Asus live update - Télécharger - Utilitaires
18 réponses
LiLou LiLa
Messages postés
330
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
10 mars 2009
12
12 juin 2008 à 14:09
12 juin 2008 à 14:09
salut
c'est quoi ta table demandeur? (les champs :) )
je crois avec trouver ton soucis :)
c'est quoi ta table demandeur? (les champs :) )
je crois avec trouver ton soucis :)
whoow rapide :)
Voilà ma table
Voilà ma table
CREATE TABLE `demandeur` ( IdDemandeur int(11) PRIMARY KEY NOT NULL auto_increment, NomDemandeur varchar(38) default NULL, AdresseDemandeur varchar(38) default NULL, NumeroDemandeur char(14) default NULL, MailDemandeur varchar(38) default NULL, MoyenContact varchar(38) default NULL)
LiLou LiLa
Messages postés
330
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
10 mars 2009
12
12 juin 2008 à 14:15
12 juin 2008 à 14:15
merci ^^ (c'est parce que je suis en stage :p hihi )
dans ta requete ( UPDATE blabla )
ton where ne semble incorrect
tu devrais essayer where idDemandeur = " machin" ;
ton enregistrement est reperé par sa clé primaire, là l 'id
non tu crois pas?
dans ta requete ( UPDATE blabla )
ton where ne semble incorrect
tu devrais essayer where idDemandeur = " machin" ;
ton enregistrement est reperé par sa clé primaire, là l 'id
non tu crois pas?
$sql = ("SELECT count(*) FROM demandeur WHERE NomDemandeur='$NomDemandeur' and AdresseDemandeur='$AdresseDemandeur' and NumeroDemandeur='$NumeroDemandeur' and MailDemandeur='$MailDemandeur' and MoyenContact='$MoyenContact'"); $res = mysql_query( $sql ); if ($res) { $count = mysql_result($res, 0, 0 ); } if ($count <= 0) { mysql_query("INSERT INTO demandeur VALUES('','$NomDemandeur','$AdresseDemandeur','$NumeroDemandeur','$MailDemandeur','$MoyenContact')"); } $iddemandeur =mysql_insert_id(); else { $sql = "UPDATE demandeur set NomDemandeur='$Nomdemandeur',AdresseDemandeur='$AdresseDemandeur',NmeroDemandeur='$NumeroDemandeur',MailDemandeur='$MailDemandeur',MoyenContact='$MoyenContact' where IdDemandeur='$iddemandeur'"; }
Voilà ce que j'ai mis mais maintenant ça me fait une erreur "Parse error: parse error, unexpected T_ELSE in C:\wamp\www\Maquette\maq3.php on line 58"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
LiLou LiLa
Messages postés
330
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
10 mars 2009
12
12 juin 2008 à 14:29
12 juin 2008 à 14:29
c'est quoi ta ligne 58 de map3.php?
elle te sert a quoi ?
$sql = ("SELECT count(*) FROM demandeur WHERE NomDemandeur='$NomDemandeur' and AdresseDemandeur='$AdresseDemandeur' and NumeroDemandeur='$NumeroDemandeur' and MailDemandeur='$MailDemandeur' and MoyenContact='$MoyenContact'");
elle te sert a quoi ?
LiLou LiLa
Messages postés
330
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
10 mars 2009
12
12 juin 2008 à 14:38
12 juin 2008 à 14:38
$sql = ("SELECT count(*) FROM demandeur WHERE NomDemandeur='$NomDemandeur' and AdresseDemandeur='$AdresseDemandeur' and NumeroDemandeur='$NumeroDemandeur' and MailDemandeur='$MailDemandeur' and MoyenContact='$MoyenContact'");
elle te sert a quoi ? jai toujours des soucis avec tes where
pourquoi ut met where iddemandeur ="machin" comme l autre
a moins que jai pas du tout compris a quoi elle te servait ..
c'est pour afficher tes données de ta base non?
désolé double poste,
cette ligne sert à vérifier si un demandeur portant le même nom, la même adresse, le même numéro etc... est dans la base, si c'est le cas il répond 1 sinon 0 et s'il répond 1 ça veut dire que c'est la même personne donc qu'il faut pas insérer une nouvelle personne dans la base. Dans l'absolu j'aurai uniquement besoin de récuperer l'id de la personne du coup mais je vois pas comment faire. quelque chose comme:
cette ligne sert à vérifier si un demandeur portant le même nom, la même adresse, le même numéro etc... est dans la base, si c'est le cas il répond 1 sinon 0 et s'il répond 1 ça veut dire que c'est la même personne donc qu'il faut pas insérer une nouvelle personne dans la base. Dans l'absolu j'aurai uniquement besoin de récuperer l'id de la personne du coup mais je vois pas comment faire. quelque chose comme:
else { select iddemandeur where iddemandeur= l'id du type que tu viens de trouver }
LiLou LiLa
Messages postés
330
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
10 mars 2009
12
12 juin 2008 à 14:47
12 juin 2008 à 14:47
$sql=select iddemandeur from table where nomdemandeur="" and adresse="" etc ... ;
$id=mysql_query($sql)
....
else {
"update demandeur set nomdemandeur="", adresse="" , ..... where iddemandeur=". $id." ; "
non?
au fait je sais pas si c'ets une erreur de copier coller mais tu n execute pas la requete du update non?
$id=mysql_query($sql)
....
else {
"update demandeur set nomdemandeur="", adresse="" , ..... where iddemandeur=". $id." ; "
non?
au fait je sais pas si c'ets une erreur de copier coller mais tu n execute pas la requete du update non?
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
12 juin 2008 à 14:53
12 juin 2008 à 14:53
Bonjour,
Dans ton code :
Xavier
Dans ton code :
[...] if ($count <= 0) { mysql_query("INSERT INTO demandeur VALUES('','$NomDemandeur','$AdresseDemandeur','$NumeroDemandeur','$MailDemandeur','$MoyenContact')"); } $iddemandeur =mysql_insert_id(); else { [...]Tu as une instruction toute seule entre la fin du bloc if{...} et le else{...}, c'est sûrement ça ton erreur de syntaxe, non ?
Xavier
j'ai mis ça comme ça :
$sql = ("SELECT count(*) FROM demandeur WHERE NomDemandeur='$NomDemandeur' and AdresseDemandeur='$AdresseDemandeur' and NumeroDemandeur='$NumeroDemandeur' and MailDemandeur='$MailDemandeur' and MoyenContact='$MoyenContact'"); $res = mysql_query( $sql ); if ($res) { $count = mysql_result($res, 0, 0 ); } if ($count <= 0) { mysql_query("INSERT INTO demandeur VALUES('','$NomDemandeur','$AdresseDemandeur','$NumeroDemandeur','$MailDemandeur','$MoyenContact')"); $iddemandeur =mysql_insert_id(); } else { $iddemandeur =mysql_query("SELECT IdDemandeur FROM demandeur WHERE NomDemandeur='$NomDemandeur' and AdresseDemandeur='$AdresseDemandeur' and NumeroDemandeur='$NumeroDemandeur' and MailDemandeur='$MailDemandeur' and MoyenContact='$MoyenContact'"); }
LiLou LiLa
Messages postés
330
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
10 mars 2009
12
12 juin 2008 à 15:15
12 juin 2008 à 15:15
quand jeparlais de select jparlais du premier
t'as viré update là ça va plus ^^
tu vois a peu prés ou pas ?
un truc du genre je disais :)
t'as viré update là ça va plus ^^
tu vois a peu prés ou pas ?
$sql = ("SELECT iddemandeur FROM demandeur WHERE NomDemandeur='$NomDemandeur' and AdresseDemandeur='$AdresseDemandeur' and NumeroDemandeur='$NumeroDemandeur' and MailDemandeur='$MailDemandeur' and MoyenContact='$MoyenContact'"); $id = mysql_query( $sql ); if ($id) { $count = mysql_result($id, 0, 0 ); } if ($count <= 0) { mysql_query("INSERT INTO demandeur VALUES('','$NomDemandeur','$AdresseDemandeur','$NumeroDemandeur','$MailDemandeur','$MoyenContact')"); $iddemandeur =mysql_insert_id(); } else { mysql_query("Update demandeur set NomDemandeur='$NomDemandeur' and AdresseDemandeur='$AdresseDemandeur' and NumeroDemandeur='$NumeroDemandeur' and MailDemandeur='$MailDemandeur' and MoyenContact='$MoyenContact'" where iddemandeur=".$id.";"); }
un truc du genre je disais :)
voilà ou j'en suis et ça ne marche toujours pas :)
$sql = ("SELECT iddemandeur FROM demandeur WHERE NomDemandeur='$NomDemandeur' and AdresseDemandeur='$AdresseDemandeur' and NumeroDemandeur='$NumeroDemandeur' and MailDemandeur='$MailDemandeur' and MoyenContact='$MoyenContact'"); $res = mysql_query( $sql ); if ($res) { $count = mysql_result($res, 0, 0 ); } if ($count <= 0) { mysql_query("INSERT INTO demandeur VALUES('','$NomDemandeur','$AdresseDemandeur','$NumeroDemandeur','$MailDemandeur','$MoyenContact')"); $iddemandeur =mysql_insert_id(); } else { mysql_query("UPDATE demandeur set NomDemandeur='$Nomdemandeur',AdresesDemandeur='$AdresseDemandeur',NumeroDemandeur='$NumeroDemandeur',MailDemandeur='$MailDemandeur',MoyenContact='$MoyenContact' where IdDemandeur='$res'"); $iddemandeur=$res; }
encore un double post désolé.
Je me suis rendu compte que je n'ai pas besoin de mon update mais juste de récuperer l'id qu'il a trouvé. Je ne sais pas comment faire mais je sais déjà que la syntaxe est correcte quand je met $iddemandeur= 1 dans le else il fait les liens que je veux sans ajouter de demandeur.
Je me suis rendu compte que je n'ai pas besoin de mon update mais juste de récuperer l'id qu'il a trouvé. Je ne sais pas comment faire mais je sais déjà que la syntaxe est correcte quand je met $iddemandeur= 1 dans le else il fait les liens que je veux sans ajouter de demandeur.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
13 juin 2008 à 14:50
13 juin 2008 à 14:50
Le problème dans ton update, c'est que $res ne contient pas un iddemandeur !
Remplace ton update par :
Remplace ton update par :
$donnees = mysql_fetch_array($res); $iddemandeur = $donnees["iddemandeur"]; mysql_query("UPDATE demandeur set NomDemandeur='$Nomdemandeur',AdresesDemandeur='$AdresseDemandeur',NumeroDemandeur='$NumeroDemandeur',MailDemandeur='$MailDemandeur',MoyenContact='$MoyenContact' where IdDemandeur='$iddemandeur'");
$sql = ("SELECT iddemandeur FROM demandeur WHERE NomDemandeur='$NomDemandeur' and AdresseDemandeur='$AdresseDemandeur' and NumeroDemandeur='$NumeroDemandeur' and MailDemandeur='$MailDemandeur' and MoyenContact='$MoyenContact'"); $res = mysql_query( $sql ); if ($res) { $count = mysql_result($res, 0, 0 ); } if ($count <= 0) { mysql_query("INSERT INTO demandeur VALUES('','$NomDemandeur','$AdresseDemandeur','$NumeroDemandeur','$MailDemandeur','$MoyenContact')"); $iddemandeur =mysql_insert_id(); } else{ $sql = ("SELECT iddemandeur FROM demandeur WHERE NomDemandeur='$NomDemandeur' and AdresseDemandeur='$AdresseDemandeur' and NumeroDemandeur='$NumeroDemandeur' and MailDemandeur='$MailDemandeur' and MoyenContact='$MoyenContact'"); $res= mysql_query($sql); $donnees = mysql_fetch_array($res); $iddemandeur = $donnees['iddemandeur']; mysql_query("UPDATE demandeur set NomDemandeur='$Nomdemandeur',AdresesDemandeur='$AdresseDemandeur',NumeroDemandeur='$NumeroDemandeur',MailDemandeur='$MailDemandeur',MoyenContact='$MoyenContact' where IdDemandeur='$iddemandeur'"); }
Cette requête marche mais c'est de la bidouille j'aimerai bien un truc plus optimisé si vous avez sous le coude je fais deux fois mon $res et mon $sql sinon ils ne sont pas pris en compte dans le else....
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
16 juin 2008 à 09:45
16 juin 2008 à 09:45
Bonjour,
Alors, à la place de mysql_result, qui a une action sur la ressource $res, utilise mysql_num_rows qui n'accède à $res qu'en lecture et te donne le nombre de lignes.
Comme ça $res reste inchangé au niveau du else.
Ce qui donne :
Xavier
Alors, à la place de mysql_result, qui a une action sur la ressource $res, utilise mysql_num_rows qui n'accède à $res qu'en lecture et te donne le nombre de lignes.
Comme ça $res reste inchangé au niveau du else.
Ce qui donne :
$sql = ("SELECT iddemandeur FROM demandeur WHERE NomDemandeur='$NomDemandeur' and AdresseDemandeur='$AdresseDemandeur' and NumeroDemandeur='$NumeroDemandeur' and MailDemandeur='$MailDemandeur' and MoyenContact='$MoyenContact'"); $res = mysql_query( $sql ); if ($res) { $count = mysql_num_rows($res); } if ($count == 0) { mysql_query("INSERT INTO demandeur VALUES('','$NomDemandeur','$AdresseDemandeur','$NumeroDemandeur','$MailDemandeur','$MoyenContact')"); $iddemandeur =mysql_insert_id(); } else{ $donnees = mysql_fetch_array($res); $iddemandeur = $donnees['iddemandeur']; mysql_query("UPDATE demandeur set NomDemandeur='$Nomdemandeur',AdresesDemandeur='$AdresseDemandeur',NumeroDemandeur='$NumeroDemandeur',MailDemandeur='$MailDemandeur',MoyenContact='$MoyenContact' where IdDemandeur='$iddemandeur'"); }Voilà qui devrait aller :)
Xavier