2017-06-15 58 views
0

我有一个页面从数据库中检索培训广告列表并显示在表格中。另一个页面显示训练名称时点击训练的详细信息。详细信息页面还允许编辑和删除广告。当广告被编辑或删除时,页面被重定向到广告列表。问题在于,如果我编辑广告,并且在重定向到广告列表页面时删除广告,则不会访问其他页面,但删除的广告仍在列表中。但是,如果我删除广告而无需进行编辑,或者如果我访问了另一个页面,则可以在编辑完成后返回并删除广告,一切正常。对不起,很长的问题。任何形式的帮助表示赞赏。 代码如下。如果第一个提交的页面上的第二个PHP页面没有刷新目标页面

广告列表页:

$connect = mysqli_connect($host,$user,$password,$database) or die ("Couldn't connect database"); 
$sql = "SELECT * FROM ad WHERE trainer_id=$trainer_id ORDER BY id desc "; 
$result = mysqli_query($connect,$sql) or die("Couldn't execute query."); 
$count=mysqli_num_rows($result); 
       $totalPages=ceil($count/$result_per_page); 
$sql = "SELECT * FROM ad WHERE trainer_id=$trainer_id ORDER BY id desc LIMIT $start, $result_per_page "; 
$result = mysqli_query($connect,$sql) or die("Couldn't execute query."); 
if($count!=0) 
{ 
echo "<table cols='4' cellspacing='25'>"; 

echo "<th>Training Name</th>"; 
echo "<th>Trainer/Training Center</th>"; 
echo "<th>Training Dates</th>"; 
echo "<th>Registration Starts</th>"; 
echo "<th>Viewed</th>"; 

while($row=mysqli_fetch_assoc($result)) 
{ 

extract($row); 



echo "<tr><td ><a href='personal_ad_details.php?id=$id'>$training_name</a></td>"; 
echo "<td >$trainer_name</td>"; 
echo "<td >$training_start - $training_end</td>"; 
echo "<td >$reg_start</td>"; 
echo "<td >$view</td></tr>"; 

} 

echo "</table>"; 

广告详情页(编辑和删除):

$connect = mysqli_connect($host,$user,$password,$database) or die ("Couldn't connect database"); 
if(isset($_GET['id']) && !empty($_GET['id'])){ 

$currentID = $_GET['id']; 
$sql = "SELECT * FROM ad WHERE id=$currentID"; 
$result = mysqli_query($connect,$sql) or die("Couldn't execute query."); 
$row= mysqli_fetch_array($result); 
extract($row); 
echo "<div id='ad_header'>"; 
echo "<h2> 
$training_name</h2>"; 
echo "<p>Trainer/Training Center:</p> $trainer_name "; 
echo "<p>Training Date(s): </p>$training_start - $training_end"; 
echo "<p>Registration starts: </p>$reg_start"; 
echo "<p>Phone: </p>$mobile"; 
if($email!=''){echo "<p>Email: </p><a href='mailto:$email'>$email</a>";} 
if($website!=''){echo "<p>Web Site: </p><a href='http://$website' target='_blank'>$website</a>";} 

echo "</br>"; 

echo "</div>"; 
echo "<div id='ad_main'>"; 

echo "<p>Training details:</p> </br>"?> <form action="<?php echo htmlspecialchars('personal_ad_details.php')?><?php echo "?id=".$currentID?>" method="post"> <textarea style="position:relative; left:0%" rows="10" cols="25" name="Telim_Melumatlari" ><?php echo $training_details; ?></textarea> 
<?php 
echo "</div>"; 

} 
?> 
<input style="margin:10px" type="submit" name="update" value="UPDATE"></form> 

<?php 
if(isset($_POST['update'])) 
{ 

    include('misc.inc'); 


    $connect = mysqli_connect($host,$user,$password,$database) 
        or die ("Couldn't connect to database."); 
    $sql  = "UPDATE ad SET training_details='$_POST[Telim_Melumatlari]' WHERE id=$currentID "; 
    mysqli_query($connect,$sql) or die("Couldn't execute query"); 
    $url="personal_ad_list.php"; 
    echo '<script type="text/javascript">'; 
      echo 'window.location.href="'.$url.'";'; 
      echo '</script>'; 
      echo '<noscript>'; 
      echo '<meta http-equiv="refresh" content="0;url='.$url.'" />'; 
      echo '</noscript>'; exit; 

} 

?> 
<form action="<?php echo htmlspecialchars('personal_ad_details.php')?><?php echo "?id=".$currentID?>" onSubmit="return confirm('Are you sure you want to delete the Ad?');" method="post"><input style="margin:10px; background-color:red" type="submit" name="delete" value="DELETE AD"></form> 
<?php 
if(isset($_POST['delete'])) 
{ 

    include('misc.inc'); 


    $connect = mysqli_connect($host,$user,$password,$database) 
        or die ("Couldn't connect to database."); 
    $sql  = "DELETE FROM ad WHERE id=$currentID "; 
    mysqli_query($connect,$sql) or die("Couldn't execute query"); 
    $url="personal_ad_list.php"; 
    echo '<script type="text/javascript">'; 
      echo 'window.location.href="'.$url.'";'; 
      echo '</script>'; 
      echo '<noscript>'; 
      echo '<meta http-equiv="refresh" content="0;url='.$url.'" />'; 
      echo '</noscript>'; exit; 

} 

?> 
+0

@DincaAdrian也许你有关于解决方案:) –

