Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/06/2005, 14h30   #1
Invité de passage
 
Inscription : juin 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 2
Points : 1
Points : 1
Par défaut postgres - php recuperer un champ de table et le reutiliser

Bonjour,
Je debute dans le truc, ne soyez pas trop durs
Mon soucis
j'ai deux tables une table entreprise et une table contact.
dans ma table contact j'ai comme fk la cle de la table entreprise.

je veux, a partir d'un formulaire php, ajouter des tuples dans la table contact.
mon formulaire a un champ entreprise qui renvois le nom de l'entreprise.

je pensais (je sais ...) faire une recherche sur la table entreprise en fonction du nom passe et recuperer l'id de la societe. ca marche j'arrive a afficher l'id.
Apres je veux recuperer cet ID pour faire une requete "insert into" sur la table contact; c'est la que ...

voici ce que j'ai ecrit:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
<?
//variable de mon formulaire
$ent=$_POST['nom_ent'];
$prenom=$_POST['prenom_ct'];
$nom=$_POST['nom_ct'];
$fonction=$_POST['fonction_ct'];
$tel=$_POST['tel_ct'];
$mail=$_POST['mail_ct'];
 
 
//je recupere le nom de l'entreprise et fait une requete pour recuperer son ID
$result=pg_exec($conn,"SELECT id_ent FROM entreprise WHERE nom_ent='$ent';");
$rows=pg_numrows($result);
if ($result)
{
for ($i=0; $i < $rows;$i++)
{
$myarray=pg_fetch_row($result,$i);
echo ("$myarray[0]\n");
}
}
//jusque la tout va bien ;-)j'ai bien l'ID correspondant au nom de l'entreprise
$resultat=pg_exec($conn,"INSERT INTO contact(id_ct,id_ent,prenom_ct,nom_ct,fonction_ct,tel_ct,mail_ct) VALUES (NEXTVAL('contact_id_ct_seq'),'".$result[0]."','$prenom','$nom','$fonction','$tel','$mail');");
$rows2=pg_numrows($resultat);
IF ($resultat)
{
FOR ($i=0; $i < $rows2;$i++)
{
$myarray=pg_fetch_row($rows2,$i);
echo ("array: $myarray[0] - $myarray[1]<br>- $myarray[2]<br>- $myarray[3]<br>- $myarray[4]<br>- $myarray[5]<br>\n");
}
}
else
{
printf ("ERROR");
$errormessage = pg_errormessage($db);
echo $errormessage;
exit;
}
 
?>
et voila le message d'erreur:

Code :
Warning: pg_exec() query failed: ERROR: pg_atoi: zero-length string IN /xxxxx/xxx/xxxxx/ajout-contact.php ON line 32
Quelqu'un peux me dire ou je m....

merci
zaltern est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2005, 15h55   #2
Invité de passage
 
Inscription : juin 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 2
Points : 1
Points : 1
j'ai trouvé
l'erreur était la :
fallait mettre
Code :
1
2
 
$resultat=pg_exec($conn,"INSERT INTO contact(id_ct,id_ent,prenom_ct,nom_ct,fonction_ct,tel_ct,mail_ct) VALUES (NEXTVAL('contact_id_ct_seq'),'".$myarray[0]."','$prenom','$nom','$fonction','$tel','$mail');");
zaltern est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h16.


 
 
 
 
Partenaires

Hébergement Web