1

1 つのクエリ内で複数のテーブルからデータの配列を取得することは可能ですか? たとえば、table1 から配列を取得していますが、他のいくつかのテーブルからもデータを取得したいと考えています。

<?php


   $con = mysql_connect($hostname,$username, $password);
   if (!$con)
     {
     die('Could not connect: ' . mysql_error());
   }
   mysql_select_db($dbname, $con);

   $today = date('Y-m-d H:i:s', time());
   $today1DayAgo = date('Y-m-d H:i:s', strtotime("$today -1 day"));
   $query = "SELECT * FROM table1 WHERE omtr_date BETWEEN '$today1DayAgo' AND '$today'";

   $result = mysql_query($query);

   while($row = mysql_fetch_array($result)){
       echo $row["omtr_page_view"]);
   }

   mysql_close($con);

  ?>

ありがとう

4

3 に答える 3

0

Mysql結合を使用します。

次に例を示します。

<?php
// Make a MySQL Connection

// Construct our join query
$query  = "SELECT family.Position, food.Meal ";
$query .= "FROM family INNER JOIN food ";
$query .= "WHERE family.Position = food.Position";

//Execute query  
$result = mysql_query($query) or die(mysql_error());

// Print out the contents of each row into a table 
while($row = mysql_fetch_array($result)){
    echo $row['Position']. " - ". $row['Meal'];
    echo "<br />";
}
?>

mysql結合のその他の例はここにリストされています:http://phpweby.com/tutorials/mysql/32

于 2013-01-07T13:30:47.397 に答える
0

table1 の 1 つの列が table2 の主キーである、または何らかの関係 (同じ列など) であるなど、テーブルに共通点がある場合は、JOINS を使用できます。

それ以外の場合は、UNION も使用できます。

SELECT omtr_date1.a AS a1, omtr_date1.b AS b1 FROM table1 WHERE omtr_date1 BETWEEN '$today1DayAgo' AND '$today'
UNION
SELECT omtr_date2.c AS a1, omtr_date2.d AS b1 FROM table1 WHERE omtr_date2 BETWEEN '$today1DayAgo' AND '$today'

ただし、両方の select ステートメントは、同じ列名を持つ同じ数の列を生成する必要があります。

それはあなたにとって良いことです。

于 2013-01-07T12:06:27.867 に答える
0

結合を使用してこれを行うことができます。

例えば

SELECT t1.*, t2.id, t2.someothercolumn FROM table1 t1 LEFT JOIN table2 t2 ON t1.id=t2.t1_id WHERE omtr_date BETWEEN '$today1DayAgo' AND '$today'

(未テスト)

それらについて読む価値があるかもしれません.. http://www.sitepoint.com/understanding-sql-joins-mysql-database/

于 2013-01-07T11:50:33.650 に答える