我有一些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') ?>" />