我今天来这里是因为我遇到了一个我似乎无法解决的小问题,这就是它出现在这里的原因。 问题是我试图从 $_GET 变量中获取多个 ID 以打印出来。我尝试使用 array 并且很棒,它可以工作,但问题是它用 [0] 制作单独的数组,我需要它作为同一个数组中的一个而不是 array() array() ,这就是它的作用。
所以我使用 while() 和 mysql_fetch_array 从数据库中获取结果,它依赖于来自 url 的 $_GET,以便获取正确的 ID。所以在我传入 api.php?do=remove&id=1,4,7 的 URL 中,它只会打印出第一个 id,而不是其他名称。正如我所说,我尝试使用 array() 结果是这样的:
Array
(
[0] => BzlXO.jpg
)
Array
(
[0] => cHZTk.jpg
)
Array
(
[0] => 9yset.jpg
)
Array
(
[0] => Ss04V.jpg
)
我不明白为什么要这样做,因为我需要它像在一个数组中一样
Array (
[0] => BzlXO.jpg,
[1] => cHZTk.jpg,
[2] => 9yset.jpg,
[3] => Ss04V.jpg
)
这样当我将它们内爆时,它会显示为文本,如下所示: “您删除了图像“BzlXO.jpg、cHZTk.jpg、9yset.jpg、Ss04V.jpg” 用类似的东西
$iName[imagename] = array($iName[imagename]);
$name = implode(",", $iName[imagename]);
这是我的代码:
这是 URL“api.php?do=remove&id=1,4,7”
$ID = $_GET['id'];
$query = "SELECT ID,imagename FROM uploads WHERE ID IN ({$ID}) AND username = '{$uploader}'";
$result = mysql_query($query);
while( $iName = mysql_fetch_array($result)){
$querys = "DELETE FROM uploads WHERE ID IN ({$ID}) AND username = '{$uploader}'";
$results = mysql_query($querys);
if(!$results) {
$api_message = 'Failed to get a Removal result';
} else {
$iName[imagename] = array($iName[imagename]);
$name = implode(",", $iName[imagename]);
$api_message = "You removed image(s) $name";
}
}
输出:
您删除了图片 BzlXO.jpg
但我需要它是:
输出: 您删除了图像“BzlXO.jpg,cHZTk.jpg,9yset.jpg,Ss04V.jpg”
如有任何帮助,我们将不胜感激,如果需要更多信息,请告诉我,我会提供 谢谢
最佳答案
除了 raina77ow 发布的解决方案之外,控制流也存在问题,因为您正在为每次迭代执行 DELETE FROM uploads WHERE ID IN (...)
语句while
循环。这将删除第一次迭代中的所有记录。您需要将其更改为:
$ID = $_GET['id'];
$names = array();
$query = "SELECT ID,imagename FROM uploads WHERE ID IN ({$ID}) AND username = '{$uploader}'";
$result = mysql_query($query);
while( $iName = mysql_fetch_array($result)){
$querys = "DELETE FROM uploads WHERE ID = {$iName['ID']} AND username = '{$uploader}'";
$results = mysql_query($querys);
if(!$results) {
$api_message = 'Failed to get a Removal result';
} else {
$names[] = $iName['imagename']);
}
}
$name = implode(",", $names);
$api_message = "You removed image(s) $name";
关于php - 如何使用 while() 和 array() 从 $_GET 变量打印多个 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11370964/