PHP/HTML,如果已经打开,如何从侧边栏隐藏当前文章?
如果侧边栏已经打开,我想把它隐藏起来,但我不知道怎么做。我是个新手,很抱歉 我使用MySqli select random在侧边栏中显示8篇文章。 文章保存在一个变量中,然后我在另一个页面上回显它们 谁能帮我一下,或者告诉我该怎么做。使用哪种代码。多谢各位 这是文章的代码PHP/HTML,如果已经打开,如何从侧边栏隐藏当前文章?,php,Php,如果侧边栏已经打开,我想把它隐藏起来,但我不知道怎么做。我是个新手,很抱歉 我使用MySqli select random在侧边栏中显示8篇文章。 文章保存在一个变量中,然后我在另一个页面上回显它们 谁能帮我一下,或者告诉我该怎么做。使用哪种代码。多谢各位 这是文章的代码 case'article': $get_article = mysqli_query($conn, "SELECT title,link,excerpt,description_1,description_2,desc
case'article':
$get_article = mysqli_query($conn, "SELECT title,link,excerpt,description_1,description_2,description_3,description_4,description_5,description_6,description_7,description_8,description_9,description_10,description_11,description_12 from `articles_".LANG."` where link = '".$_GET['article']."'") or die(mysqli_error($conn));
if(mysqli_num_rows($get_article) != 1){
header("Status: 404 Not Found");
$page = '404';
}
else{
$row = mysqli_fetch_assoc($get_article);
$title = $row['title'];
$description = $row['excerpt'];
$content_url= 'http://www.example.com/'.$_GET['lang'].'/'.$row['link'].'/';
$meta_img = 'http://www.sub.example.com/'.$_GET['lang'].'/'.$row['link'] .'/1.jpg';
$files = glob('/home/site/sub.example.com/'.$_GET['lang'].'/'.$row['link'].'/*.{jpg,jpeg,png,gif}', GLOB_BRACE);
$total = count($files);
for($i = 1;$i <= $total; $i++){
if(is_file('/home/site/sub.example.com/'.$_GET['lang'].'/'.$row['link'].'/'.$i.'.jpg')){
$picture = $i.'.jpg';
}
elseif(is_file('/home/site/sub.site.com/'.$_GET['lang'].'/'.$row['link'].'/'.$i.'.jpeg')){
$picture = $i.'.jpeg';
}
$pictures .= '<div class="article_box"><h3 class="top_img_description">'.$row['description_'.$i]. '</h3>'.'<div class="single_img_container"><img src="http://sub.example.com/'.$_GET['lang'].'/'.$row['link'].'/'.$picture.'"/></div></div>';
}
这是边栏代码
$article_sidebar = mysqli_query($conn, "SELECT title,link from `articles_".LANG."`ORDER BY RAND() LIMIT 8") or die(mysqli_error($conn));
while($row2 = mysqli_fetch_array($article_sidebar)){
if(is_file('/home/site/sub.example.com/'.$_GET['lang'].'/'.$row2['link'].'/1.jpg')) {
$file='http://sub.example.com/'.$_GET['lang'].'/'.$row2['link'].'/1.jpg';
}
$sidebar_articles .= '<div class="article">
<div class="article_thumb">'.'<a href="/'.LANG.'/'.$row2['link'].'/"><img src="'.$file.'"/></a>
</div>
<h3 class="feed_title">
<a href="/'.LANG.'/'.$row2['link'].'/">'.$row2['title'].'</a>
</h3>
</div>';
}
这是我想要的截图
排除查询中当前显示元素的id。例如,可以使用。在将这些值放入mysql查询之前,不要忘记检查它们 如果您希望能够在某个时刻切换文章而无需重新加载页面,则可以使用javascript执行此操作。为右边的所有文章添加一个唯一类,为页面上的主要文章添加一个唯一ID,并将其与主要部分进行比较。如果两者匹配,则应用隐藏类或将其“显示”属性更改为“无” 如果您想在服务器端执行此操作,并且在文章之间切换会导致页面刷新,那么您应该对上述内容应用类似的方法。存储对当前“main”文章的一些引用,并将侧栏文章包装在foreach中 在这个foreach中,将每个添加到侧栏html的内容包装在一个if语句中,该语句将当前值与主要文章的值进行比较 例如
@PhilippMaurer我加了一句,坚持@Bernhard的答案$在您的情况下,currentid是$\u GET['article']。但是请阅读SQL注入和准备好的语句,因为您的代码容易受到攻击。@PhilippMaurer我试过了,但出现语法错误。谢谢。我会看看我能做什么:它如何知道当前文章的id?如果我只在侧边栏选择中这样做会有效吗?谢谢。我猜你在文章页面的链接中有ID,不是吗?它。。。何处链接'$_获取['article']。。。,它很容易受到SQL注入的攻击。@Bernhard,我认为它没有ID,我正在使用switch case语句在页面之间切换。默认/文章,当我点击一篇文章时,它会打开文章页面并显示变量的内容$_获取['article'],“它起作用了,谢谢你,@PhilippMaurer我会看看如何使它更安全。谢谢。
"SELECT title,link from `articles_".LANG."`WHERE id <> ".$currentid." ORDER BY RAND() LIMIT 8"
if ( $currentArticleId !== $mainArticleId )
{
$sidebar_articles .= '<div class="article">
<div class="article_thumb">'.'<a href="/'.LANG.'/'.$row2['link'].'/"><img src="'.$file.'"/></a>
</div>
<h3 class="feed_title">
<a href="/'.LANG.'/'.$row2['link'].'/">'.$row2['title'].'</a>
</h3>
</div>';
...