【发布时间】:2014-11-08 00:18:46
【问题描述】:
这是我显示数据库样式内容的代码。
<?php
include 'connect/con.php';
$query ="SELECT newsvid.id, newsvid.addName, newsvid.vidTitle, newsvid.url, newsvid.vidSD, newsvid.published, videoinformation.vidLD, videoinformation.vidYear, videoinformation.vidCity, videoinformation.vidZanr, videoinformation.vidZanr2, videoinformation.vidZanr3, videoinformation.vidQuality, videoinformation.vidTranslated, videoinformation.vidTime FROM newsvid, videoinformation WHERE newsvid.id = videoinformation.id";
$order = isset($_GET['order']) ? $_GET['order'] : 'DESC';
$goodParam = array("ASC", "DESC");
if (in_array($order, $goodParam)) {
if($order == 'ASC'){
$query .= " ORDER BY newsvid.id DESC";
}else{
$query .= " ORDER BY newsvid.id ASC";
}
}
$result = mysqli_query($con,$query);
echo "<div class=\"maincover \" data-role=\"scrollbox\" data-scroll=\"vertical\">";
echo "<div class=\"panel panel-default\">";
while($row = mysqli_fetch_array($result)) {
echo "<div class=\"panel-heading\">";
echo '<div><a class="panel-title btn-block vidTitle" href="details.php?id='.$row['id'].'"><h5>'.$row['id'].' | '.$row['vidTitle'].'</h5></a></div>';
echo "</div>";
echo "<div class=\"panel-body\">";
echo "<div class=\"imgCover\"><img class=\"imageCover\"src=\"" . $row['url'] . "\"></div>";
echo "<div class=\"vidSD\">" . $row['vidSD'] . "</div>";
echo "<div class=\"vidDetails\">
<table>
<tr><td><strong> Years: </strong></td><td>" . $row['vidYear'] . "</td></tr>
<tr><td><strong> City: </strong></td><td>". $row['vidCity'] . "</td></tr>
<tr><td><strong> Zanr: </strong></td><td>". $row['vidZanr'] ." , ". $row['vidZanr2'] ." , ". $row['vidZanr3'] . "</td></tr>
<tr><td><strong> Quality: </strong></td><td>". $row['vidQuality'] . "</td></tr>
<tr><td><strong> Translated: </strong></td><td>". $row['vidTranslated'] . "</td></tr>
<tr><td><strong> Video time: </strong></td><td>". $row['vidTime'] . "</td></tr>
</table>
</div></div>";
echo " <div class=\"panel-footer\">";
echo '<h6><strong>Author: </strong><a href="../userPages/user.php?u='.$row['addName'].'">'.$row['addName'].'</a></h6>';
echo '<div><h6><strong>Published: </strong>' . $row['published'] . '</h6></div>';
echo "</div>";
}
echo "</div></div>";
mysqli_close($con);
?>
问题是:
我有这个部分:
if (in_array($order, $goodParam)) {
if($order == 'ASC'){
$query .= " ORDER BY newsvid.id DESC";
}else{
$query .= " ORDER BY newsvid.id ASC";
}
我在我的索引页面中使用按钮:
<a href="view.php?order=ASC">ASC</a>
<a href="view.php?order=DESC">DESC</a>
问题是:目前我有每个按钮打开 NEW 页面,其中包含有序的内容。我需要每次您按下不同的订购按钮时,只有内容部分(div)会改变,而不是整个网站,以便保持相同的样式。
我很困惑,按下每个订购按钮的方式...内容的样式将相同,只有订购会改变...我知道如何在同一页面中打开内容但我不想复制设计每次对于每个内容页面..理论上我只需要更改最后一位查询:
ORDER BY newsvid.id DESC
DESC 或 ASC 或通过 DATA 或 NAME 和 e.t.c....
<body>
<div id="joe"></div>
<script type="text/javascript">
// Fetch and display "content.htm" inside a DIV automatically as the page loads:
ajaxpagefetcher.load("joe", "content.htm", true)
</script>
<div id="bob"></div>
<script type="text/javascript">
<!-- Fetch and display "sub/content2.htm" inside a DIV when a link is clicked on. Also load one .css file-->
<a href="javascript:ajaxpagefetcher.load('bob', 'sub/content2.htm', false, '', ['page.css'])">Load Content 2</a>
</script>
</body>
这是我不想做的......或做但只改变订购类型而不是全部内容......
【问题讨论】:
-
需要使用
ajax实现异步请求。互联网上有很多很棒的教程。另一种解决方案是在单击按钮时使用javascript和/或jquery对该表进行排序,或者使用诸如datatables之类的现成解决方案。 -
您确实意识到
ASC是默认排序顺序,您可以省去使用逻辑来处理它的麻烦。 -
我做了 ASC 和 DESC 只是为了测试,我不确定具体是怎么做的......在这种情况下......
-
jQuery 或 javascript 将能够处理大型数据集,而仅基于浏览器的数据存储则不能。最好使用 ajax 方法,例如使用 jQuery。
标签: php html mysql database mysqli