2012-08-14 31 views
1

我想为跆拳道学校创建一个时间表,我希望管理员能够CRUD他们的表。表格中的多个表单,多个提交按钮。我可以使用PHP和HTML吗?

这就是我想为它寻找:

enter image description here

,这里是我的代码现在:

<?php require_once("../../includes/initialize.php"); ?> 
<?php if (!$session->is_logged_in()) { redirect_to("login.php"); } ?> 
<?php 
    $schedules = Schedule::find_all(); 
    ?> 
<?php include_layout_template('admin_header.php'); ?> 

<h2>Schedule</h2> 
<?php 
if(isset($_POST['delete'])){ 
    $schedule = Schedule::find_by_id($_GET['id']); 
     if($schedule && $schedule->delete()) { 
      $session->message("The line was deleted."); 
      redirect_to('schedule.php'); 
     }else{ 
      $session->message("The line could not be deleted."); 
      redirect_to('schedule.php'); 
     } 
} 
?> 

<?php 
if(isset($_POST['submit'])){ 
    $schedule = new Schedule(); 
    $schedule->belt = $_POST['belt']; 
    $schedule->age = $_POST['age']; 
    $schedule->monday = $_POST['monday']; 
    $schedule->tuesday = $_POST['tuesday']; 
    $schedule->wednesday = $_POST['wednesday']; 
    $schedule->thursday = $_POST['thursday']; 
    $schedule->friday = $_POST['friday']; 
    $schedule->saturday = $_POST['saturday']; 
    if($schedule->save()) { 
     $session->message("line added successfully."); 
     redirect_to('schedule.php'); 
    } else { 
     $message = join("<<br />", $schedule->errors); 
    } 
} 
?> 

<?php 
if(isset($_POST['update'])){ 
    $schedule = Schedule::find_by_id($_POST['id']); 
    $schedule->belt = $_POST['belt']; 
    $schedule->age = $_POST['age']; 
    $schedule->monday = $_POST['monday']; 
    $schedule->tuesday = $_POST['tuesday']; 
    $schedule->wednesday = $_POST['wednesday']; 
    $schedule->thursday = $_POST['thursday']; 
    $schedule->friday = $_POST['friday']; 
    $schedule->saturday = $_POST['saturday']; 
    if($schedule->save()) { 
     $session->message("line updated successfully."); 
     redirect_to('schedule.php'); 
    } else { 
     $message = join("<<br />", $schedule->errors); 
    } 
} 
?> 

<?php echo output_message($message); ?> 
<table id="schedule"> 
    <tr> 
     <th>Belt</th> 
     <th>Age</th> 
     <th>Monday</th> 
     <th>Tuesday</th> 
     <th>Wednesday</th> 
     <th>Thursday</th> 
     <th>Friday</th> 
     <th>Saturday</th> 
     <th></th> 
    </tr> 
    <?php foreach($schedules as $schedule): ?> 
    <tr> 
     <form action="schedule.php" enctype="multipart/form-data" method="post"> 
     <input type="hidden" name="id" value="<?php echo $schedule->id;?>" /> 

     <td><input type="text" size="15" name="belt" value="<?php echo $schedule->belt; ?>" /></td> 
     <td><input type="text" size="5" name="age" value="<?php echo $schedule->age; ?>" /></td> 
     <td><input type="text" size="7" name="monday" value="<?php echo $schedule->monday; ?>" /></td> 
     <td><input type="text" size="7" name="tuesday" value="<?php echo $schedule->tuesday; ?>" /></td> 
     <td><input type="text" size="7" name="wednesday" value="<?php echo $schedule->wednesday; ?>" /></td> 
     <td><input type="text" size="7" name="thursday" value="<?php echo $schedule->thursday; ?>" /></td> 
     <td><input type="text" size="7" name="friday" value="<?php echo $schedule->friday; ?>" /></td> 
     <td><input type="text" size="7" name="saturday" value="<?php echo $schedule->saturday; ?>" /></td> 
     <td><input type="submit" name="update" value="Update" /><input type="submit" name="delete" value="Delete" onclick="return confirm('Are you sure you want to delete?');"/></td> 
     </form> 
    </tr> 
    <?php endforeach;?> 

    <tr>  
     <form action="schedule.php" enctype="multipart/form-data" method="post"> 
     <td><input type="text" size="15" name="belt" value="" /></td> 
     <td><input type="text" size="5" name="age" value="" /></td> 
     <td><input type="text" size="7" name="monday" value="" /></td> 
     <td><input type="text" size="7" name="tuesday" value="" /></td> 
     <td><input type="text" size="7" name="wednesday" value="" /></td> 
     <td><input type="text" size="7" name="thursday" value="" /></td> 
     <td><input type="text" size="7" name="friday" value="" /></td> 
     <td><input type="text" size="7" name="saturday" value="" /></td> 
     <td><input type="submit" name="submit" value="Add new line" /></td> 
     </form> 
    </tr> 
</table> 

     <br /><br /> 

<?php include_layout_template('admin_footer.php'); ?> 

我很想做一些额外的改进,但我无法弄清楚这种形式。直到我添加了更新的功能之前,它工作得很好。现在,当我将一些新数据添加到其中一行时,然后单击更新 - 它不会给我一个会话消息,也不会更新视图中的字段(但我认为它在数据库中)。

任何意见,将不胜感激。我想我可以用一些AJAX来解决这个问题 - 但我一段时间没有碰到它,坦白地说不记得怎么...

回答

2

它没有在屏幕上显示更新的原因是因为

$schedules = Schedule::find_all(); 

高于要更新的​​代码。所以$日程表不会被改变。我建议改变

<?php foreach($schedules as $schedule): ?> 

<?php foreach(Schedule::find_all() as $schedule): ?> 
+0

那肯定修好了,太感谢你了。它不会让我接受答案,但我会尽我所能。 任何想法为什么我的“行更新成功”的消息没有被显示?在更新成功时,它被传递到消息会话... – 2012-08-14 02:55:31

+0

当我删除或添加一条线,它显示他们的消息 – 2012-08-14 02:55:56

+0

没关系,我忘记当更新成功时返回true。谢谢! – 2012-08-14 02:58:03

相关问题