close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

Data Assist Wizard with multiple tables

Thread begun 10/21/2009 12:20 pm by chadhuskey391193 | Last modified 10/23/2009 4:03 pm by Jason Byrnes | 3148 views | 7 replies |

chadhuskey391193

Data Assist Wizard with multiple tables

I've got a bit of a newbie question here so please be patient. I don't have any PHP experience and very little MySQL, but I'm working on that :)

I have an Items table with these columns:

ItemNumber (key)
ItemName
ItemDesc
ItemPrice
MSRP

and a Color table with these columns:

Color_ID (key)
ItemNumber (matches the ItemNumber field in the Items table)
Color

I've created both tables using MySQL Administrator and I haven't created any relationships between them.

Basically the Color table stores the color information for the items in the Items table. We have several products that have multiple colors so that's why I set up a separate table for that. I'll need to create more tables for things like sizes and manufacturer, but I wanted to get two tables working and then go from there to make sure I understand the process.

When I step through the data assist wizard I can only define a connection to one table as far as I can tell. How would I use data assist to pull data from more than one table at a time?

Thanks!

Sign in to reply to this post

Jason ByrnesWebAssist

When running the data assist wizard, you cannot use multiple tables.

You need to create this part by hand using the data assist server behaviors.


in your case, the colors table should be set up like:
colors:
colorID
colorName


then you would have a third table to use as a linking table:
prodColor:
prodColorID - Primary key
prodColorColorID - foreign Key relation to colors.colorID
prodColorProductID foreign Key relation to items.ItemNumber


on the product insert page crated by DataAssist, create a new recordset:
SELECT * FROM colors to return all colors


add a checkbox to the page, and set the checked value to come from the colorID column of the recordset you just createed:

php:
<input name="color" type="checkbox" id="color" value="<?php echo $row_rsName['colorID']; ?>"><?php echo $row_rsName['colorName']; ?>




Then use the Manage relational Table server behavior.

Sign in to reply to this post

chadhuskey391193

Thanks for the reply. I'll look into the method you've described here.

I also talked to a friend of mine that does DB programming and he suggested maybe using a view. I don't see the option to use that in data assist, only a table, but I thought I'd ask to make sure that wasn't an option also.

Thanks again for the help!

Sign in to reply to this post

Jason ByrnesWebAssist

The Data returned from a view is read only, you cannot update or insert data to a view.



Since the idea with DataAssist is to create pages to manage the data in your database, you wont be able to use a view.

Sign in to reply to this post

chadhuskey391193

I finally have some time to actually sit down and work on this today. A couple of questions:

1. If I add more options, such as size, can I still use one table to link them together? Such as

ProdOptions:

ProdOptionsID: Primary key
ProdOptionsColorID: foreign key relating to colors.colorID
ProdOptionsSizeID: foreign key relating to size.sizeID
ProdOptionsProductID: foreign key relating to Items.ItemID

So if ItemA comes in ColorA, ColorB, SizeA, and SizeB there would be four rows in the ProdOptions table to cover the combinations?

2. Also if I wanted to do a drop down menu on the page instead of a checkbox how would that be handled?

I feel like I'm a little slow getting started on this because I'm totally new to MySQL/PHP, but I do feel like WA has put out really good products and I have to say the level of support on the forums has been excellent.

I've had some problems making my way through the tutorials, but I don't know if that has to do with my lack of experience with a new work environment. I did manage to make it through them though and they were very helpful in the end.

Thanks!


Originally Said By: Jason Byrnes
  When running the data assist wizard, you cannot use multiple tables.

You need to create this part by hand using the data assist server behaviors.


in your case, the colors table should be set up like:
colors:
colorID
colorName


then you would have a third table to use as a linking table:
prodColor:
prodColorID - Primary key
prodColorColorID - foreign Key relation to colors.colorID
prodColorProductID foreign Key relation to items.ItemNumber


on the product insert page crated by DataAssist, create a new recordset:
SELECT * FROM colors to return all colors


add a checkbox to the page, and set the checked value to come from the colorID column of the recordset you just createed:
php:
<input name="color" type="checkbox" id="color" value="<?php echo $row_rsName['colorID']; ?>"><?php echo $row_rsName['colorName']; ?>



Then use the Manage relational Table server behavior.  
Sign in to reply to this post

Jason ByrnesWebAssist

1) yes, you could manage the multiple options that way.


2) The manage relational table server behavior does not support select lists. you would need to use a checkboxes.

Sign in to reply to this post

chadhuskey391193

Thanks for the response.

I would like to be able to use drop down selections, so if possible please point me in the right direction to accomplish this.

I had setup some static pages on our site prior to purchasing WA and used Paypal standard cart which has the option of the drop down selection that I like. Here's a link to the page I've setup on our current site:

2009demobikes2.html

The second bike down the page has the type of drop down I'd like to have generated.

Could this be accomplished via eCart, or would it still be done with DataAssist or another method?

From what I can tell all of the data sorting/selecting should be done prior and then eCart is just used to add the item to the cart, but I wanted to make sure.

I think I'm on the right track with the database structure thanks to your advice, I just want to make sure I can get my head around how to do this before I get too far along and have to back track.

Thanks

Sign in to reply to this post

Jason ByrnesWebAssist

On the download page eCart, see the eCommerce Recipes section. One of the recipes deals with Database Driven product options and will help you with creating a select list in the eCart pages.

Sign in to reply to this post

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...