맞습니다. 정말 누군가가이 문제를 해결할 수 있기를 바랍니다. 기본적으로, 나는 mysql 데이터베이스와 php를 사용하는 회사의 웹 사이트를 재 설계하여 뉴스 아카이브 유형 섹션을 제공한다. 그것은 한 가지를 제외하고는 모두 잘 작동합니다. 스 니펫보기를 제공하고 mysql 데이터베이스의 newsTitle 열을 사용하여 $ _GET 함수를 사용하여 해당 페이지에서 검색 할 수있는 각 앵커의 링크 텍스트에 정보를 저장하는 데 데이터베이스의 정보를 가져옵니다. 문제는 우세하게 고유하지만 많은 newsTitle 항목이 중복되지만 각 내용이 다르다는 것입니다. 이전 웹 사이트에서는 접미사 -0, -1을 추가하여 각 중복의 끝에 (페이지에서) 처리했지만 어떻게해야 할지를 알 수 없습니다.중복을 위해 mysql 열을 검색하고 while 루프에서 변수에 접미사를 추가하십시오.
확인해야 할 변수는 생성 된 $ title/$ url의 다른 모든 버전과 비교하여 $ title/$ url에 들어있는 변수입니다. 참고 사항 : 이전 버전의 웹 사이트에서했던 것처럼 각 페이지를 고유하게 만들기 위해 접미사와 ID를 사용하지 않아야하며 Google에서 링크를 끊거나 '링크 주스'를 잃고 싶지 않습니다. 여기
내 코드입니다 (나는 n00b 그렇게 무서움을 변명입니다) :mysql_connect($host, $user, $pass) or die ("Unable to connect!");
@mysql_select_db($db) or die ("Unable to select database!");
$sql = "SELECT * FROM tblnews WHERE YEAR(newsDate) >= $startyear AND YEAR(newsDate) <= $endyear AND newsPageID = 13 ORDER BY `tblnews`.`newsDate` DESC LIMIT $offset, $rowsperpage";
$result3 = mysql_query($sql, mysql_connect($host, $user, $pass)) or die ("Unable to connect!");
$querytable="SELECT * FROM tblnews WHERE YEAR(newsDate) >= $startyear AND YEAR(newsDate) <= $endyear AND newsPageID = 13 ORDER BY `tblnews`.`newsDate` DESC";
$result=mysql_query($querytable);
mysql_close();
$i= ($currentpage - 1) * 4;
while ($list = mysql_fetch_assoc($result3)) {
$title=mysql_result($result,$i,"newsTitle");
$titlelower = strtolower ($title);
$changedwords = array(' is ', ' with ', ' on ', ' to ', ' for ', ' the ', ' at ', ' a ', ' in ', ' of ', '"', "'", ':', '(', ')', ';', '?', '!', '.', ',', '&', '£', '/');
$replacements = array('-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '', '', '', '', '', '', '', '', '', '', '', '', '-');
$url = str_replace ($changedwords, $replacements, $titlelower);
$url = str_replace (" ", "-", $url);
$url = str_replace ("---", "-", $url);
$url = str_replace ("--", "-", $url);
$date=mysql_result($result,$i,"newsDate");
$shortdescription=mysql_result($result,$i,"newsTeaser");
$id=mysql_result($result,$i,"newsID");
?>
<div id="release" <?php if($odd = $i%2) { echo 'style="background-color:#d2d2d2;"';
} else { echo 'style="background-color:#dbdbdb;"'; } ?> >
<p> </p>
<h3><a href="questionsarticle.php?pagetitle=<?php echo $url; ?>&id=<?php echo $id; ?>"><?php echo $title; ?></a></h3>
<p style="font-size:12px;color:#666;font-style:italic;">- <?php echo date('l, jS F Y',strtotime($date)); ?></p>
<p> </p>
<p><?php echo $shortdescription; ?></p>
<p> </p>
<p> </p>
</div>
<?php
$i++;
}
?>
당신이 원하는 것을 할 수있는 방법이 있습니다,하지만 왜 넣어 그들에게 모든 고유하지 :
귀하의 수정 된 쿼리, 각 기사에 대한 오래된 기사의 수에 열을 포함하고있을 것 ID가 다 된 후에? –
더 이상 mysql_ * API를 사용하지 마십시오. 커뮤니티에 의해 사용되지 않습니다. 그것은 매우 불안하고 비효율적입니다. PDO 또는 mysqli 대신 준비된 명령문을 사용하십시오. – markus
newsID 값은 각 레코드마다 고유합니까? – slashingweapon