PDA

View Full Version : Adding fields, need help finishing....


SuperG
10-09-2002, 01:12 AM
Ok, I'm needing to add a few fields to New Threads.

This is what I've done thus far:
I've added the fields I need in the thread table in the vb database.

In showthread.php, I added this:
$trader_price = $thread['trader_price'];
$trader_shipping = $thread['trader_shipping'];
$trader_payment = $thread['trader_payment'];
$trader_man = $thread['trader_man'];
$trader_trade = $thread['trader_trade'];
$trader_condition = $thread['trader_condition'];
$trader_age = $thread['trader_age'];

and added the fields to newthread.php, which would look like this:
$DB_site->query("INSERT INTO thread (threadid,title,lastpost,forumid,open,replycount,
postusername,postuserid,lastposter,dateline,iconid ,
visible,attach,trader_price,trader_shipping,trader _payment,
trader_man,trader_trade,trader_condition,trader_ag e) VALUES (NULL,'".addslashes(htmlspecialchars($subject))."','".time()."','$forumid','1','0','".addslashes($postusername)."',
'$bbuserinfo[userid]','".addslashes($postusername)."','".time()."','$iconid','$visible','$attachcount','$trader_pri ce','$trader_shipping','$trader_payment','$trader_ man','$trader_trade',
'$trader_condition','$trader_age'");


Now, when I submit this stuff, its not writing to the database, so I really don't know if the other parts are working correctly. So, if anyone has any suggestions, please me know. Thanks in advance!

SuperG
10-09-2002, 01:20 AM
UPDATE:
I get this error:

Database error in vBulletin 2.2.7:

Invalid SQL: INSERT INTO thread (threadid,title,lastpost,forumid,open,replycount,p ostusername,postuserid,lastposter,dateline,iconid, visible,attach,trader_price,trader_shipping,trader _payment,trader_man,trader_trade,trader_condition, trader_age) VALUES (NULL,'You can\'t see this either','1034129905','14','1','0','SuperG','1','Su perG','1034129905','1','1','1','1200.00','00.00',' Check','WDP','Yes','Brand New','1-3 Months'
mysql error: You have an error in your SQL syntax near '' at line 1

mysql error number: 1064

Date: Tuesday 08th of October 2002 08:18:25 PM
Script: http://www.southernpaintball.com/forums/forums/newthread.php
Referer: http://www.southernpaintball.com/forums/newthread.php?action=newthread&forumid=14

Erwin
10-09-2002, 02:00 AM
Easy fix:

Change this:

'You can't see this either'

To this:

'You cannot see this either'

You had 2 ' symbols in the wrong place! :)

You cannot use "can't" because the ' symbol conflicts with the query line.

SuperG
10-09-2002, 02:10 AM
ok then, that was the subject of the post so it shouldn't matter, i mean, regular posts have apostrophe's in them.

Any other suggestions?

Erwin
10-09-2002, 02:18 AM
I know regular posts have apostrophe's in them, but you are putting that in a query - each query variable has a ' around them to delineate them, but you have a ' inside 2 ' within a variable which will cause a mysql syntax error. PHP thinks your variable is 'You can' because the ' in can't has ended that variable, but there is no comma so the syntax error occurs.

Erwin
10-09-2002, 02:18 AM
Just make the changes, and the syntax error should be resolved.

SuperG
10-09-2002, 02:27 AM
lemme try dat..i'll post again.....

SuperG
10-09-2002, 02:39 AM
I went back to the original newthread.php file and everything worked. THAT has the subject in it, so its not what you suggested. I added my other values back, and it again does not work. So, its something with the new stuff I'm adding which, but I can't find a problem with it. Any other suggestions?

Erwin
10-09-2002, 02:52 AM
Ahhh... I see what you mean... you're right... I thought you had that statement in a query in a PHP file... :) Should have read your posts better...

Try this:

Find:


'$trader_age'");


Change to:


'$trader_age')");


I think you may be missing a bracket ) symbol there. :)

SuperG
10-09-2002, 03:06 AM
Ok, that fixed the problem with writing it to the database.

Now, with what I have posted above, its not calling it up from the database. Any suggestions there?

SuperG
10-09-2002, 03:31 AM
thanks btw

Erwin
10-09-2002, 03:37 AM
The code in your showthread.php is wrong - it is not needed.

What you need to do is add an extra line that does a query on your database to call up those variables in showthread.php (ie. does the opposite of the write query in newthread). You cannot get those variables without a db query unfortunately. Once you have called those variables, you don't need the code you have in the first post for showthread.php.

The $thread['trader_trade'] variable will automatically work in your template - no need to specify it - but you must add a db query first.

Erwin
10-09-2002, 03:43 AM
Something like:

$trader = $DB_site->query_first("SELECT trader_price,trader_shipping,trader_payment,trader _man,trader_trade,trader_condi tion,trader_age FROM thread WHERE XXX");

Replace XXX with whatever condition you want...

Then use the variable $trader[trader_price] in your templates.

SuperG
10-09-2002, 05:08 AM
I tried this:

$trader = $DB_site->query_first("SELECT
trader_price,trader_shipping,trader_payment,trader _man,
trader_trade,trader_condition,trader_age FROM thread WHERE
threadid = '$threadid'");

BUT, when I try to call it up in the postbit, it just gives me the variables. So, I actually think I'm adding the above in the wrong part of showthread.php, but I'm not really sure where to add it at. Pardon my "newness"...just getting into this stuff.

SuperG
10-09-2002, 05:21 AM
I'm guessing this actually needs to go somewhere in functions.php possibly. Anyone got any ideas?

Erwin
10-09-2002, 06:17 AM
What do you want it to do???

If you want to display variables in the postbit, yes you need to put that in functions.php. Bear in mind that it will increase your server load by adding 1 query FOR EACH POST in a thread that you show, so if someone is showing a thread with 40 posts, that is 40 EXTRA queries on top of the normal showthread queries.

SuperG
10-09-2002, 11:38 AM
I'm only wanting it to show up on the first postbit, and I'm only calling them in the first postbit. Not sure if that matters.

Well, I entered the code:
$trader = $DB_site->query_first("SELECT trader_price,trader_shipping,trader_payment,trader _man,trader_trade,trader_condition,trader_age FROM thread WHERE threadid = '$threadid'");
into the functions.php, but I'm getting and error. So, I must be placing it in the wrong spot or I edited the code above wrong in the condition spot. And help with those parts? Thanks for your help thus far...much appreciated!

SuperG
10-09-2002, 11:43 AM
I guess I'm asking which function does this query go under and if have this correct:
WHERE threadid = '$threadid'

SuperG
10-09-2002, 09:45 PM
bumper