我使用以下脚本从json中的一个表中检索了mysql数据
$table_first = 'abc';
$query = "SELECT * FROM $table_first";
$resouter = mysql_query($query, $conn);
$set = array();
$total_records = mysql_numrows($resouter);
if($total_records >= 1){
while ($link = mysql_fetch_array($resouter, MYSQL_ASSOC)){
$set[] = $link;
}
}
echo json_encode($set);
我如何从其他两个表中检索数据,其中两个表中都有该表的外键 . 或者我只是如何从php中的3个mysql表中检索数据 .
5 回答
您可以先获取所有数据 . 然后合并数据数组 . 最后使用json_encode更改数据格式 .
假设有两个表作为State(st_id,st_name)和City(ct_id,ct_name,state_id) . 现在,主键分别是表State和City的st_id和ct_id .
可以通过加入State.st_id和City.state_id来 Build 这两个表之间的连接 .
现在,为了从两个表State&City中检索数据,我们可以进行如下的sql查询,
使用上面的查询,您可以从数据库中获取数据并转换为json格式,并可以将其发送到Android系统 . 这是一篇很好的文章http://blog.sptechnolab.com/2011/02/10/android/android-connecting-to-mysql-using-php/ . 我希望你喜欢它 .
我相信最好的方法是使用JOIN或类似的东西:
如果单独进行查询,您将强制对数据库进行3次查询,并以最不需要的性能命中结束 . 因此,我们的想法是使用连接或类似的方法从数据库加载所有数据,然后对结果进行编码 . 更快,你将把合并工作留给MySQL
希望我能帮忙
我相信你的代码大致会是这样的:
列是您要显示的相关记录 . 同时,AS将成为JSON中的关键名称 .
这两个表中都有一个外键,因此您可以使用“join”从其他表中检索值 .