[英]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.