如何从基于数组的mysql列获取值数组

时间:2012-01-08 03:01:57

标签: php mysql

我是PHP的新手,因为我正在进入数组,它让我为一个循环。没有双关语。以下所有内容都是我目前所需要的。 $ datum包含我需要的提交ID数组。我接下来要做的是查询一个表,将$ datum中的所有提交ID与Image ID列匹配,并将该结果放入包含所有图像ID的数组中。然后我需要查询图像表以获取每个图像ID的文件名,并将其放入SELECT框中。我只是不确定如何使用数组处理循环。我不能做FOR FOR EACH和WHILE做我需要的东西。我在代码下面用简单的英语写了我喜欢做的事情。谢谢你的帮助。

<?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 =来自上方结果的新数组

THEN

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

THEN

放入选择框。

其中一些我可以努力并试图弄清楚但是现在我似乎无法从基于另一个数组的表中的一列获取值数组。对其余的任何帮助都只是肉汁。提前谢谢。

2 个答案:

答案 0 :(得分:0)

好像你需要在基准查询中加入image_id和filename。我还建议您不要使用mysql_*并使用PDO或其他包装器。你应该至少清理你的输入,特别是如果它是用_GET获得的。

答案 1 :(得分:0)

如果您创建一个连接表之间的所有数据而不是在PHP端进行连接的查询,则可能更简单。很难理解您的数据库和表关系,但绝对是在SQL端进行的,并且不会每次为要加入的表查询数据库。