php - 将 mysql 查询值添加到 php 数组

标签 php mysql

我正在尝试将所有查询值添加到数组中。

这是我的代码:

$value = $_POST['hospitalname'];
$from = $_POST['from'];
$to = $_POST['to'];
if($_POST["Submit"]=="Submit") {
    for ($i=0; $i<sizeof($value); $i++) {
        $sql = "SELECT sl_id from mfb_servicelog where h_id LIKE ('".$value[$i]."')";
        $result = mysql_query($sql);
        while ($row = mysql_fetch_assoc($result)) {
            $slid = $row["sl_id"];
            for ($x=0; $x<sizeof($slid);$x++) {
                echo $slid[$x];
            }
        }
    }
}

如果我打印 $slid 的结果,它会给我这个

1333853863873885215251126112711281129113023392488248924902491249224932494249524962497

这些都是sl_id,以及查询$sql的结果。这很好。

现在我想将所有这些值放入一个数组中,以便我可以从查询中调用它,就像我在上面的 $sql 查询中调用 $value 一样。

但是我的 echo $slid($x) 给了我这个输出,它是每个值的第一个数字。

13333551111122222222222

请建议我正确的方法。

最佳答案

只需将它们存储在数组中而不是普通变量中。尝试使用 -

$slid[] = $row["sl_id"];

更新

if (!in_array($row["sl_id"], $slid)) {
    $slid[] = $row["sl_id"];
}

并在循环开始之前定义$slid - $slid = array();

或者您可以使用array_unique()

对于你的代码来说应该是 -

   $slid = array();
   while ($row = mysql_fetch_assoc($result)) {
        if (!in_array($row["sl_id"], $slid)) {
             $slid[] = $row["sl_id"];
        }
   }

   foreach($slid as $id) {
      echo $id."<br>";
   }

关于php - 将 mysql 查询值添加到 php 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29842096/

相关文章:

php - 在 PHP 中的路径中解析/..

Java MySQL和JFrame连接 "Cannot convert from boolean to connection"

mysql - 使用左连接时使用 order by 和 limit 过滤查询

php - 如何 if else 显示其他内容 laravel

php - 在 WordPress 中处理自定义表数据

mysql - 加速使用全文连接的 SQL 查询

php - 使用 SQL 计算记录并在 PHP 中返回

php - 注意 : Undefined variable: today and tomorrow(Variable's) in . 。在第 6 行

php - Yii2 - 从另一个控制台命令中调用 Yii 控制台命令?

javascript - PHP hint.css 添加新的文本行