2017-02-16 1 views
0

내 웹 사이트의 포럼 페이지는 PHP를 사용하여 테이블을 만든 다음 while 루프를 사용하여 데이터베이스에서 채 웁니다. 이 잘 작동하고 항상 있지만 테이블의 게시물의 전체 첫 번째 섹션에서 게시물의 제목 주위에 태그를 '링크', 앵커 이동하려고했습니다. 다음 단계를 통해가는 이렇게하려면 다음을 수행php while 루프에있는 내용을 벗어난 루프 에코 요소

  1. 열기 테이블 태그 [LOOP 외부]
  2. 에코 헤더 [LOOP 외부]
  3. 시작 모든 게시물에 대한 또 다른 post 섹션을 만드는 루프가 발견하면서 .
  4. [REPEAT 포스트 날짜 섹션
  5. 닫기 테이블 행
  6. 가까운 테이블에 대해 5-7 번 단계를
  7. 닫기 테이블 데이터 테이블 데이터를 oustide입니다을
  8. 에코 콘텐츠를 만들 테이블 행
  9. 만들기 루프의]

첫 번째 섹션 모두에서 링크를 클릭 할 수있게해야합니다.

preview showing anchors outside of table.

사람이 설명해 주 시겠어요 : 실제로 그들이이 스크린 샷에서 볼 수 있듯이 테이블의 외부 결국,

<table> <--- *THIS IS BEFORE THE LOOP, IT GETS RUN ONCE ONLY* --> 
    <WHILE *do this like 5 times or something*> 
     <tr> 
     <a *category link*> 
      <td> 
      *content for the 'td' which is taken from the DB* 
      </td> 
      <td> 
      *content for the 'td' which is taken from the DB* 
      </td> 
     </a> 
     </tr> 
     <ENDWHILE> 
</table> 

그러나이 같은 테이블에서 d를 그것을 고치는 방법?

echo '<table class="forumTable"> 
    <tr> 
    <th>Category</th> 
    <th>Last topic</th> 
    </tr>'; 

while($row = mysqli_fetch_assoc($catResult)){ 
    echo '<tr>'; 
    echo '<a href="category.php?id=' . htmlspecialchars($row['catID']) . '"><td class="catDesc">'; 
    echo '<h3>' . $row['catName'] . '</h3>' . $row['catDesc']; 
    echo '</td>'; 
    echo '<td class="catTime">'; 
    $getTops = "SELECT topicID, topicSubject, topicDate, topicCat FROM topics WHERE topicCat = " . $row['catID'] . " ORDER BY topicDate DESC LIMIT 1"; 
    $topResult = mysqli_query($connect, $getTops); 
    if(!$topResult){ 
    echo '<p style="margin-top: 75px;">The last topic could not be displayed, please try again later.</p>'; 
    } 
    else{ 
    if(mysqli_num_rows($topResult) == 0){ 
     echo '<p>No topics</p>'; 
    } 
    else{ 
     while($topRow = mysqli_fetch_assoc($topResult)){ 
     echo '<a href="topic.php?id=' . $topRow['topicID'] . '">' . $topRow['topicSubject'] . '</a> at ' . $topRow['topicDate']; 
     } 
    } 
    } 
    echo '</td></a>'; 
    echo '</tr>'; 
} 
echo '</table>'; 
+0

실제 코드를 표시해야합니다. '하지 말아야합니다. – AbraCadaver

+0

질문에 대한 답변을 얻을 수있는 몇 가지 코드를 보여주십시오. –

+0

아, 죄송합니다. 잊어 버렸습니다. 게시물을 편집했습니다. – iixCarbonxZz

답변

0

하지 않고 직접 <table><a>를 넣을 수 없습니다 생각하지만, 브라우저는 당신도 할 수있는, 주위를 이동합니다 - 당신의 링크가 포함되어 td 테이블 셀 내부 - 원하는 위치에 링크를 추가하는 다른 방법을 사용하십시오. html - table row like a link

+0

내가 링크 된 페이지에서 자바 스크립트 메서드를 사용하고 있지만 자바 스크립트 내에서 문자열을 이스케이프와 다른 문제로 실행했습니다. \ "여전히 이스케이프 문자열을 허용합니다. – iixCarbonxZz

+0

자세한 내용은 필요하지만 다음을 시도하십시오. http://stackoverflow.com/questions/17551867/avoid-to-escape-a-special-characters-in-javascript – Bogdan

+0

htmlspecialchars ($ row [ 'catID']). '\\ ">'; '이 (가)'Imgur.com '으로 출력하고 있습니다. ] (http://imgur.com/yLWog9v.png) – iixCarbonxZz

-1

당신은 브라우저에서하지 페이지를 얻으려고 했습니까? 어떻게 보이나요? 나는 소스 페이지는 당신이 그들을 배치 어디 앵커는 것을 확인하기 때문에 브라우저가 당신이 <tr><td> </td></tr>

+0

맞아 - http://stackoverflow.com/questions/6439649/can-inline-elements-contain-block-elements?noredirect=1&lq=1 -하지만 당신은 아마 downvoted거야 당신의 대답이 세부 묘사와 방법의 많은 부분을 갖지 않기 때문에 정확함에도 불구하고. – alexanderbird

+0

작은 설명을 드려 죄송합니다. 저는 이미이 문제에 직면 해 있습니다. 좋은 하루 되세요 :) – edwardstock