【问题标题】:best way to retrieve data from few mysql tables with php用php从几个mysql表中检索数据的最佳方法
【发布时间】:2011-10-25 19:12:41
【问题描述】:

需要从几个表中获取数据 -表一包含所有产品详细信息和 product_id - 表二有额外的细节,与 product_id 相关联

从所有表中获取数据并将它们存储在同一个数组中的最佳方法是什么,或者最好是单独的数组但长度相同

如果我从表 1 中获取数据使用

 $result = mysql_query("SELECT product_id,model,name,barcode FROM product");  
 $data = array();
 while($row = mysql_fetch_assoc($result))
 {
  $data[] = $row;
 }

我应该循环遍历 data[$i]['product_id'] 并再次查询并存储在新数组中吗? 例如

   $data2 = array();

   for($j=0; $j<=$count; $j++){
    $id = $data[$j]['product_id'];
    $result2 = mysql_query('SELECT stuff FROM product_descp WHERE product_id = $id');
    $row2 = mysql_fetch_array($result2);
    $data2[] = $row2['stuff'];
   }

【问题讨论】:

    标签: php mysql arrays associate


    【解决方案1】:

    最好的方法是让数据库处理一个大查询,而不是执行许多不同的查询(每个产品一个):

    SELECT product_id,model,name,barcode 
    FROM product 
    JOIN product_descp 
    ON product.product_id = product_descp.product_id
    

    按照您的操作将其提取到数组中,就可以了。

    【讨论】:

      【解决方案2】:

      由于这些表共享一个 product_id 字段,您可以在共享该 ID 的所有表之间执行 JOIN 查询,并将每个表中的所有列作为一个数组返回。 http://www.w3schools.com/sql/sql_join.asp

      【讨论】:

        猜你喜欢
        • 2015-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-14
        • 1970-01-01
        • 2012-12-09
        • 1970-01-01
        • 2016-12-30
        相关资源
        最近更新 更多