|
|||||||
New to SitePoint Forums? Register here for free!
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
SitePoint Guru
![]() ![]() ![]() ![]() ![]() Join Date: Apr 2009
Posts: 919
|
How can I relate this two tables?
![]() If you notice in the picture there is no a submit bottom but let's suppose there is one. table one... MySQL Code:
What about if an user get to choose a food type of the select tags in the pictures, Then how can a query be formed to relate table one with table two which is called restaurant_food_types and is as below.. MySQL Code:
Thank you. |
|
|
|
|
|
#2 |
|
SQL Consultant
![]() ![]() ![]() Join Date: Jul 2002
Location: Toronto, Canada
Posts: 31,026
|
here is my suggestion:
Code:
CREATE TABLE restaurants ( id INTEGER NOT NULL PRIMARY KEY , name VARCHAR(255) NOT NULL , image VARCHAR(100) ); CREATE TABLE foodtypes ( id INTEGER NOT NULL PRIMARY KEY , foodtype VARCHAR(37) NOT NULL ); CREATE TABLE restaurant_foodtypes ( restaurants_id INTEGER NOT NULL , foodtypes_id INTEGER NOT NULL , FOREIGN KEY ( restaurants_id ) REFERENCES restaurants ( id ) , FOREIGN KEY ( foodtypes_id ) REFERENCES foodtypes ( id ) , PRIMARY KEY ( restaurants_id, foodtypes_id ) , INDEX reversi ( foodtypes_id, restaurants_id ) ); the restaurant_foodtypes table is called a many-to-many or association or relationship table |
|
|
|
|
|
#3 | |
|
SitePoint Guru
![]() ![]() ![]() ![]() ![]() Join Date: Apr 2009
Posts: 919
|
I am trying to import to mysql the format of the restaurant_foodtypes table into phpmyadmin in mysql 5.1 and it throw this error
Quote:
The mysql dump of the table restaurant_foodtypes in the mysql version in my computer dumps it as below without the FOREING KEY and REFERENCES you have add to it. - phpMyAdmin SQL Dump -- version 3.1.3.1 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: Nov 22, 2009 at 06:07 AM -- Server version: 5.1.33 -- PHP Version: 5.2.9-2 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Database: `menu` -- -- -------------------------------------------------------- -- -- Table structure for table `restaurants_foodtypes` -- CREATE TABLE IF NOT EXISTS `restaurants_foodtypes` ( `restaurants_id` int(1) NOT NULL, `foodtypes_id` int(1) NOT NULL, PRIMARY KEY (`restaurants_id`,`foodtypes_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -- Dumping data for table `restaurants_foodtypes` -- |
|
|
|
|
|
|
#4 |
|
SQL Consultant
![]() ![]() ![]() Join Date: Jul 2002
Location: Toronto, Canada
Posts: 31,026
|
foreign keys aren't gonna work for you anyway, because you're using MyISAM tables
|
|
|
|
|
|
#5 | |
|
SitePoint Guru
![]() ![]() ![]() ![]() ![]() Join Date: Apr 2009
Posts: 919
|
so it's ok if I leave like that?
Quote:
What would be the way to struture the way you have done it? |
|
|
|
|
|
|
#6 |
|
SQL Consultant
![]() ![]() ![]() Join Date: Jul 2002
Location: Toronto, Canada
Posts: 31,026
|
|
|
|
|
|
|
#7 |
|
SitePoint Guru
![]() ![]() ![]() ![]() ![]() Join Date: Apr 2009
Posts: 919
|
r937
The variables below are the one passed through the url to restaurantslist.php PHP Code:
I want to form a query where a list of restaurants display according to the foodtype the user has selected. Query... Code:
$query3= "SELECT r.restaurantname, r.image FROM restaurants r INNER JOIN foodtypes f ON id = id WHERE r.restaurnatname = what?"; Another question how is Restaurants_foodtypes table is used? I have learn that's the link in between the restaurant table and the footypes table. |
|
|
|
|
|
#8 |
|
SQL Consultant
![]() ![]() ![]() Join Date: Jul 2002
Location: Toronto, Canada
Posts: 31,026
|
i'm sorry, i don't do php
don't give up though, there are several really good php guys in this forum ![]() |
|
|
|
|
|
#9 | |
|
SitePoint Guru
![]() ![]() ![]() ![]() ![]() Join Date: Apr 2009
Posts: 919
|
Mr. r937 forget about the php.
Quote:
How is it possible to have a query where the r.restaurantname and r.image of the restaurants that contain x foodtype based on users choices? |
|
|
|
|
![]() |
| Bookmarks |
«
Previous Thread
|
Next Thread
»
| Thread Tools | |
| Display Modes | |
|
|
|
All times are GMT -7. The time now is 22:20.














Linear Mode
