2011-05-24 135 views
0

我有一個頁面,通過jQuery提取數據,但它只是拉取返回碼。這裏是我的代碼:使用jQuery和PHP從數據庫中提取數據

<script type='text/javascript' language='javascript'> 
function showCU() { 
$.post('getCU.php', { 
cuid: $('#cuContact').val() 
}, 
function (response) { 
$('#contact').val(response).show(); 
$('#email').val(response).show(); 
$('#phone').val(response).show(); 
}) 
} 
</script> 

$select = "SELECT priContact, priEmail, priPhone FROM user WHERE id = '" . $_POST['id'] . "'"; 
$query = mysql_query($select) or die ("Could not get info: " . mysql_error()); 
if (mysql_num_rows($query) > 0) { 
    while ($get = mysql_fetch_array($query)) { 
     $priContact = $get['priContact']; 
    echo $priContact; 
    echo $get['priEmail'] . " | " . $get['priPhone']; 
    } 
} else { 
    echo "No users"; 
} 

所以呼叫從getCU.php每當onchange事件處理程序被稱爲拉動。這就是爲什麼這是一個功能。我想要做的是每次用戶從選項列表中選擇一些內容時,文本值會根據所選內容而改變。我有一個從數據庫中拉出的php頁面,並正確地回顯代碼。 jQuery id正確地從php頁面中提取數據,但是我無法獲得將單個細節放在每個文本框中的代碼。

所以我想要發生的是: 用戶從下拉框中選擇一個名稱。然後附加到該名稱的mysql數據將顯示在頁面的表單文本字段中。

讓我知道是否需要更多信息或代碼。

回答

0

我認爲你會更好地構建你的數據。我的一般建議是JSON。

// QUICK WARNING: Don't take unparse GET/POST responses. 
// This is asking for trouble from SQL injection. 
$select = "SELECT priContact, priEmail, priPhone FROM user WHERE id = '" . mysql_escape_string($_POST['id']) . "'"; 
$query = mysql_query($select) or die ("Could not get info: " . mysql_error()); 
$retVal = array(); 
if (mysql_num_rows($query) > 0) { 
    $retVal['data'] = array(); 
    while ($get = mysql_fetch_array($query)) 
    { 
     $retVal['data'][] = $get; 
    } 
} else { 
    $retVal['error'] = 'No users'; 
} 
header('Content-type: application/json'); 
echo json_encode($retVal); 

的Javascript:

<script type="text/javascript"> 
function showCU() { 
    $.post('getCU.php', { 
     cuid: $('#cuContact').val(), 
     dataType:'json' 
    }, 
    function (response) { 
     if (response.error) { 
     //handle error 
     } 
     else 
     { 
      $('#contact').val(response.data.priContact).show(); 
      $('#email').val(response.data.priEmail).show(); 
      $('#phone').val(response.data.priPhone).show(); 
     } 
    }) 
    } 
</script> 
+0

這個代碼不工作,我不知道爲什麼。我對jQuery非常陌生,根本不知道JSON。我需要儘快以最簡單的形式完成這項工作。感謝您的幫助。 – user570288 2011-05-27 15:16:14

+0

我發現函數響應沒有被調用,因此數據是空白值。我該如何解決? – user570288 2011-05-27 16:33:20

+0

您將需要顯示更多的服務器端代碼。 – 2011-05-27 20:19:02

相關問題