2017-08-10 46 views
1

你好

我沒有找到插入多個選擇MySQL的表列單PHP陣列上我的問題的任何解決方案。如何將多個選擇的MySQL的列單PHP數組

$sql = "SELECT * FROM zaznam,client WHERE zaznam.id_client=client.id_client 
AND zaznam.id_client=1"; 
$result = mysql_query($sql); 

$data = array(); 
while ($row = mysql_fetch_assoc($result)) { 
$data[] = $row; 
} 
echo json_encode($data); 

- 編輯:我需要 「zaznam.date」, 「zaznam.rozdil」 和 「client.limit」,而不是在WHERE parametr該id_client。

此代碼插入到我的表的所有列的Array中。但我想達到的解決方案,我可以在這個數組中只插入一些列。

我試了3個小時左右才發現這個東西有什麼想法。也許我錯過了一些東西,比如果你鏈接我的解決方案,它也會很棒。

我希望我把每次你需要幫助我:)

Chosse

+0

您可以指定所需列而不是使用'*'。 –

+0

在sql中選擇你想要的列而不是'*'(這都是)? – Matt

+0

在您的選擇查詢中添加所需的列名稱。它會進行優化,並擺脫陣列上不必要的列。 –

回答

0

快速SQL教程..

,你希望它有一個表可以有那麼多的列如讓我們稱之爲此表Users

ID | Name | Email | DateOfBirth

你可以從這個表做

SELECT * FROM Users

如果你只想要1列中選擇ALL記錄你需要將其命名爲

SELECT Email FROM Users

讓我們添加在

ID | Name | Email | DateOfBirth

1 | Test | [email protected] | 01/01/1990

2 | Test2 | [email protected] | 01/01/1990

如果我們只希望得到與ID = 2記錄一些數據,那麼我們就用一個WHERE條款

SELECT * FROM Users WHERE ID = 2

我們就可以選擇只選擇某些列,只能看排在那裏ID = 2

SELECT Name, Email FROM Users WHERE ID = 2

只是因爲我使用的WHEREID並不影響我在選擇

我可以繼續選擇了但真的..回到基礎知識,並從教程學習SQL

爲您的特定查詢做到這一點(親自,使用INNER JOIN而不是,分離聯接更好,更容易閱讀 - 它們是就他們所做的而言,完全一樣):

SELECT zaznam.date, zaznam.rozdil, client.limit 
FROM zaznam 
INNER JOIN client ON zaznam.id_client = client.id_client 
WHERE zaznam.id_client=1 
+0

哦,謝謝<3 學校吮吸然後:D –

3

而不是選擇所有的列(SELECT *)的,列出您以後SELECT條款想要的列信息。

例如爲:

SELECT zaznam.id_client, zaznam.other_field, client.name, client.something_else 
FROM zaznam,client 
WHERE zaznam.id_client=client.id_client 
    AND zaznam.id_client=1 
+0

這將選擇4個「id_client」作爲WHERE子句的參數列。但是我需要3個沒有「id_client」的列,我把它放到PHP數組中。 –

+1

@ChosseMartiny只是不要選擇它。你甚至已經使用Google搜索並瞭解它?第1步是學習select語句'SELECT zaznam.date,zaznam.rozdil,client.limit FROM ...' – Matt

+0

我瞭解到,在SELECT子句中必須命名偶數列的WHERE子句。 例如:「SELECT date FROM zaznam WHERE id_client = 1」將無法工作。 –

相關問題