問題があります。私はユーザーが名前、画像などのような情報を入力できるように取り組んでいます。そして、すべてのユーザー情報がカテゴリのページに表示され、ページ区切りでもソートされます。並べ替えでページ分割が機能しない
問題1.並べ替えとカテゴリは個別にうまく機能しましたが、並べ替えは後の選択カテゴリでは機能しません。ユーザーがカテゴリを選択した後、選択したカテゴリでソートすることもできます。
問題2私のページ区切りコードは機能しましたが、カテゴリを選択すると分類されず、並べ替えを選択したときと同じ問題が発生したため正しくありません。
ありがとうございます!
これはカテゴリのためです:
<form action="" method="POST">
<select name="theme_category_name" >
<option class="form-control" >Select Your Categories</option>
<?php
global $wpdb;
$table_name ="theme_category";
$category = $wpdb->get_results("SELECT * from $table_name");
foreach($category as $categories){
?>
<option class="form-control" ><?php echo $categories->theme_category_name;?></option>
<?php
}
?>
</select>
<input type="submit" class="btn btn-info" name="category_submit" value="GO"/>
</form>
この場合、ソートのために:
<form action="" method="post">
<input type="submit" class="btn btn-default" name="Newest" value="Newest ">
<input type="submit" class="btn btn-default" name="high_price" value="High Price">
<input type="submit" class="btn btn-default" name="low_price" value="Low Price">
</form>
すべてのPHPコード:
<?php
global $wpdb;
$table_name ="theme_upload";
//Pegination
$pagenum = isset($_GET['pagenum']) ? absint($_GET['pagenum']) : 1;
$limit = 2; // number of rows in page
$offset = ($pagenum - 1) * $limit;
$total = $wpdb->get_var("select count(*) as total from $table_name");
$num_of_pages = ceil($total/$limit);
$rowcount = $wpdb->num_rows;
$category_s = $_POST['theme_category_name'];
//Category Select
if(isset($_POST['category_submit']))
{
$result = $wpdb->get_results("SELECT * from $table_name WHERE theme_cat_name = '$category_s' limit $offset, $limit");
}
//Newest
elseif(isset($_POST['Newest']))
{
$result = $wpdb->get_results("SELECT * from $table_name ORDER BY id DESC limit $offset, $limit");
}
//Sorting for High Price
elseif (isset ($_POST['high_price']))
{
$result = $wpdb->get_results("SELECT * from $table_name ORDER BY theme_price DESC limit $offset, $limit");
}
//Sorting for low Price
elseif (isset ($_POST['low_price']))
{
$result = $wpdb->get_results("SELECT * from $table_name ORDER BY theme_price ASC limit $offset, $limit");
}
// Default Order
else {
$result = $wpdb->get_results("SELECT * from $table_name limit $offset, $limit");
}
if($rowcount>0){
foreach($result as $results){
//var_dump($results);
?>
<?php
}
}
else{
echo "<tr><td cols=an='5'>No records found</td></tr>";
}
?>
<?php
//Pagination Strat //
$page_links = paginate_links(array(
'base' => add_query_arg('pagenum', '%#%'),
'format' => '',
'prev_text' => __('«', 'text-domain'),
'next_text' => __('»', 'text-domain'),
'total' => $num_of_pages,
'current' => $pagenum
));
if ($page_links) {
echo '<div class="tablenav" style="width: 99%;"><div class="tablenav-pages" style="margin: 1em 0">' . $page_links . '</div></div>';
}
//Pagination END //
?>