2017-12-15 12 views
0

これは、1つのテーブルをエコーするコードです。誰も同じデータベース内の2つのテーブルをエコーすることができますか?データベースから一度に2つのテーブルをエコーする

<?php 
include 'dbconfig.php'; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 

if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT * FROM table1"; 
$result = $conn->query($sql); 

if ($result->num_rows >0) { 
    // output data of each row 
    while($row[] = $result->fetch_assoc()) { 

     $tem = $row; 

     $json = json_encode($tem); 
    } 
} else { 
    echo "0 results"; 
} 
echo $json; 
$conn->close(); 

答えて

0
<?php 
include 'dbconfig.php'; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 

if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT * FROM t1"; 
$sql_1 = "SELECT * FROM t2"; 


    $result = $conn->query($sql); 
    $result_1 = $conn->query($sql_1); 

    if ($result->num_rows >0) { 
    // output data of each row 
    while($row[] = $result->fetch_assoc()) { 
    $tem = $row; 
    $json = json_encode($tem); 
    $a1 = rtrim($json , ']'); 

    } 
    } else { 
    echo "0 results"; 
    } 

if ($result_1->num_rows >0) { 
    // output data of each row 
    while($row_1[] = $result_1->fetch_assoc()) { 

    $tem_1 = $row_1; 

    $json_1 = json_encode($tem_1); 

    $a2 = ltrim($json_1 , '['); 

    } 

} else { 
echo "0 results"; 
} 

echo $a1 , ',' ; 
echo $a2 ; 
$conn->close(); 
?> 
1

あなたはただ1つの行だけを放出しますか?問題は、各行に対して何度も何度も上書きすることです。

+0

私はちょうどループ上のブレースを入れてお勧めします。コードを正しく実行しないと、ループにロジックが追加されたときにそれらを追加するのを忘れてしまいます。 – nerdlyist

0

あなたは2つのテーブルを尋ねているようですので、別のクエリを実行して、さらにいくつかのjsonをエコーアウトしたいと思っています。 JSONは、私は、これはあなたが二回エコーすることはできませんAJAX呼び出しを経由してあるかもしれないと仮定エコーされているので

これらの仮定が正しいと文字通り余分な処理は、それらの間の行に存在しない場合は、その後、ループあなたが求めているものを行うための最も直接的な方法はfetch_all()と別のクエリである:

<?php 
include 'dbconfig.php'; 

$conn = new mysqli($servername, $username, $password, $dbname); 

if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

//Table1 query and fetch_all give an array back 
$sql = "SELECT * FROM table1"; 
$result = $conn->query($sql); 
$table1 = $result->fetch_all(); 

//Table2 and fetch_all give an array back 
$sql = "SELECT * FROM table2"; 
$result = $conn->query($sql); 
$table2 = $result->fetch_all(); 

//Send json of both in one line 
echo $json_encode(array($table1,$table2)); 

//Check on other side if it is empty. That is more view related. 
関連する問題