私はプログラミングが初めてで、単純なcmsを作成しようとしています:
index.php はすべての記事の件名を表示し、
ユーザーは件名をクリックして Fancybox にコンテンツを表示し、新しいページに転送しません。
PHPコードを機能させました(ただし、新しいページに転送されます)、テストhttps://stackoverflow.com/a/7844043/1775888(これにより、アドレスバーにFancyboxコンテンツ独自のURLを作成できます)も機能します。
それらを組み合わせる方法がわかりませんか?
私は前にこれを試します:PHPでhrefを変更し、件名$_GET[id]が設定されていない場合、クエリを取得できません..
時間を割いていただきありがとうございます。
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] の読み込みと display:none を許可します。
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>