回答

0

您应该检查你的表单操作的网址:

<form action="<?php echo htmlspecialchars('personal_ad_details.php')?><?php echo "?id=".$currentID?>" onSubmit="return confirm('Are you sure you want to delete the Ad?');" method="post"> 

<form action="" onSubmit="return confirm('Are you sure you want to delete the Ad?');" method="post"> 

注:还不错的做法是,你应该提交页面的过程中开始的代码:

<?php 
$connect = mysqli_connect($host,$user,$password,$database) or die ("Couldn't connect database"); 


if(isset($_POST['delete'])) 
{ 

    include('misc.inc'); 


    $connect = mysqli_connect($host,$user,$password,$database) 
        or die ("Couldn't connect to database."); 
    $sql  = "DELETE FROM ad WHERE id=$currentID "; 
    mysqli_query($connect,$sql) or die("Couldn't execute query"); 
    $url="personal_ad_list.php"; 
    echo '<script type="text/javascript">'; 
      echo 'window.location.href="'.$url.'";'; 
      echo '</script>'; 
      echo '<noscript>'; 
      echo '<meta http-equiv="refresh" content="0;url='.$url.'" />'; 
      echo '</noscript>'; exit; 

} 

if(isset($_POST['update'])) 
{ 

    include('misc.inc'); 


    $connect = mysqli_connect($host,$user,$password,$database) 
        or die ("Couldn't connect to database."); 
    $sql  = "UPDATE ad SET training_details='$_POST[Telim_Melumatlari]' WHERE id=$currentID "; 
    mysqli_query($connect,$sql) or die("Couldn't execute query"); 
    $url="personal_ad_list.php"; 
    echo '<script type="text/javascript">'; 
      echo 'window.location.href="'.$url.'";'; 
      echo '</script>'; 
      echo '<noscript>'; 
      echo '<meta http-equiv="refresh" content="0;url='.$url.'" />'; 
      echo '</noscript>'; exit; 

} 


if(isset($_GET['id']) && !empty($_GET['id'])){ 

$currentID = $_GET['id']; 
$sql = "SELECT * FROM ad WHERE id=$currentID"; 
$result = mysqli_query($connect,$sql) or die("Couldn't execute query."); 
$row= mysqli_fetch_array($result); 
extract($row); 
echo "<div id='ad_header'>"; 
echo "<h2> 
$training_name</h2>"; 
echo "<p>Trainer/Training Center:</p> $trainer_name "; 
echo "<p>Training Date(s): </p>$training_start - $training_end"; 
echo "<p>Registration starts: </p>$reg_start"; 
echo "<p>Phone: </p>$mobile"; 
if($email!=''){echo "<p>Email: </p><a href='mailto:$email'>$email</a>";} 
if($website!=''){echo "<p>Web Site: </p><a href='http://$website' target='_blank'>$website</a>";} 

echo "</br>"; 

echo "</div>"; 
echo "<div id='ad_main'>"; 

echo "<p>Training details:</p> </br>"?> <form action="" method="post"> <textarea style="position:relative; left:0%" rows="10" cols="25" name="Telim_Melumatlari" ><?php echo $training_details; ?></textarea> 
<?php 
echo "</div>"; 

} 

?> 
<input style="margin:10px" type="submit" name="update" value="UPDATE"></form> 

<form action="" onSubmit="return confirm('Are you sure you want to delete the Ad?');" method="post"><input style="margin:10px; background-color:red" type="submit" name="delete" value="DELETE AD"></form> 
+0

感谢你的努力的想法,但他们都不为我工作。当我更新信息并立即删除广告时,培训列表不刷新 –

+0

您的意思是刷新。您正在重定向该页面。如果不工作,那么使用该位置,并检查数据库您的查询工作是否正常 –

+0

是的,它重定向到广告列表页面。查询也可以正常工作,因为重定向到广告列表页面后,我访问另一个页面并返回到广告列表页面,删除的广告不再出现在列表中 –