簡體   English   中英

將mysql查詢值添加到php數組

[英]add mysql query values to an php array

我試圖將所有查詢值添加到數組。

這是我的代碼:

$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>";
   }

暫無
暫無

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

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