所以这是代码,根据类别假设用户点击该类别的按钮,那么该类别下的所有事件都必须被公开,所以这就是我作为代码给出的没有错误或任何东西,但数据没有显示,最后一部分,但最后一个部分正在工作
<?php
global $row2;
if(isset($_POST['category']))
{
if($_POST['category']== 'Healthcare')
{
while($row2= mysqli_fetch_array($result))
{
}
}
else if($_POST['category']== 'Finance')
{
}
}
else
{
}
?>
答案 0 :(得分:0)
你的问题不是,而且仍然没有措辞得很好。但我花了一分钟时间将代码重新编写为更易于管理的代码。
以下是一些提示:
首先,以您的网页显示您可能遇到的任何错误的方式转动您的错误报告。
其次,请阅读为查询使用预准备语句。如果你不熟悉,你将容易受到sql注入和xss攻击。您现在也可以花时间了解这一点,以便以后不必学习。学习真的不是那么糟糕。这是一个很好的链接,可以帮助您入门:
https://websitebeaver.com/prepared-statements-in-php-mysqli-to-prevent-sql-injection
第三,如果您发现自己反复使用相同的代码,则应评估代码的逻辑。对于您的博客文章html,您只需要编写一次,然后选择您要通过它的查询。
如果您要在多个页面上使用相同的帖子格式,请使用html创建一个文件并将其包含在您的代码中,并在需要时使用。如果您想对代码进行更改,这将为您节省大量时间。您只需在一个位置更改它以在多个页面中更改它。
最后,当问题解决时,将代码缩减为最简单的形式,让它工作,然后添加到它,直到你做对了。
我没有测试下面的代码,我对mysqli并不熟悉,但我认为它应该可行。我主要是在这里发布这个,所以你可以看到一个更好的方法,你可能想要达到的目的。无论如何,我希望它有所帮助,祝你好运。
<?php
//There is no $_POST['category'] in your form. The if statement will
//not not show the healthcare or finance queries unless they are set in the $_POST['category'].
if(isset($_POST['category']) && $_POST['category']){
$query = "select * from event where category = ? "; //<--Uses a palceholder for the category.
$stmt = $conn->prepare($query); //<--Prepares the query.
$stmt->bind_param('s', $_POST['category']); //<--Binds the category placeholder.
$stmt->execute(); //<--Runs the query.
$results = $stmt->get_results(); //<-- Gets the results and holds them in $results.
} else {
//The shows everything query
$query = "select * from event";
$stmt = $conn->prepare($query);
$stmt->execute();
$results = $stmt->get_results();
}
//The all your inputs have to be inside your form tag.
//Put the form tag first.
echo
'<form action="eventdetail.php" method="post" enctype="multipart/form-data">
<div class="events events-full event-list">
<div class="container">';
if($results){ //<--Check to see if the query has any data.
while($row = $results->fetch_assoc()){ //<--Uses the results and generates an array
//containing the results.
//Loop over your html. Echos out one row for each iteration of the loop.
echo
'<div class="row">
<div class="col-md-9 col-sm-8">
<!--Blog Post Start-->
<div class="blog-post">
<div class="post-thumb">
<div class="link-wrap"> <a href="#"><i class="fa fa-search"></i></a> <a href="#"><i class="fa fa-link"></i></a> </div>
<img src="images/gallery/' . $row['event_image'] . '" alt="user">
</div>
<div class="event-text">
<div class="event-counter">
</div>
<h4> <a href="#">' . $row['title'] . '</a> </h4>
<p>' . $row['descrption'] . '</p>
<p><span class="glyphicon glyphicon-map-marker">' . $row['location'] . '</span></p>
<p><span class="glyphicon glyphicon-grain">' . $row['organizer'] . '</span></p>
<a class="nd" href="">
<input type="hidden" value="' . $row['id'] . '" name="' . $row['id'] . '"/>
</div>
</div>
</div>
</div>
</div>';
}
}else{
echo 'Your query did not find any results.';
}
echo
'</div>
</div>
<button type="submit" class="btn btn-primary" name="detail" value="detail">Event Detail</button>
</form>'; //<--Close the from tag.