2012-11-22 68 views
0

我運行一個查詢,該查詢僅返回來自特定字段的第一個單詞,該字段具有多個由空格分隔的單詞。查詢的結果將是我動態創建的選擇框的值。我有3個選擇框是根據另一個的選擇動態創建的。顯示選擇結果在PHP

問題是查詢返回整個句子,並顯示在選擇框中。我試圖單獨在數據庫中運行查詢,它似乎給了我正確的結果。

這是代碼片段。我該如何解決它?

<?php 
    //************************************** 
//  First selection results  // 
//************************************** 
if(isset($_GET['func'])&& $_GET['func'] == "drop_1") { 
    drop_1($_GET['drop_var']); 
} 

function drop_1($drop_var) 
{ 
$result = mysql_query("SELECT DISTINCT SUBSTRING_INDEX(`h_name` ,' ', 1) AS name FROM hypermarket_em") or die(mysql_error()); 
echo '<select name="drop_2" id="drop_2"><option value=" " disabled="disabled" selected="selected">Select City</option> 
     <option value="ALL" >ALL</option>'; 
while($drop_2 = mysql_fetch_array($result)) 
{ 
     echo '<option value="'.$drop_2['name'].'">'.$drop_2['name'].'</option>'; 
} 
echo '</select>'; 
echo "<script type=\"text/javascript\"> 
    $('#wait_2').hide(); 
    $('#drop_2').change(function(){ 
    $(this).parent().parent().find('.drop2').val($(this).val()); 
    $('#wait_2').show(); 
    $('#result_2').hide(); 
    $.get(\"func.php\", { 
    func: \"drop_2\", 
    drop_var: $('#drop_2').val() 
    }, function(response){ 
    $('#result_2').fadeOut(); 
    setTimeout(\"finishAjax_tier_three('result_2', '\"+escape(response)+\"')\", 400); 
    }); 
    return false; 
    }); 
    </script>"; 
} 
?> 

任何想法非常讚賞。謝謝。

+0

對不起,這是錯誤的複製粘貼。請參閱我的編輯。 – Wafa

+0

避免使用mysql_ *函數,因爲它們已被棄用,並且非常不鼓勵使用。看看這篇關於PHP.net的文章來選擇一個替代API:http://www.php.net/manual/en/mysqlinfo.api.choosing.php – Timr

回答

1

您設置的子

SUBSTRING_INDEX(`h_name` ,' ', 1) AS name 

但仍引用完整的原始字符串$drop_2['h_name']。嘗試更改爲 -

while($drop_2 = mysql_fetch_array($result)) 
{ 
    echo '<option value="'.$drop_2['name'].'">'.$drop_2['name'].'</option>'; 
} 

EDIT--

如果您正確使用別名name$drop_2['name'],我不知道爲什麼它仍然迴盪完整的字符串。您可以使用我首先回答的explode()作爲失敗保險箱

while($drop_2 = mysql_fetch_array($result)) 
{ 
    $firstWord = explode(' ',trim($drop_2['name'])); 
    echo '<option value="'.$firstWord[0].'">'.$firstWord[0].'</option>'; 
} 
+0

我已經使用了上面我編輯過的子字符串。當我單獨運行查詢時,我在數據庫中得到了正確的結果。但不是我在PHP中顯示它。 – Wafa

+0

我編輯了我的答案,根據你的編輯 – Sean

+0

我也這樣做了。但沒有幫助.. :( – Wafa