如何在PHP while循环中使用复选框插入数据

我想将复选框的值添加到数据库中的特定行。它每次都会将值添加到错误的行。我尝试添加具有不同值的隐藏输入。


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

                $count=count($_POST["pro_id"]);

                

                    $query = "INSERT INTO client_program_task_activities (task_id, activity_type, type_id, show_status)

                      VALUES(?,?,?,?)";

                    $stmt = mysqli_prepare($db, $query);

                   

                    mysqli_stmt_bind_param($stmt, 'ssss', $_POST['task_id'][$i], $_POST['type'][$i], $_POST['pro_id'][$i],  $_POST['show_status'][$i]);

                    for($i=0;$i<$count;$i++){

                    mysqli_stmt_execute($stmt);

                }

                 }


$sql = "SELECT * FROM tasks  WHERE user_id='$user_id' ORDER BY date_added DESC ";

                                $result = mysqli_query($db, $sql);

                                $resultCheck = mysqli_num_rows($result);

                                if ($resultCheck > 0) {

                                   

                                    echo ' <form action="task_day.php" method="post" > 

                                  <table >

                                    <tr>

                                      <th> ADD TASK</th>

                                      <th> TASK NAME</th>

                                      <th>KCAL</th>

                                    </tr>';


largeQ
浏览 78回答 1
1回答

哆啦的时光机

也许这可以帮助您理解我通过在循环外部创建和绑定准备好的语句所暗示的含义。<?php&nbsp; &nbsp; # test that ALL fields are present before trying to&nbsp; &nbsp; # assign them to variables or process them further.&nbsp; &nbsp; if( isset(&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; $_POST['save_task'],&nbsp; &nbsp; &nbsp; &nbsp; $_POST['task_id'],&nbsp; &nbsp; &nbsp; &nbsp; $_POST['type'],&nbsp; &nbsp; &nbsp; &nbsp; $_POST['pro_id'],&nbsp; &nbsp; &nbsp; &nbsp; $_POST['show_status']&nbsp; &nbsp; )) {&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; # prepare the statement ONCE - and bind placeholders to variables.&nbsp; &nbsp; &nbsp; &nbsp; # in `mysqli` these variables do not need to exist at this point&nbsp; &nbsp; &nbsp; &nbsp; # whereas in PDO they do.&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; $sql='insert into `client_program_task_activities` ( `task_id`, `activity_type`, `type_id`, `show_status`) values ( ?, ?, ?, ? )';&nbsp; &nbsp; &nbsp; &nbsp; $stmt=$db->prepare( $sql );&nbsp; &nbsp; &nbsp; &nbsp; $stmt->bind_param( 'ssss', $tid, $type, $pid, $status );&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; foreach( $_POST['pro_id'] as $i => $pid ){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $tid=$_POST['task_id'][$i];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $type=$_POST['type'][$i];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $status=$_POST['show_status'][$i];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $stmt->execute();&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; $stmt->close();&nbsp; &nbsp; }&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; # query to find data for table display&nbsp; &nbsp; $sql = 'select `task_id`, `task_name`, `pro_id` from `tasks` where `user_id`=? order by `date_added` desc';&nbsp; &nbsp; $stmt=$db->prepare( $sql );&nbsp; &nbsp; $stmt->bind_param( 's', $user_id );&nbsp; &nbsp; $stmt->execute();&nbsp; &nbsp; $stmt->bind_result( $tid, $task, $pid );&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; # prepare output for table rows&nbsp; &nbsp; $rows=[];&nbsp; &nbsp; while( $stmt->fetch() ){&nbsp; &nbsp; &nbsp; &nbsp; $rows[]=sprintf(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="hidden" name="task_id[]" value="%s" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="hidden" name="pro_id[]" value="%s" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="hidden" name="type[]" value="test" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input name="show_status[]" type="hidden" value="0" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input name="show_status[]" type="checkbox" value="1" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td>%s</td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td>### ENERGY ###</td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </tr>',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $tid,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $pid,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $task&nbsp; &nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; }&nbsp; &nbsp; $stmt->free_result();&nbsp; &nbsp; $stmt->close();&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; # print the formatted table&nbsp; &nbsp; printf('&nbsp; &nbsp; &nbsp; &nbsp; <form action="task_day.php" method="post">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <table>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <th>ADD TASK</th>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <th>TASK NAME</th>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <th>KCAL</th>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; %s&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </table>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <button name="save_task" type="submit" >Save task</button>&nbsp; &nbsp; &nbsp; &nbsp; </form>',&nbsp; &nbsp; &nbsp; &nbsp; implode( PHP_EOL, $rows )&nbsp; &nbsp; );&nbsp; &nbsp;&nbsp;?>在不知道表模式的情况下,我无法确定以下内容是否正确,但根据显示的表设计,这似乎工作正常。<?php&nbsp; &nbsp; require 'db.php';&nbsp; &nbsp; $user_id=!empty( $_GET['user_id'] ) ? $_GET['user_id'] : false;&nbsp; &nbsp;&nbsp;?><!DOCTYPE html><html>&nbsp; &nbsp; <head>&nbsp; &nbsp; &nbsp; &nbsp; <meta charset='utf-8' />&nbsp; &nbsp; &nbsp; &nbsp; <title></title>&nbsp; &nbsp; </head>&nbsp; &nbsp; <body>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; <?php&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /*&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; based upon following rudimentary table schema&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mysql> describe tasks;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +------------+------------------+------+-----+-------------------+----------------+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | Field&nbsp; &nbsp; &nbsp; | Type&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| Null | Key | Default&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| Extra&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +------------+------------------+------+-----+-------------------+----------------+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | id&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| int(10) unsigned | NO&nbsp; &nbsp;| PRI | NULL&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | auto_increment |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | task_id&nbsp; &nbsp; | int(10) unsigned | NO&nbsp; &nbsp;| MUL | 0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | task_name&nbsp; | varchar(50)&nbsp; &nbsp; &nbsp; | NO&nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;| 0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | pro_id&nbsp; &nbsp; &nbsp;| int(10) unsigned | NO&nbsp; &nbsp;| MUL | 0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | user_id&nbsp; &nbsp; | varchar(50)&nbsp; &nbsp; &nbsp; | NO&nbsp; &nbsp;| MUL | 0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | date_added | timestamp&nbsp; &nbsp; &nbsp; &nbsp; | YES&nbsp; |&nbsp; &nbsp; &nbsp;| CURRENT_TIMESTAMP |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +------------+------------------+------+-----+-------------------+----------------+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mysql> describe client_program_task_activities;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +---------------+---------------------+------+-----+---------+----------------+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | Field&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| Type&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | Null | Key | Default | Extra&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +---------------+---------------------+------+-----+---------+----------------+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | id&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | int(10) unsigned&nbsp; &nbsp; | NO&nbsp; &nbsp;| PRI | NULL&nbsp; &nbsp; | auto_increment |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | task_id&nbsp; &nbsp; &nbsp; &nbsp;| int(10) unsigned&nbsp; &nbsp; | NO&nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;| NULL&nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | activity_type | varchar(50)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| NO&nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;| NULL&nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | type_id&nbsp; &nbsp; &nbsp; &nbsp;| int(10) unsigned&nbsp; &nbsp; | NO&nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;| 0&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | show_status&nbsp; &nbsp;| tinyint(3) unsigned | NO&nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;| 0&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +---------------+---------------------+------+-----+---------+----------------+&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; */&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # test that ALL fields are present before trying to&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # assign them to variables or process them further.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if( isset(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $user_id,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_POST['save_task'],&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_POST['task_id'],&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_POST['type'],&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_POST['pro_id'],&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $_POST['show_status']&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ) && !empty( $user_id ) ) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # prepare the statement ONCE - and bind placeholders to variables.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # in `mysqli` these variables do not need to exist at this point&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # whereas in PDO they do.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try{&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $sql='insert into `client_program_task_activities` ( `task_id`, `activity_type`, `type_id`, `show_status`) values ( ?, ?, ?, ? )';&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $stmt=$db->prepare( $sql );&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $stmt->bind_param( 'ssss', $tid, $type, $pid, $status );&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach( $_POST['task_id'] as $key => $tid ){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $status = in_array( $tid, array_keys( $_POST['show_status'] ) ) ? 1 : 0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $pid=$_POST['pro_id'][ $key ];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $type=$_POST['type'][ $key ];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $stmt->execute();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $stmt->close();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }catch( mysqli_sql_exception $e ){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo $e->getMessage(); # Do NOT display errors in final, production code!!!&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #printf('<pre>%s</pre>',print_r( $_POST, true ) );&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # query to find data for table display&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try{&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $sql = 'select `task_id`, `task_name`, `pro_id` from `tasks` where `user_id`=? order by `date_added` desc';&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $stmt=$db->prepare( $sql );&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $stmt->bind_param( 's', $user_id );&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $stmt->execute();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $stmt->bind_result( $tid, $task, $pid );&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }catch( mysqli_sql_exception $e ){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo $e->getMessage(); # Do NOT display errors in final, production code!!!&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # prepare output for table rows&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /*&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Removed hidden field `show_status` and assigned&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; the task ID as the index to `show_status`&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; */&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $rows=[];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while( $stmt->fetch() ){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $rows[]=sprintf(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="hidden" name="task_id[]" value="%1$d" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="hidden" name="pro_id[]" value="%2$d" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input type="hidden" name="type[]" value="%3$s" /><!-- using task name as value rather than "test" -->&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input name="show_status[%1$d]" type="checkbox" value="1" /><!-- using task ID as index -->&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td>%3$s</td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td>### ENERGY ###</td><!-- unclear what this content will be ~ assumed energy due to column name KCAL -->&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </tr>',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $tid,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $pid,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $task&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $stmt->free_result();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $stmt->close();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # print the formatted table&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # action="task_day.php"&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; printf('&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <form method="post">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <table>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <th>ADD TASK</th>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <th>TASK NAME</th>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <th>KCAL</th>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; %s&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </table>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <button name="save_task" type="submit">Save task</button>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </form>',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; implode( PHP_EOL, $rows )&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; ?>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; </body></html>
打开App,查看更多内容
随时随地看视频慕课网APP