簡體   English   中英

如何使php從下拉框中讀取單詞字符串?

[英]how to get php to read in a string of words from a dropdown box?

非常感謝大家的幫助。 看來這是一件容易的事,而且我覺得我只是撞牆,卻不知道如何解決。

我將嘗試解釋我在做什么,並希望這有意義。

我使用數據庫填充下拉框,下拉框類似於:

echo "<form action='process_form.php' method='post'>";
echo "Select an item<br />";
echo "<select name='item' id='item'>";
//database was connected and select query was executed succesfully. $result was the select query result.
while($row = mysql_fetch_array($result))
{
//each row contains more than one words, something like "dressmaker mannequin size 12"
echo "<option value=" . $row['style'] . ">" . $row['style']. "</option>" . "<br />";
}
...
...

下拉框填充了正確的數據。

然后,用戶從該下拉框中選擇一個項目,然后單擊“提交”按鈕。

我需要知道用戶選擇了哪個項目才能計算其運輸成本,但是當我使用$_POST['item']試圖找出選擇了哪個項目時,我得到了第一個單詞“ dressmaker”,其余的則是失蹤!

請幫助我獲得整個單詞串。

非常感謝。

抱歉,我是論壇的新手,我什至不知道如何發布或跟進問題。 如果你們也可以幫助我。 目前,我正努力發布我的后續問題...希望這一問題能得到解決...

希望您的MYSQL數據庫具有主鍵? 如果是這樣,請將每個<option>value設置為該項的主鍵。

例如:

的SQL

id  desc
1   "dressmaker thing with mannequin"
2   "dressmaker thing no mannequin"

表格PHP

echo "<option value='".$query['id']."'>".$query['desc']."</option>";

提交表單后,重新查詢數據庫以獲取所需的描述。 無論如何,您都將進行此重新查詢以獲取價格,是這樣嗎?

發生這種情況的原因是不鼓勵在HTML屬性中使用空格。 您不應具有value='this attribute is spaced'

如果確實有您發布的代碼,那么該值附近會缺少引號:

<option value=" . $row['style'] . ">

這將產生:

<option value=dressmaker mannequin size 12>

無效的html,解析器將認為只有第一個單詞才是值。 您需要將您的價值用引號引起來:

<option value='" . $row['style'] . "'>

GOOD: <option value='dressmaker mannequin size 12'>

現在,您的價值將是引號內的所有內容。 但是要小心,因為如果$ row ['style']值中包含引號,則它將過早地轉義您的值。

BAD: <option value='this won't work because of the apostrophe in won't'>

請注意,在此論壇中,代碼文本的顏色如何顯示值是什么,並解釋了為什么您總是得到“ dressmaker”。

暫無
暫無

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

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