我有一些 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 } ?>
答案 0 :(得分:0)
很多时候没有单一的正确方法。通常有多种方法,其中一些被推荐而不是其他方法。您只需要看看哪些适合您和您的应用程序的大小。随着您的进步,您对各种方法的看法可能会发生变化。
如果您正在寻找能够为您处理大量此事的内容,那么您可能需要查看PHP框架。我知道Laravel提供了很多表单构建工具。
现在,如果您需要我的个人推荐,如果您不使用框架,那么我会尝试将大部分HTML留在echo语句中。这使HTML更容易维护。相反,我会做这样的事情:
<input type="text" name="age" value="<?php echoIfValueExists('age') ?>" />