1

テコンドー学校のスケジュールを作成しようとしています。管理者がテーブルを CRUD できるようにしたいと考えています。

これは私がそれをどのように見せたいかです:

ここに画像の説明を入力

ここに私のコードがあります:

<?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'); ?>

追加の機能強化をしたいのですが、このフォームがわかりません。更新する機能を追加するまでは正常に機能していました。行の1つに新しいデータを追加して更新をクリックすると、セッションメッセージが表示されず、ビューのフィールドが更新されません(ただし、DBにあると思います)。

アドバイスをいただければ幸いです。AJAX でこれを修正できると思いますが、しばらく触れていないので、率直に言って方法を覚えていません...

4

1 に答える 1

2

画面に更新が表示されない理由は、

$schedules = Schedule::find_all();

更新するコードの上にあります。したがって、$schedules は変更されません。変更することをお勧めします

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

<?php foreach(Schedule::find_all() as $schedule): ?>
于 2012-08-14T02:46:43.247 に答える