2012-03-07 35 views
0

在應該是非問題的問題上遇到困難。有一個PHP回聲,其中有兩個concantenations,用於爲表單中的下拉菜單填充選項值,並從MySQL數據庫查詢中提取選項值的數據。除了出於某種原因外,選項值只會顯示第一個單詞,當它遇到值中的空格時,它會將其從選項值字段中刪除,並在選項值之前填充第二個,第三個單詞。在PHP回聲中顯示來自Concantenation的選項值

下面的代碼:

<td width="160"><p> Job Location:</p><select class="listmedium" id="JobLocation" name="JobLocation"><option value='' selected="selected"></option> 

    <?php 
    $con = mysql_connect("Values Deleted"); 
    if (!$con) 
    {die('Could not connect: ' . mysql_error());} 

     mysql_select_db ("database1", $con); 

    $result = mysql_query("SELECT CustomerLoc FROM customerloc ORDER BY CustomerLoc ASC"); 

    while($row = mysql_fetch_array($result)) 

     {echo "<option value=" . $row['CustomerLoc'] . ">" . $row['CustomerLoc'] ."</option>";} 

    mysql_close($con); ?> 

    </select> 

,其輸出爲:

<td width="160"> 
    <p> Job Location:</p> 
    <select id="JobLocation" class="listmedium" name="JobLocation"> 
    <option selected="selected" value=""></option> 
    <option springs="" value="Carrizo">Carrizo Springs</option> 
    <option wells="" value="Artesia">Artesia Wells</option> 
    </select> 

通知「泉城」和「井」置身其中concantenation旨在放置期權價值引號前完整的價值,這應該是「Carrizo Springs」和「Artesia Wells」的選項值。現在

,如果我插入一個& NBSP手動值之間,在整個價值顯示爲「卡里佐& nbspSprings」和作品(但我不想插入& NBSP每個如果我沒有),而且如果我手動編寫HTML值來讀取「Carrizo Springs」,則它可以很好地作爲選項值工作,因此它似乎是PHP數據調用發生的事情。

我知道在選項值中使用文本代替整數是不理想的,但是它背後有一個原因,如果有人知道PHP爲什麼會顯示輸出那種方式。謝謝!

+1

那麼,你可能會正確地引用您的HTML自啓動數據中有空格:'{echo「」;}' – enygma 2012-03-07 20:42:26

+1

我不明白你發佈的代碼有多可能產生輸出,你確定你在正確的代碼\文件中搶劫? – 2012-03-07 20:44:33

回答

0

問題是這樣的一行: "<option value=" . $row['CustomerLoc'] . ">" 它成爲對<option value=Carrizo Springs > 所以它就像值=卡里佐,要解決這個只是改成這樣: "<option value=\"" . $row['CustomerLoc'] . "\">"

+0

你是對的,那是做的伎倆,我想「這是遲到,我累了」規則應用在這裏,謝謝指出,我認爲這是簡單的,我只是沒有看到!非常感謝,我讚賞你在Stack Overflow! – user1255628 2012-03-07 23:22:49