簡體   English   中英

如何基於數組從mysql列獲取值數組

[英]How to get an array of values from a mysql column based on an array

我是PHP的新手,在進入數組時,它使我陷入循環。 無雙關語。 到目前為止,以下所有內容都為我提供了所需的信息。 $ datum包含我需要的一組提交ID。 接下來,我想查詢一個表,以將$ datum中的所有提交ID匹配到Image ID列,然后將結果放入包含所有image ID的數組中。 然后,我需要查詢圖像表以獲取每個圖像ID的文件名,並將其放入SELECT框中。 我只是不確定如何使用數組循環。 我只是做不到而只做我所需要的。 我已經將Id想要做的事情用簡單的英語放在代碼下面。 謝謝你的幫助。

<?php
$mask5 = $_GET["var1"];
require("codebase/grid_connector.php");
$res = mysql_connect("", "", "");
mysql_select_db("supplydb");
//Get Category ID
$cat    = mysql_query("SELECT category FROM submissions WHERE submissions.submission_id='$mask5'");
$rows   = mysql_fetch_array($cat, MYSQL_ASSOC);
$array  = $rows['category'];
//Get Manufactuer ID
$man    = mysql_query("SELECT manufacturer_id FROM submissions WHERE submissions.submission_id='$mask5'");
$arows  = mysql_fetch_array($man, MYSQL_ASSOC);
$array1 = $arows['manufacturer_id'];
//Get All Submission ID's for this popup
$datum  = array();
$result = mysql_query("SELECT submission_id FROM submissions WHERE submissions.category='$array' AND submissions.manufacturer_id='$array1'");
while ($rowd = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $datum[] = $rowd;
} 

//////喜歡做什么

mysql_query("SELECT image_id FROM imagsub WHERE image_id = $datum[]...

$ answers =以上結果中的新數組

然后

mysql_query("SELECT filename FROM images WHERE image_id = $answers[]

然后

放入選擇框。

其中一些我可以嘗試解決,但現在看來似乎無法從基於另一個數組的表的一個列中獲取值數組。 其余的任何幫助都只是肉汁。 提前致謝。

好像您需要在基准查詢中加入image_id和filename一樣。 我還建議您不要使用mysql_*而應使用PDO或其他一些包裝器。 您至少應該清理輸入,尤其是通過_GET獲取的輸入。

如果您創建一個將表之間的所有數據連接起來的查詢,而不是在PHP端進行操作,則可能會更簡單。 很難理解您的數據庫和表之間的關系,但是絕對可以在SQL端做到這一點,並且不必每次都查詢要連接的每個表的數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM