2013-02-07 32 views
0

好了,所以我有3个表使用多个表的mysql

1.phone: ID 名 manufacturerid OSID

2.manufacturer manufacturerid manufacturername

3.os OSID osname

我怎样才能把数据从一个表(manufacturerid1 - > manufacturerid2和osid1> osid2)到第一个每次我想上传第一个表...

我甚至不确定我是否问正确的问题,我想要的是为制造商制作一张表,因此当我显示制造商名称时,我点击其中一个名称,并且每个属于该制造商/ os的电话都显示出来。

此外,我怎么可以更新通过PHP的数据(我的全部电话表是更长的时间与我不需要有更多的表使用数据)

这我意识到我需要manufacuter表之前使用的脚本(品牌)和操作系统(OperatingSystem),以便当我通过其中一个显示它们时,更多的同名制造商不会弹出。

<?php 
include 'connect.php'; 
mysql_select_db("phone", $connect); 


$id = $_POST['ID']; 
$name = $_POST['name']; 
$stock = $_POST['stock']; 
$brand = $_POST['brand']; 
$operatingsystem = $_POST['operatingsystem']; 
$camera = $_POST['camera']; 
$handset = $_POST['handset']; 
$screen = $_POST['screen']; 
$connectivity = $_POST['connectivity']; 
$batterylife = $_POST['batterylife']; 
$memory = $_POST['memory']; 
$messaging = $_POST['messaging']; 
$soundformat = $_POST['soundformat']; 
$price = $_POST['price']; 
$flag= $_POST['flag']; 

$sql = "UPDATE phone SET name='$name', stock='$stock', brand='$brand', operatingsystem='$operatingsystem', camera='$camera', handset='$handset', screen='$screen', connectivity='$connectivity', batterylife='$batterylife', memory='$memory', messaging='$messaging', soundformat='$soundformat', price='$price', flag='$flag' WHERE ID='$id' "; 


if (!mysql_query($sql,$connect)) 
{ 
die('Error: ' . mysql_error()); 
} 
echo "<h1>1 record was just updated in the database.</h1>"; 

mysql_close($con); 

?>  

回答

0

“我甚至不知道IM提出正确的问题,我要的是让生产厂家的表,所以当我显示制造商的名字,我点击的名字之一,每一个手机,属于该制造商/ os出现。“

在这种情况下,使容易对自己的事情,有一个表叫电话,一张桌子称为制造商和一个表,手机链接到制造商(也可能是另一个表的O/S?)

Manufacturer table: 
manufacturerID 
name 
otherData 
moreData 

Phone table: 
phoneID 
name 
phoneData 

OS Table: 
osID 
name 
osData 

Link Table: 
phoneID 
osID 
manufacturerID 

在链接表上执行所有搜索,然后简单地从其他表中检索想要的信息。

+0

好吧,我想这将帮助我,但是......我的主要问题是,我不知道如何从链接表manufacturerID获取信息从制造商表中获取它,以便它获取有关某个电话(电话表):( – Snyckey