1

我正在写一份出席名单,我想将其用于即将举行的活动。

当一个人登录网站时,它可以选择他/她和其他人是否将出席活动。

if ($res && mysql_num_rows($res) >= 1)
{
     echo '<form method="post" action="guest.php">';
     echo '<table border="10">
        <tr>
            <td>Name</td>
            <td>Present</td>
        </tr>';

    while ($row = mysql_fetch_array($res))
    {
        echo '<tr>
            <td>'.$row['guestId']." ".$row['firstName'].'</td>
            <td><input type=\'checkbox\' name=\'present[]\' value='.$row['guestId'].'></td>
        </tr>';
    }

    echo '</table>';
    echo '<input type="submit" name="submit" value="submit">';

} else {
    echo 'No data found!';
}

在这里,我guestId将值写入用于将其写入数据库的值:

    if( isset($_POST['present']) ) {
        foreach($_POST['present'] as $value){
            $query=mysql_query("INSERT INTO present (gastId, present) VALUES (".$value.", 1)");
            $resultadd=mysql_query($query) or die("Errore insert G: ".mysql_error());
        }
    }

有没有更好的方法来做到这一点?因为我无法想象这是正确的方法。

4

2 回答 2

1

您的代码还不错,有很多不同的方法可以做到这一点。

如果您要创建项目,我建议您查看 MVC(模型视图控制器),这里有一个教程: http: //www.nathandavison.com/posts/view/11/custom -php-mvc-tutorial-part-1-介绍

还有一些框架,如 codeigniter、cakePHP、YII ( http://www.phpframeworks.com/top-10-php-frameworks/ ) 可以帮助您制作 MVC 应用程序,而且它更有条理、OOP、安全。

编辑:作为@MadaraUchiha 的建议,这里是使用 PDO 的链接,它们是安全的:http: //php.net/manual/en/pdo.prepared-statements.php

于 2012-10-16T19:50:03.410 回答
1

您可以使用一个查询插入多行:

INSERT INTO present 
(gastId, present)
VALUES
( 1, 1 ),
( 2, 0 ),
( 3, 1 )

或者您可以使用 mysqli 和准备好的语句:

$mysqli = new mysqli(/* Connection information here */);
$stmt = $mysqli->prepare("INSERT INTO present (gastId, present) VALUES ( ?, 1 )");
$stmt->bind_param("i", $value);
foreach($_POST['present'] as $value) {
   $stmt->execute();
}
$stmt->close();
$mysqli->close();
于 2012-10-16T20:41:20.573 回答