2013-02-13 4 views
0

У меня есть страница, на которой будут отображаться имена людей из одной базы данных, которая соединена с другой, которая отслеживает, когда связаны два имени. Все прекрасно работает. Однако; Я не могу сделать данные или конкретно правильное имя пользователя ($ id2u) и строку ($ permissions) переносить из полей ввода, когда пользователь ее выбирает. Событие onclick должно затем показывать поля данных в соответствии с строкой разрешения. Проблема заключается в том, что отображаемая информация всегда является последним пользователем в БД, которая прошла через цикл. Я пытаюсь получить информацию для переноса в событии onclick при щелчке по галочке, чтобы отображалась их информация.php & input checkbox хранить значение каждого цикла

Это функция для вызова отображения данных.

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

ответ

0

Почему вы не используете while()?

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

Это всегда работает хорошо для меня :)

+0

Нужно немного больше информации, так как не уверен, какая разница в результате цикла for или цикла while. Проблема заключается не в запуске цикла. После того, как цикл запускает переменную $ id2u, это не тот, кого следует сравнить с тем, кто был отмечен в флажке. – Hnioxoe

+0

Не могли бы вы использовать запрос, который объединяет базы данных и показывает список всех людей, связанных с текущим? –