我是编程新手,试图制作简单的 cms:
一个 index.php 显示所有文章主题,
用户点击主题显示 Fancybox 中的内容,而不是转发到新页面。
我使 PHP 代码有效(但它转发到新页面),并测试https://stackoverflow.com/a/7844043/1775888(这可以在地址栏中创建 Fancybox 内容自己的 url)也有效。
我不知道如何组合它们?
我之前尝试过:更改 PHP 中的 href,单击主题 $_GET[id] not isset 然后无法获取查询..
任何建议我都非常感谢你抽出时间。
PHP (index.php)
if(isset($_GET[id])){
$id=mysql_real_escape_string($_GET["id"]);
$sql="select * from $table where id='$id'";
$query=mysql_query($sql) or die(mysql_error());
while($list=mysql_fetch_array($query)){
print"
<div class=\"contentwrap\" align=\"center\">
<div class=\"content\">\"$list[content]\"</div>
</div>
";
}
}
else{
$sql="select * from $table order by id desc";
$query=mysql_query($sql) or die(mysql_error());
while($list=mysql_fetch_array($query)){
print"
<div class=\"subjectwrap\" align=\"center\">
<div class=\"subject\"><a href=\"index.php?id=$list[id]\">$list[subject]</a></div>
</div>
";
}
}
jQuery(来自https://stackoverflow.com/a/7844043/1775888)
function showfancybox(id) {
switch(id) {
case '#_name':
$(id).show();
$.fancybox({
href: id,
type:'inline',
onClosed: function() {
$(id).hide();
}
});
break;
}
}
showfancybox(location.hash);
$('a.flink').click(function(e){
showfancybox($(this).attr('href'));
});
编辑:
我更改代码让 $list[content] 加载并显示:无。
进入 index.php,得到消息:无法加载请求的内容。请稍后再试。
<?php
$sql="select * from $table order by id desc";
$query=mysql_query($sql) or die(mysql_error());
while($list=mysql_fetch_array($query)){
print"
<div class=\"subjectwrap\">
<div class=\"subject\"><a class=\"flink\" href=\"#$list[id]\">$list[subject]</a></div>
</div>
";
print"
<div class=\"atc\" id=\"$list[id]\">
<div class=\"contentwrap\" align=\"center\">
<div class=\"content\">\"$list[content]\"</div>
</div>
</div>
";
}
?>
<script type="text/javascript">
$(function(){
function showfancybox(id) {
switch(id) {
case '<?php "#$list[id]" ?>':
$(id).show();
$.fancybox({
href: id,
type:'inline',
onClosed: function() {
$(id).hide();
}
});
break;
}
}
showfancybox(location.hash);
$('a.flink').click(function(e){
showfancybox($(this).attr('href')); //make href to id
});
});
</script>