簡體   English   中英

使用html / php多重選擇器從數據庫中獲取多個值

[英]Getting multiple values out of a database using html/php multiple selector

我試圖從mysql數據庫的表中的一行中提取多個值。 我希望選擇器僅顯示描述,提交表單后,我希望能夠從該行訪問其他信息。 我能夠將所有item_types放入一個數組中,但是我不確定如何添加item_id。 我不希望item_id顯示在html選擇器中。

我嘗試了一些類似array_push的東西。 我能想到的唯一方法是在“值”中創建一個大字符串,並在提交表單后提取各部分。

這是到目前為止的功能:

function createDropdown() {
    echo '<select multiple name="items[]">';
        try {
            $items = mysql_query("SELECT item_id,item_type FROM items");
            while ($row = mysql_fetch_assoc($items)) {
                echo '<option value="'.$row['item_type'].'"';
                echo '>'. $row['item_type'] . '</option>'."\n";
            }
        }
        catch(PDOException $e) {
            echo 'No results';
        }
echo '</select>';
}

嗯,無論何時創建下拉列表,您都可以嘗試生成查找表:

function createDropdown(&$ddlLookup) {
    echo '<select multiple name="items[]">';
        try {
            $items = mysql_query("SELECT item_id,item_type FROM items");
            while ($row = mysql_fetch_assoc($items)) {
                echo '<option value="'.$row['item_type'].'"';
                echo '>'. $row['item_type'] . '</option>'."\n";
                $ddlLookup[$item_type] = $item_id;
            }
        }
        catch(PDOException $e) {
            echo 'No results';
        }
echo '</select>';
}

然后,只要您需要給定描述的ID,就可以使用該表(數組)獲取它:

$mainDropdownLUT = array();
createDropdown($mainDropdownLUT);

var_dump($mainDropdownLUT['testCow']);
 -> 734

另外,如果您需要將其傳遞到另一個頁面,則可以對其進行序列化並將其添加到隱藏字段中。

 $mainDropdownLUT = serialize($mainDropdownLUT);
   "<input type="hidden" value =\"$mainDropdownLUT\">"
   -------------------------**OTHER PAGE **--------------
    $mainDropdownLUT = unserialize($mainDropdownLUT);

暫無
暫無

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

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