Home  >  Article  >  Backend Development  >  怎么让记录集“内容不重复出现”

怎么让记录集“内容不重复出现”

WBOY
WBOYOriginal
2016-06-23 14:14:401070browse

MySQL PHP String 函数 数据库

<?php require_once('Conn/hx98.php'); ?><?phpif (!function_exists("GetSQLValueString")) {function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") {  if (PHP_VERSION < 6) {    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;  }  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);  switch ($theType) {    case "text":      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";      break;        case "long":    case "int":      $theValue = ($theValue != "") ? intval($theValue) : "NULL";      break;    case "double":      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";      break;    case "date":      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";      break;    case "defined":      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;      break;  }  return $theValue;}}$maxRows_hx = 10;$pageNum_hx = 0;if (isset($_GET['pageNum_hx'])) {  $pageNum_hx = $_GET['pageNum_hx'];}$startRow_hx = $pageNum_hx * $maxRows_hx; mysql_query("set names utf8");mysql_select_db($database_hx98, $hx98);$query_hx = "SELECT * FROM content_publish ORDER BY content_id DESC";$query_limit_hx = sprintf("%s LIMIT %d, %d", $query_hx, $startRow_hx, $maxRows_hx);$hx = mysql_query($query_limit_hx, $hx98) or die(mysql_error());$row_hx = mysql_fetch_assoc($hx);if (isset($_GET['totalRows_hx'])) {  $totalRows_hx = $_GET['totalRows_hx'];} else {  $all_hx = mysql_query($query_hx);  $totalRows_hx = mysql_num_rows($all_hx);}$totalPages_hx = ceil($totalRows_hx/$maxRows_hx)-1;?>






 <?php do { ?>  <li>      <?php echo $row_hx['content_original_autor']; ?>    </li>    <?php } while ($row_hx = mysql_fetch_assoc($hx)); ?>


我想把数据库中 $row_hx['content_original_autor']; 按 10条一页显示出来,但是去掉重复显示的,也就是说 $row_hx['content_original_autor']; 如果有一样的内容 则不显示。

回复讨论(解决方案)

你这个估计要把值放到数组中去处理。

两种思路
1.array_unique 去除重复(目的是为了留下值第一次出现的key),然后用 array_diff 对 array_keys 求差集
凡是key在差集内的就不显示
这种方法一般要先把数据形成数组处理

2.建一个空数组A,每次显示如果不存在A内则,添加进去,并显示,如果A中已存在该值则跳过

sql 通过content_original_autor分组就是了
... group by content_original_autor

两种思路
1.array_unique 去除重复(目的是为了留下值第一次出现的key),然后用 array_diff 对 array_keys 求差集
凡是key在差集内的就不显示
这种方法一般要先把数据形成数组处理

2.建一个空数组A,每次显示如果不存在A内则,添加进去,并显示,如果A中已存在该值则跳过

刚刚弄这个东西 不是很明白 能留下你联系吗 我来问你

$query_hx = "SELECT * FROM content_publish group by content_original_autor ORDER BY content_id DESC";
试试

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn