alecnash
alecnash

Reputation: 1768

how to connect two tables with sql and php

I am a bit new to sql and php so I need some help here. I created two tables and I want to establish a 'one-to-many relationship' but I can't figure out how I can give the data through the php file. Here is some code:

   CREATE TABLE `details` (
  `details_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL,
  `latitude` double NOT NULL,
  `longitude` double NOT NULL,
  `mytext` varchar(60) NOT NULL,
  `description` varchar(600) NOT NULL,
  `city_details` int(11) NOT NULL,
  PRIMARY KEY (`details_id`),
  FOREIGN KEY (`city_details`) REFERENCES city(`city_id`)
  on update cascade
);

CREATE TABLE  `city` (
  `city_id` int(11) NOT NULL AUTO_INCREMENT,
   `cityName` varchar(30) NOT NULL,
  PRIMARY KEY (`city_id`)
);

So I want to write a cityName and then be able to give some data for various places of the city. How can I create a php file so that I will only have to give the name of the city (to table city) and then write things for multiple locations inside the city (to table details).

Upvotes: 1

Views: 7741

Answers (1)

Christian Smorra
Christian Smorra

Reputation: 1754

$sql="SELECT * FROM `details` as d INNER JOIN `city` as c ON d.city_details=c.city_id;";

if you want to look for a city name you can use this

$sql="SELECT * FROM `details` as d INNER JOIN `city` as c ON d.city_details=c.city_id WHERE c.cityName='The name you're looking for'";

then to fetch everyting from the table use this code

while($row=mysql_fetch_assoc(mysql_query($sql))){
  echo $row['name']; //for name
  echo $row['mytext']; //etc.
}

for more info see http://dev.mysql.com/doc/refman/5.1/en/join.html and http://php.net/manual/en/function.mysql-fetch-assoc.php

Upvotes: 1

Related Questions