2013-02-13 108 views
0

我有一個頁面,它將顯示一個數據庫中的人員名稱,該數據庫與另一個數據庫連接時會跟蹤兩個名稱鏈接的情況。每件事情都很好。然而;當用戶選擇一個輸入框時,我無法創建數據或特定的用戶名($ id2u)和字符串($ permissions)。 onclick事件應該根據權限字符串顯示數據字段。問題是顯示的信息始終是數據庫中通過循環運行的最後一個用戶。當單擊複選框以顯示其信息時,我試圖獲得有關onclick事件的信息。每個循環的php&input複選框存儲值

這是他的功能來調用數據的顯示。

function display1(type) {document.getElementById("pi").style.display = "none" 
document.getElementById(type).style.display = ""} 

這是調用生成每個人的輸入框的數據庫。

$result1 = mysql_query('SELECT * FROM level1 LEFT JOIN linkreq ON level1.idnumber = linkreq.idme ORDER BY LEAST(lname, fname) DESC'); 
for ($i = mysql_num_rows($result1) - 1; $i >= 0; $i--){ 
    if (!mysql_data_seek($result1, $i)){echo "Cannot seek to row $i: " . mysql_error() . "\n";continue;} 
    if (!($row = mysql_fetch_assoc($result1))) {continue;} 
    if($_SESSION["idnumber"] == $row['id2u']){ 
    if($row['returnack'] == 0){$id2u = $row['idme']; echo'<font color="#FF6600">*</font>&nbsp;&nbsp;&nbsp;'.$row['title'].' '.$row['fname'].' '.$row['mname'].' '.$row['lname'].' '.$row['suffex'].'<br />';} 
    else{ 
    $permissions = $row['permissions']; 
    parse_str($permissions); 
    $permissions; 
    $id2u = $row['idme'].'&nbsp; '; 
    echo '<input type="checkbox" value = " .$id2u. " onClick="display1(\'pi\');">&nbsp;&nbsp;&nbsp;' 
    .$row['title'].' '.$row['fname'].' '.$row['mname'].' '.$row['lname'].' '.$row['suffex'].' 
    <br />';}}} 

這是顯示的數據onclick(pi)但顯示的最後一個用戶不是所選的那個。基本上,如果$ id2u變量數據將從複選框中結轉,這將起作用。可以通過在查詢之前設置$id2u = xxxxxx;來手動強制它。

$result2 = mysql_query('SELECT * FROM pi WHERE idnumber = "'.$id2u.'"'); 


for ($i = mysql_num_rows($result2) - 1; $i >= 0; $i--){ 
    if (!mysql_data_seek($result2, $i)){echo "Cannot seek to row $i: " . mysql_error() . "\n";continue;} 
    if (!($row = mysql_fetch_assoc($result2))) {continue;} 
    echo '<br>row #'.$row['idnumber']; 
    if($id2u == $row['idnumber']){echo'...// PRINTS OUT DATA //...}} 

</span> 

我知道這應該是在mySQLi,但現在只需要讓它工作將稍後轉換。

+0

感謝@jOK編輯我的問題。不知道如何將代碼放在框中? IBNOOB。 – Hnioxoe 2013-02-13 18:23:38

回答

0

爲什麼不使用while() loop?

$query = mysql_query("..."); 
while($row = mysql_fetch_array($query)) 
{ 
    ... 
} 

這一直工作正常,我:)

+0

需要更多信息,因爲不確定for循環或while循環的結果有什麼區別。問題不在於運行循環。循環運行後,$ id2u變量不是該人員應與誰在複選框中選中的人員進行比較 – Hnioxoe 2013-02-13 20:43:57

+0

難道您不能使用連接數據庫的查詢並顯示鏈接到當前數據庫的所有人員的列表嗎? – 2013-02-14 08:10:23