2014-03-28 2 views
0
<tbody> 
<?php 
    $query = mysql_query("select * from announce ") or die(mysql_error()); 
     while ($row = mysql_fetch_array($query)) { 
     $date = $row['date']; 
     $subject = $row['subject']; 
     $ann = $row['ann']; 
     $sender = $row['Sender']; 
    $id = $row['id']; 
     ?> 
     <tr class="odd gradeX"> 
     <td><?php echo $row['date']; ?></td> 
     <td><?php echo $row['subject']; ?></td> 
     <td><?php echo $row['ann']; ?></td> 
    <td><?php echo $row['Sender']; ?></td> 
<td><a class='inline' href="#inline_content" id="<?php echo $row['id'] ?>"> Click Me</a></td> 
     </tr>  

<div style='display:none'> 
<div id='inline_content' style='padding:10px; background:#fff;'> 
<p><strong><?php echo $row['subject']; ?></strong></p> <p align="right"><?php echo $row['date']; ?></p> 
<p?><?php echo $row['ann']; ?>.</p> 
<br><br>enter code here 
<p>By: <?php echo $row['Sender']; ?> </p> </div> 

    <?php } ?> 
    </tbody> 

나는 jquery 라이트 박스를 팝업하지만 라이트 박스의 정보는 버튼이 정보를 호출 할 때 데이터베이스에 나타나고, 다른 버튼을 클릭하면 첫 번째 것과 동일한 레코드가 있지만 나 다른 전화 한대? 제발 도와주세요! 미리 감사드립니다!PHP를 사용하여 mysql에서 레코드를 나열하지만 하나의 레코드 만 모두에 표시됩니까?

답변

0

여기서 문제는 PHP 코드에 의해 생성 된 HTML 인 것 같습니다. id가 같은 인 PHP 코드에 의해 생성 된 div 수는 0 개에서 여러 개가됩니다 : 'inline_content'. 이를 확인하기 위해 생성 된 페이지의 소스를 살펴볼 수 있습니다. 따라서 'inline_content'의 내용을 표시하려고 시도하면 동일한 내용 (처음 또는 마지막 또는 확실하지 않음)이 표시됩니다.

PHP 코드의 while 루프를 반복 할 때마다 추가 변수를 사용하여 while 루프의 반복마다 다른 ID로 div를 생성하면 해결할 수 있습니다. 따라서 생성 된 HTML에는 다른 ID를 가진 대상 div가 있습니다.

#inline-content-1 
#inline-content-2 
#inline-content-3 
etc. 
관련 문제