/    Sign up×
Community /Pin to ProfileBookmark

Combing User table with Form table

I have setup a login system on my site, in which the logged in user (user table) would be able to fill out an insurance form that’s saved in the database in a separate table – form_one table.

[B][U]user table[/U][/B]

username – varchar(30), Null: No, Default: None – [B][I]Primary Key[/I][/B]
password – varchar(32), Null: Yes, Default: NULL
userid – varchar(32), Null: Yes, Default: NULL
userlevel – tinyint(1), UNSIGNED, Null: No, Default: None
email – varchar(50), Null: Yes, Default: NULL
timestamp – int(11), UNSIGNED, Default: No, Default: None
valid – tinyint(1), UNSIGNED, Null: No, Default: 0
name – varchar(50), Null: Yes, Default: Null

[B][U]form_one table[/U][/B]

formid – varchar(32), Null: No, Default: None – [B][I]Primary Key[/I][/B]
username – varchar(30), Null: No, Default: None – [B][I]Foreign Key[/I][/B]
email – varchar(50), Null: Yes, Default: NULL
phone – varchar(12), Null: No, Default: None
address – varchar(50), Null: No, Default: None
timestamp – int(11), UNSIGNED, Null: No, Default: None
name – varchar(50), Null: Yes, Default: NULL
quotationinsurance – enum(‘insurance’, ‘quotation’), Null: No, Default: None
etc…

[B][U]Below is my php function for UPDATE & SELECT[/U][/B]

function updateUserForm($username, $field, $value){
/*$q = “UPDATE “.TBL_FORM_ONE.” SET “.$field.” = ‘$value’ WHERE username = ‘$username'”;*/ – [I]Original code[/I]
$q = “UPDATE “.TBL_USERS.”, “.TBL_FORM_ONE.” SET “.$field.” = ‘$value’ WHERE username = ‘$username'”;
return mysql_query($q, $this->connection);
}

function getUserForm($username){
/*$q = “SELECT * FROM “.TBL_FORM_ONE.” WHERE username = ‘$username'”;*/ – [I]Original code[/I]
$q = “SELECT *
FROM ‘TBL_USERS’, ‘TBL_FORM_ONE’ WHERE ‘username’ = ‘$username’ AND TBL_USERS.username = ‘TBL_FORM_ONE.username'”;
$result = mysql_query($q, $this->connection);
/* Error occurred, return given name by default */
if(!$result || (mysql_numrows($result) < 1)){
return NULL;
}

How can I join these two tables where the username in both tables are tied together. In other words, once a user is logged in, they can fill out the form and the data from that form would be tied to each unique user.

Any help would be appreciated! 🙂

to post a comment
PHP

4 Comments(s)

Copy linkTweet thisAlerts:
@bionoidDec 29.2011 — You could do it like this:

[CODE]SELECT u.*, f.*
FROM TBL_USERS u
JOIN TBL_FORM_ONE f ON f.username = u.username
WHERE u.username = '$username'[/CODE]


If columns in both tables have the same name, the later will take precedence, unless you give them different aliases of course.
Copy linkTweet thisAlerts:
@swalker-1974authorDec 29.2011 — Thanks! I'll give it a shot.
Copy linkTweet thisAlerts:
@swalker-1974authorDec 29.2011 — Would the UPDATE function be done in a similar way?
Copy linkTweet thisAlerts:
@bionoidDec 29.2011 — Would the UPDATE function be done in a similar way?[/QUOTE]

Although I don't personally do it this way, I believe it works the same:

[CODE]UPDATE TBL_USERS u
JOIN TBL_FORM_ONE f ON f.username = u.username
SET u.email = 'test@test', f.email = 'test@test'
WHERE u.username = '$username'[/CODE]
×

Success!

Help @swalker-1974 spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.20,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...