PHP/MySQL显示第一个X结果,隐藏其余结果
有人知道如何引入所有mysql表的结果,只显示第一个X(比如10),然后使用jquery隐藏其余的结果吗?基本上,由于我已经得到了jquery,我只需要知道如何在一个div中只显示前X个结果,然后在一个单独的div中显示其余的结果 我的目标是只显示前10个结果,但在页面底部提供一个链接,允许用户显示所有结果。我们认为超链接可以重新执行查询,但认为使用jquery更容易显示/隐藏 非常感谢。 我想在下面添加我正在使用的代码PHP/MySQL显示第一个X结果,隐藏其余结果,php,jquery,mysql,Php,Jquery,Mysql,有人知道如何引入所有mysql表的结果,只显示第一个X(比如10),然后使用jquery隐藏其余的结果吗?基本上,由于我已经得到了jquery,我只需要知道如何在一个div中只显示前X个结果,然后在一个单独的div中显示其余的结果 我的目标是只显示前10个结果,但在页面底部提供一个链接,允许用户显示所有结果。我们认为超链接可以重新执行查询,但认为使用jquery更容易显示/隐藏 非常感谢。 我想在下面添加我正在使用的代码 $query=“SELECT*FROM ispress WHERE act
$query=“SELECT*FROM ispress WHERE active='1'按年份(日期)描述、月份(日期)描述限额0,7”排序;
$resultSet=mysql\u query($query);
if(mysql_num_行($resultSet))
{
$newsArray=array();
而($newsResult=mysql\u fetch\u数组($resultSet))
{
$newDate=$newsResult['date'];
$timePeriod=date('fy',strottime($newDate));
$bFirstTime=true;
如果(!isset($newsArray[$timePeriod]))
{
$newsArray[$timePeriod]=array();
}
$newsArray[$timePeriod][]=$newsResult;
}
foreach($newsArray作为$timePeriod=>$newsItems)
{
回显“.$timePeriod.”。PHP_EOL;
echo''.PHP\u EOL;
foreach($newsItems作为$item)
{
如果($b第一次){
回音“- ”;
回声'
“.substr($item['descrip'],0244)。”
';
echo'
'。PHP_EOL;
$bFirstTime=false;
}否则{
回音“- ”;
回声'
“.substr($item['descrip'],0100)。”
';
回音“.PHP_EOL;
echo'
'。PHP_EOL;
}
}
echo'
'。PHP_EOL;
}
echo''.PHP\u EOL;
echo“这是将显示并显示其余新闻结果的框。:”).PHP\u EOL;
}
其他的
{
echo“我们目前没有可用的新闻稿”;
}
在您的查询中
限值0,10
其余的
当您通过递增计数器打印每一次迭代中每一行的数据计数时,限制11,xxx。当您到达11时,启动一个新的div,该div的id与您已经为其定义了id的第一个div的id不同。现在使用jQuery,您可以根据需要隐藏和显示第二个div以及剩余的结果。如果jQuery对象中已经有元素(例如,$('sql results')保存了所有结果,您可以始终这样做:$('sql results:lt(10)')处理前十个元素,以及$('sql results:gt(9)')使用其余的元素 您必须自己决定您的方法对于处理的数据量的效率 好的,对于特定的标记结构,您可以将其添加到JS中:
// Obviously this is untested and probably not bug-/typo-free
(
function($) {
var $slickbox = $('#slickbox').hide();
$('<ul></ul>')
.appendTo($slickbox)
.append('ul.press li:gt(9)');
$('#slick-toggle')
.bind(
'click',
function(){
$slickbox.toggle();
}
);
}
)(jQuery);
//显然,这是未经测试的,可能没有bug-/typo-free
(
函数($){
var$slickbox=$('#slickbox').hide();
$(“
”)
.appendTo($slickbox)
.附加('ul.press li:gt(9)');
$(“#光滑开关”)
.绑定(
“点击”,
函数(){
$slickbox.toggle();
}
);
}
)(jQuery);
这将隐藏前10个子项。你打算如何展示其他结果?按钮、字段、jqueryui小部件?
您只需要添加一个调用此函数的click事件
function limit_results(start, end) {
$('#things > .thing').each(index) {
if(index < end && index >= start) {
$(this).hide();
}
}
}
limit_results(1,10);
功能限制\u结果(开始、结束){
$('#things>.thing')。每个(索引){
如果(索引=start){
$(this.hide();
}
}
}
极限结果(1,10);
这将涉及大量重写,但jquery有一个显示数据的窗口。要使用它,你需要做如下的事情
echo '<table id="news-table">'
echo '<thead>';//Datatables needs a thead with the correct number of columns. However you don't need to fill them in.
echo '<th>Date</th>';
echo '<th>Time Period</th>'
echo '</thead><tbody>';
while ($data = my_sql_fetch_array($result)) {
echo '<td>Whatever</td>';
echo '<td>Another Field</td>';
}
echo '</tbody></table>';
我不知道它将如何做自定义无数据消息,我知道,你写的代码,这可能对你没有任何好处,但现在我张贴它,因为它可能是有用的人寻找分页信息或为你如果你想做类似的事情再次。Datatables也很有用,因为用户可以选择要显示的结果数、要排序的列以及排序的方向。将php文件中的返回值除以一个字符 例:
使用javascript分隔返回值 例:
现在这三个值都放在
ajaxArray
中,您可以使用任何您想要的值
例:
提供一些html代码!讨厌!请提供
echo '<table id="news-table">'
echo '<thead>';//Datatables needs a thead with the correct number of columns. However you don't need to fill them in.
echo '<th>Date</th>';
echo '<th>Time Period</th>'
echo '</thead><tbody>';
while ($data = my_sql_fetch_array($result)) {
echo '<td>Whatever</td>';
echo '<td>Another Field</td>';
}
echo '</tbody></table>';
$('#news-table').dataTable();
echo "this is first value +";
echo "this is second value +";
echo "this is third value +";
var ajaxArray = ajaxValues.split("+");
ajaxArray[0] = this is first value