使用 HTML/PHP/jQuery 添加和编辑 MySQL 数据的最佳实践


Best practice for adding and editing MySQL data with HTML/PHP/jQuery?

我有一些HTML表单(由PHP生成)用于添加和编辑MySQL数据。我使用相同的表单进行添加和编辑。我正在开始一个新项目,想知道我以前的技术是否是添加和编辑数据的正确方法。我想从头开始做对:)也许现在jQuery和AJAX可以对此有所帮助?有人知道任何好的CRUD(创建,读取,更新和删除)插件/脚本吗?

基本上,我用表单调用一个函数,传递一个包含当前数据的变量(如果有的话)。

我有两个例子。

示例 1 - 年份形式:

echo "From: 'n";
echo "<select name='"startYear'">'n";
     formYears($startYearWeek[0]);
echo "</select>'n";
function formYears($default = null) {
    $year = 2008;
    while(date("Y")+1 >= $year) {
        if(($default != NULL) && ($year == $default)) {
            echo "<option selected='"selected'" value='"" . $year . "'">" . $year . "</option>'n";
        } else if(($default == NULL) && ($year == date("Y"))) {
            echo "<option selected='"selected'" value='"" . $year . "'">" . $year . "</option>'n";  
        } else {
            echo "<option value='"" . $year . "'">" . $year . "</option>'n";
        }
        $year++;
    }
}

示例 2 - 用户表单:

<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" name="userAdd">
    <?php fullUserForm($postArr); ?>
    <input name="userAddSubmit" type="submit" value="Lägg till användare" />
</form>

<?php function fullUserForm($defaultUser = null) { ?>
    <?php
    if($_SESSION['admin'] != "true") {
        echo "*Användarnamn:<br /><input name='"username'" type='"hidden'" value='"".$defaultUser['username']."'">";
        echo "<span style='"font-size:1.3em;'">".$defaultUser['username']."</span><br><br>'n";
    } else {
        echo "*Användarnamn:<br /><input name='"username'" type='"text'" value='"".$defaultUser['username']."'"><br><br>";
    }
    ?>
    *Förnamn:<br /><input name="fName" type="text" value="<?php echo $defaultUser['fName']; ?>" /><br><br>
    *Efternamn:<br /><input name="lName" type="text" value="<?php echo $defaultUser['lName']; ?>"  /><br><br>
    Mobiltelefon:<br /><input name="mobilePhone" type="text" value="<?php echo $defaultUser['mobilePhone']; ?>" /><br><br>
    Alternativ telefon:<br /><input name="altPhone" type="text" value="<?php echo $defaultUser['altPhone']; ?>" /><br><br>
    *E-post:<br /><input name="email" type="text" value="<?php echo $defaultUser['email']; ?>" /><br><br>
    <?php
    if($_SESSION['admin'] != "true") {
        echo "*Roll:<br /><input name='"role'" type='"hidden'" value='"".$defaultUser['role']."'">";
        echo "<span style='"font-size:1.3em;'">".$defaultUser['role']."</span><br><br>'n";
    } else {
        echo "*Roll:<br /><input name='"role'" type='"text'" value='"".$defaultUser['role']."'"><br><br>";
    }
    ?>
    Födelsedag (ÅÅÅÅ-MM-DD):<br /><input name="birthday" type="text" value="<?php echo $defaultUser['birthday']; ?>" /><br><br>
    *Önskat lösenord:<br /><input name="pswd1" type="password" value="<?php echo $defaultUser['pswd']; ?>" /><br><br>
    *Dubbelkoll av lösenordet:<br /><input name="pswd2" type="password" value="<?php echo $defaultUser['pswd']; ?>" /><br><br>
    <br />
    *obligatoriska fält<br />
<?php } ?>

很多时候没有单一的正确方法。通常有多种方法,其中一些被推荐高于其他方法。您只需要查看适合您的内容以及应用程序的大小。随着您的进步,您对各种方法的看法可能会发生变化。

如果你正在寻找一些东西来为你处理很多问题,那么你可能需要查看一个PHP框架。我知道Laravel提供了很多表单构建实用程序。

现在,如果你

想要我的个人建议,如果你没有使用框架,那么我会尝试将我的大部分HTML排除在echo语句之外。这使得 HTML 更易于维护。相反,我会做这样的事情:

<input type="text" name="age" value="<?php echoIfValueExists('age') ?>" />