繁体   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