[英]PHP automatically create variables based on what is in mysql database
我不知道這是否可能,但是我正在嘗試使用來自mysql數據庫的條目來創建一個php變量。
例如,假設我要創建以下變量,但是我想用數據庫中的公司名稱替換google。
$google = $row['companyname'];
$google_ticker = $row['ticker'];
$google_holding = $row['holding'];
因此,如果我在數據庫中有一行公司名稱為Yahoo的行,則會顯示以下內容:
$yahoo = $row['companyname'];
$yahoo_ticker = $row['ticker'];
$yahoo_holding = $row['holding'];
我嘗試了以下內容的不同變體,但無法使其正常工作(我知道下面的代碼將不起作用,它只是我嘗試過的事情的一個示例):
$query = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_assoc($query)){
$$row['companyname'] = $row['companyname'];
$$row['companyname']_ticker = $row['ticker'];
$$row['companyname']_holding = $row['holding'];
}
我可以使用類似於以下內容的方式使其工作,但是以這種方式進行操作意味着我必須手動創建每個變量(據我所知)。 我試圖讓它根據我在數據庫中擁有的公司名稱自動創建變量。
$values = [];
$query = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_assoc($query)){
$values[$row['companyname']] = $row;
}
$google = $values['google']['companyname'];
$google_ticker = $values['google']['ticker'];
$google_holding = $values['google']['holding'];
關於如何實現此目標的任何想法? 非常感謝
將(多維)數組與用作變量名稱的KEYS一起使用:
$query = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_assoc($query)){
$data[$row['companyname']]['name'] = $row['companyname'];
$data[$row['companyname']]['ticker'] = $row['ticker'];
$data[$row['companyname']]['holding'] = $row['holding'];
}
現在,您可以像這樣訪問holding變量:
echo $data['google']['holding'];
那應該讓你開始...
成功!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.