ホームページ  >  記事  >  バックエンド開発  >  レコードセットを「内容が繰り返し表示されない」ようにする方法

レコードセットを「内容が繰り返し表示されない」ようにする方法

WBOY
WBOYオリジナル
2016-06-23 14:14:401074ブラウズ

MySQL PHP 文字列関数データベース

<?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'] を 1 ページあたり 10 項目として表示したいのですが、重複を削除します。つまり $row_hx [ 'content_original_autor']; 同じコンテンツがある場合は表示されません。

ディスカッションへの返信 (解決策)

おそらく、処理のために値を配列に入れる必要があります。

2 つのアイデア
1. array_unique は重複を削除し (目的は、値が初めて表示されるキーを残すことです)、次に array_diff を使用して array_keys の差分セットを見つけます
差分セット内のキーは表示されません
この方法は一般的に、 まず処理のためにデータを配列に形成する必要があります

2. 空の配列 A を作成します。 表示するたびに A に値が存在しない場合は追加して表示します。 A、スキップします

SQL は content_original_autor によってグループ化されます
... content_original_autor によってグループ化されます

2 つのアイデア
1.array_unique は重複を削除し (目的は、値が初めて表示されるキーを残すことです)、array_diff を使用しますarray_keys の差分セットを見つけます
差分セット内のすべてのキーは表示されません
この方法では、通常、最初にデータを配列に形成する必要があります

2. 空の配列 A を作成します。A に存在しない場合は、表示されるたびに追加して表示します。 A に値が既に存在する場合は、ジャンプします。
これを作成したばかりですが、よくわかりません。メッセージを残していただけますか?
$query_hx = "SELECT * FROM content_publish グループ by content_original_autor ORDER BY content_id DESC";

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。