2013-02-13 3 views
0

두 개의 이름이 링크되어있을 때 추적하는 다른 데이터베이스와 연결된 한 데이터베이스의 사람들 이름을 표시하는 페이지가 있습니다. 모든 것은 잘 작동합니다. 하나; 사용자가 하나를 선택할 때 입력 상자에서 데이터 또는 구체적으로 올바른 사용자 이름 ($ id2u) 및 문자열 ($ 권한) 전송을 할 수 없습니다. 그러면 onclick 이벤트는 권한 문자열에 따라 데이터 필드를 표시해야합니다. 문제는 표시된 정보가 항상 루프를 통과 한 마지막 사용자임을 나타냅니다. 정보가 표시되도록 확인란을 클릭하면 onclick 이벤트에서 계속 수행 할 정보를 얻으려고합니다.php & input checkbox 각 루프의 값을 저장합니다.

이것은 데이터 표시를 호출하는 기능입니다.

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

이것은 각 사람에 대한 입력란을 생성 한 DB에 대한 호출입니다.

$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

답변

0

()을 사용하지 않는 이유는 무엇입니까? 회 돌이?

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

이 항상 나를 위해 잘 작동 :)

+0

for 루프 나 while 루프의 결과가 어떻게 다른지 확실하지 않은 정보가 더 필요합니다. 문제는 루프를 실행하는 것이 아닙니다. 루프가 실행 된 후 $ id2u 변수는 그 사람을 체크 박스에 체크 한 사람과 비교할 사람이 아닙니다. – Hnioxoe

+0

데이터베이스에 조인하는 쿼리를 사용할 수 없으며 현재 사람과 연결된 모든 사람의 목록을 표시 할 수 있습니까? –