gpt4 book ai didi

php - 使用 mysql 中保存的数据填充表单

转载 作者:行者123 更新时间:2023-11-30 23:16:15 24 4
gpt4 key购买 nike

首先,我需要透露一下,我是这里的主要新手……但我认为我正在变得更好! (在很大程度上要感谢堆栈溢出社区的帮助:-D)

我为项目里程碑创建了一个动态生成的菜单。它使用一个表格,允许用户输入每个里程碑的日期和描述,并将它们保存到数据库中。每次用户想要输入一个新的里程碑时,他们单击一个按钮以动态生成一个新行。 (有关说明,请参见图片:https://dl.dropboxusercontent.com/u/11993667/milestones_ex.png 注意:复选框现在仅用于删除行)

到目前为止一切正常。问题是,一旦用户保存了他们的里程碑,我希望他们能够重新访问该页面并修改他们的里程碑或添加更多。显然,这需要脚本查询数据库并相应地生成/填充行。

我拼凑了以下代码以从数据库生成表单,但由于某种原因它使页面崩溃。我检查了错误日志并注意到相关的似乎出现了。我想知道是否有人会发现我所拥有的明显错误或能够推荐替代方法。如果它有帮助,我正在写这篇文章作为 wordpress 的插件部署。

非常感谢任何帮助。

function upsmart_create_milestones_form() {
global $wpdb;
$data = $wpdb->get_results($wpdb->prepare("SELECT * FROM upsmart_milestones WHERE wordpress_id=%d",get_current_user_id()),ARRAY_A);
$months = array('January','February','March','April','May','June','July ','August','September','October','November','December');
echo <<<EOHTML
<form method='post'>
<h3>Project Milestones</h3>
<script type="text/javascript" src="http://upsmart.com/wp-content/plugins/upsmart_sitemanager/js/create_business_milestone.js"></script>
<input type="button" value="Add Row" onclick="addRow('dataTable')" />
<input type="button" value="Delete Row" onclick="deleteRow('dataTable')" />

<table id="dataTable" width="350px" border="1">
EOHTML;
foreach($data as $milestone){
echo <<<EOHTML
<tr>
<td><input type="checkbox" name="chk[]"/></td>\
<td>
<select name="month[]">
EOHTML;
foreach ($months as $month) {
if($month == $milestone->month){
echo <<<EOHTML
<option value="{$month}" selected>$month</option>
EOHTML;
continue;
}
echo <<<EOHTML
<option value="{$month}">$month</option>
EOHTML;
}
echo <<<EOHTML
</select>
<select name="day[]">
EOHTML;
foreach (range(1, 31) as $day) {
if($month == $milestone->day){
echo <<<EOHTML
<option value="{$day}" selected>$day</option>
EOHTML;
}
echo <<<EOHTML
<option value="{$day}">{$day}</option>
EOHTML;
}
echo <<<EOHTML
</select>
<select name="year[]">
EOHTML;
foreach (range(2013, 1990, -1) as $year) {
if($month == $milestone->year){
echo <<<EOHTML
<option value="{$year}" selected>$year</option>
EOHTML;
}
echo <<<EOHTML
<option value="{$year}">{$year}</option>
EOHTML;
}
echo <<<EOHTML
</select>
</td>
<td> <input type="text" name="txt[]"/>$milestone->description</td>
</tr>
EOHTML;
} /* END FOR EACH LOOP ON MILESTONES */

echo <<<EOHTML
</table>
<input type='submit' value='Save'/>
</form>
EOHTML;
}/* END FUNCTION */

最佳答案

您的脚本中存在语法错误:

            foreach ($months as $month) {
if($month == $milestone->month){
echo <<<EOHTML
<option value="{$month}" selected>$month</option>
EOHTML;
continue:
^ This should be ; and not :
}
echo <<<EOHTML
<option value="{$month}">$month</option>
EOHTML;
}

关于php - 使用 mysql 中保存的数据填充表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17683294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com