如何限制数据库中显示的某些信息,并添加一个链接,例如“更多”,以便使用PHP在下拉列表中读取所有信息。比如Facebook上的内容(阅读更多...)。我正在处理很多内容,我不想一下子全部显示。 这是代码的一部分
echo "<p>".$row['Firstname']." ".$row['Lastname']."</p>";
echo "<p>".$row["Course"]." | ".$row["RegID"]."</p>";
echo "<p>".$row["Email"]."</p>";
echo "<p>"."Tel:".$row["Telephone"]."</p>";
echo "<p>".$row["info"]."</p>";
代码运行良好只是因为我想限制信息
echo "<p>".$row["info"]."</p>";
这样就不会显示所有内容了 感谢
答案 0 :(得分:0)
使用Jquery-ui点击“查看源代码”,您会发现它非常简单,只需将您想要的行设置为标题(点击后显示其余部分)并将其余部分存储在div中下面。
答案 1 :(得分:0)
将信息分成两个字符串,一个是介绍,其余是。仅显示开头的介绍。单击时插入显示其余部分的链接。
$intro = substr($row['info'], 0, 200);
$rest = substr($row['info'], 200);
echo sprintf(
<<<HTML
<p>
<span class="intro">%s</span><span class="rest" class="display: none">%s</span>
<a href="" onclick="displayRest(this);return false;">Show more</a>
</p>
HTML
, htmlentities($intro)
, htmlentities($rest)
);
displayRest
是一个Javascript函数,给定一个链接,找到类rest
的上一个范围,显示它并删除链接。我将其作为练习以适合您的项目的方式实现。你可以使用原生Javascript,或者使用jQuery,YUI,MooTools,Prototype等库。
答案 2 :(得分:0)
if(isset($_POST['more']))
{
$query="select col1,col2,col3, ... ,colN from tableName ";
}
else
{
$query="select col1,col2,col3 from tableName ";
}
// HTML
<form method="post">
<input type="submit" name="more" value="More" />
</form>
// PHP
$records=mysql_query($query);
while($row=mysql_fetch_assoc($records))
{
//Display
}
答案 3 :(得分:0)
必须在SQL请求上修复限制。
// If you want to transmit limitation with a GET PARAMETER.
// You can also $_POST ur data.
$limitation = $_GET['limit'];
//..... And in your SQL REQUEST
$sql = "SELECT * FROM your_table LIMIT 0 , $limitation";
//And in the link....
echo '<a href="Your_Script_Page.php?limit=10">Show only 10 Results</a>'
?>
您可以对此进行优化并添加安全预防措施,以防止在$ limit收到空或非数字参数时出错。
<?php if(isset($_GET['limit']) && !empty($_GET['limit']) && !preg_match(EXPRESSION, $_GET['limit'])){
//YOU CAN DO THE LIMITATION WHITOUT SQL ERRORS
}
else{
//ERROR DIRECTIVE
}
?>