| |
Savez-vous bien utiliser les outils de mesure d'audience ? Effectuez-vous un calcul de ROI (Retour sur investissement) pour savoir comment améliorer vos campagnes emarketing ? Savez-vous utiliser les bons outils pour booster votre taux de transformation ? La formation Web Analytics de Ranking Metrics, présentée par un expert reconnu officiellement par Google Analytics, vous apportera les réponses à toutes vos questions ! ===> Informations et inscriptions.
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
max6 WRInaute occasionnel

Inscrit le: 18 Mai 2003 Messages: 168
|
Posté le : Sam Nov 06, 2004 21:44 Sujet du message: Controle doublons et champs existants insertion mysql |
|
|
Bonjour
Voici mon probleme :
J'ai 3 tables :
tbl_acteurs , tbl_acteurs_fiche, tbl_fiche
Je veux par le biais d'un formulaire inserer des données dans ces trois tables , jusque la rien de compliqué si ce n'est que je veux controler les champs et les doublons en meme temps !
J'ai ceci dans mon fichier insertion.php :
A savoir que j'ai 6 champs acteurs dans mon formulaire mais il se peut qu'il ne soit pas tous rempli et qu'il existe déja dans la table acteurs ....
Je récupére dabbord lID fiche de l'insert précendent :
$id_fiche = mysql_insert_id();
je vérifier si le champs est rempli
if ($nom_acteurs1)
{
je vérifie si l'acteur existe déja dans la table acteurs
$sql = "SELECT id_acteurs FROM tbl_acteurs WHERE nom_acteurs='$nom_acteurs1'";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$row= mysql_fetch_array($req);
$id_acteurs = htmlentities(StripSlashes($row["id_acteurs"]));
si il existe : j'ajoute juste son ID dans la table acteurs_fiche
if($row==$nom_acteurs1)
{
$sql = "insert into tbl_acteurs_fiche(id_acteurs_fiche, id_acteurs, id_fiche) values(\"\",\"$id_acteurs\",\"$id_fiche\")";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
Sinon je crée un enregistrement dans la table acteur , je recupere lid et je l'insere dans tbl_acteurs_fiche
else
{
$sql = "insert into tbl_acteurs(id_acteurs, nom_acteurs) values(\"\",\"$nom_acteurs1\")";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$id_acteurs = mysql_insert_id();
$sql = "insert into tbl_acteurs_fiche(id_acteurs_fiche, id_acteurs, id_fiche) values(\"\",\"$id_acteurs\",\"$id_fiche\")";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
}
if ($nom_acteurs2)
{
$sql = "SELECT id_acteurs FROM tbl_acteurs WHERE nom_acteurs='$nom_acteurs2'";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$row= mysql_fetch_array($req);
$id_acteurs = htmlentities(StripSlashes($row["id_acteurs"]));
if($row==$nom_acteurs2)
{
$sql = "insert into tbl_acteurs_fiche(id_acteurs_fiche, id_acteurs, id_fiche) values(\"\",\"$id_acteurs\",\"$id_fiche\")";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
else
{
$sql = "insert into tbl_acteurs(id_acteurs, nom_acteurs) values(\"\",\"$nom_acteurs2\")";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$id_acteurs = mysql_insert_id();
$sql = "insert into tbl_acteurs_fiche(id_acteurs_fiche, id_acteurs, id_fiche) values(\"\",\"$id_acteurs\",\"$id_fiche\")";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
}
.................
...............
...............
...........
Bien "évidemment ca fonctionne pas comme je veux !
Si quelqu'un peut m'aider ...
Merci par avance |
|
| |
|
 |
jeroen WRInaute accro

Inscrit le: 30 Aoû 2002 Messages: 2289
|
Posté le : Dim Nov 07, 2004 0:12 Sujet du message: Controle doublons et champs existants insertion mysql |
|
|
Impossible de se plonger dans ton code...
Morcèle le et identifie plus précisement la partie qui bug...
Au début j'ai vu ça :
| Citation: |
Je récupére dabbord lID fiche de l'insert précendent :
$id_fiche = mysql_insert_id(); |
Il me semble que le mysql_insert_id() n'est disponible qu'apres un insert..
ici il doit retourner false... |
|
| |
|
 |
cr500 WRInaute occasionnel

Inscrit le: 13 Oct 2004 Messages: 230
|
Posté le : Dim Nov 07, 2004 11:38 Sujet du message: Controle doublons et champs existants insertion mysql |
|
|
moi je te conseil pour savori si la variable existe dutilisé
isset()
| Code: |
| if(isset($variable)) |
attention si la variable issu d un formulaire
| Code: |
$_REQUEST[variable]
(= $variable ) |
|
|
| |
|
 |
max6 WRInaute occasionnel

Inscrit le: 18 Mai 2003 Messages: 168
|
Posté le : Dim Nov 07, 2004 16:26 Sujet du message: Controle doublons et champs existants insertion mysql |
|
|
Ok pour la vérification du champs mais le probleme vient surtout du controle de l'existence de l'enregistrement dans ma table mysql , d'ou le select du début !
Le insert du début signifie qu'on le récupere apres un enregistrement que je n'ai volontairement pas mis dans le code puisque ca ne sert a rien dans le cas présent
Il faut juste combiner le controle du champ rempli et l'existence de l'enregisrement et procéder aux actions necessaires selon le résultat du select .
Max |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
|
|