2013-06-12 1 views
0

그래서 블로그 페이지에서 substr을 사용하여 약간의 기사 만 표시합니다. 아이디어는 전체 기사를 표시하는 페이지로 보내질 표제 중 하나를 클릭하면됩니다.PHP 오픈 링크 중복 컨텐츠

링크를 클릭하면 예를 들어 4 번째 블로그 항목을 클릭하면 URL에 올바른 제목이 표시됩니다. index.php로 리디렉션됩니까? id = 4. 문제는이 페이지에서 콘텐츠가 동일하게 유지된다는 것입니다. 아무것도 바뀌지 않습니다. 나는 그것을 어떻게 얻을 수 있습니까? 기사를 클릭하면 그 기사 만 포함 된 페이지로 이동하고 다른 기사는 전혀 표시되지 않습니다. 선배들 덕분에 이것은 하루 종일 머리를 망가 뜨 렸습니다.

<?php 
$dbinfo = "SELECT blog_id, title, date, body FROM content ORDER BY blog_id DESC LIMIT 0, 3"; 
$result = mysql_query($dbinfo) or die(mysql_error()); 
$return = '<p><a href="index.php"> Go Back To Content Page</a></p>'; 


if(mysql_num_rows($result) !=0): 
    while($row = mysql_fetch_assoc($result)){ 
    echo '<div id="roundedbox"><h2><a href="index.php?id=' . $row['blog_id'] . '">' . $row['title'] . ' </a></h2>'; 
    echo '<div id="date"><h5><p>' . $row['date'] . '</p></h5></div>'; 
    echo substr('<p>' . $row['body'] . '</p>',0, 90)." .... "." read more</div>"; 

} 
else: 
    echo '<p> UH OOH! THERE IS NO SUCH PAGE IT DOES\'T EXIST </p>'; 
    echo $return; 
    endif; 
?> 
+0

이 별도의 경우 이렇게하는 것이 훨씬 쉽습니다 ... 다음과 같이 $ _GET [ 'ID'] 매개 변수를 사용하여 해당 기록을 가져 오기 위해 별도의 쿼리가 필요 개요와 개별 기사를 표시하는 PHP 스크립트. –

+0

그 이유는 무엇입니까? –

답변

0

당신이 테이블의 모든 레코드를 반환 코드에서이 쿼리는, 당신이 원하는 무엇을 $ _GET [ 'ID']에서 id 매개 변수를 기반으로 레코드를 반환하는 쿼리입니다. SQL 주입을 막기 위해 정수 만 사용하는 것이 좋습니다. 코드에서

당신은

//the parameter is set and it is an integer 
     if(isset($_GET['id']) && is_int($_GET['id'])) { 
      $blogId = (int)$_GET['id']; 
      $query = "SELECT blog_id, title, date, body FROM content WHERE blog_id='$blogId'"; 
      // run query and get record data and output it 

     } else { 
      //code to return all records as list 
      $dbinfo = "SELECT blog_id, title, date, body FROM content ORDER BY blog_id DESC LIMIT 0, 3"; 
      $result = mysql_query($dbinfo) or die(mysql_error()); 
      $return = '<p><a href="index.php"> Go Back To Content Page</a></p>'; 


      if(mysql_num_rows($result) !=0): 
      while($row = mysql_fetch_assoc($result)){ 
      echo '<div id="roundedbox"><h2><a href="index.php?id=' . $row['blog_id'].$row['title'] . ' </a></h2>'; 
      echo '<div id="date"><h5><p>' . $row['date'] . '</p></h5></div>'; 
      echo substr('<p>' . $row['body'] . '</p>',0, 90)." .... "." read more</div>"; 

      } 
      else: 
      echo '<p> UH OOH! THERE IS NO SUCH PAGE IT DOES\'T EXIST </p>'; 
      echo $return; 
      endif; 
      } 
+0

그래서 이전 코드를 유지하고 이것을 인덱스 페이지에 추가하여 데이터를 표시하고 있습니까? 지금 조금 혼란 스러워요 –

+0

코드를 입력해야합니다. var_dump로 테스트하여 올바른 루프를 수행하는지 확인하는 데 도움이 될 것입니다. – user466764

+0

이 오류가 발생했습니다. 구문 분석 오류 : 구문 오류, 예기치 않은 T_BOOLEAN_AND, 첫 번째 줄에 ','또는 ')가 있습니다. 나는 그것을 사용하여 이것을 추가하는 것은 어떤 문제를 야기한다고 생각하지 않는다 ...? –