我正在我的大学为我的高级项目课做一个网站,这是基于我在当地一家小型电脑商店的工作。除了一个,我在这一点上有大部分工作。我有一个页面列出了所有活动修复,每个修复按钮旁边都有一个更新按钮。当我单击更新按钮时,修复页面会提供有关修复的各种属性,并且这些属性已填充到其受尊重的输入字段中。
我想要完成的最后一件事是当我将“repairNotes”插入数据库(我确实有工作)时,当我带回其余的细节页面时,我想要那里的修复笔记以及技术人员可以不断添加它们。
以下是我从数据库获取字段并填充文本字段时的一些示例代码:
$query = "SELECT date, make, model
FROM repair
JOIN customer on customer.custID = repair.customerID
WHERE repairID = '$repairID'";
$result = mysqli_query($mysqli, $query);
if($result){
list($datOfRepair, $make, $model) = mysqli_fetch_row($result);
}
在我的HTML中我有
<p align=\"left\"> Date: <input type=\"text\" name=\"date\" value = \"$datOfRepair\" size=\"6\" readonly = 'true'> </p>
<p align=\"left\">Make: <input type=\"text\" name=\"make\" value = \"$make\" size=\"10\" readonly = 'true'></p>
<p align=\"left\"> Model: <input type=\"text\" name=\"model\" value = \"$model\" size=\"10\" readonly = 'true'></p>"
为了添加修理笔记,我有
$query = "UPDATE repair SET
repairNotes = '$repairNotes'
WHERE repairID = '$repairID'";
$result = $mysqli->query($query);
if ($result) {$msg = "Repair Notes added to database"; }
<textarea name=\"repairNotes\" style=\"width:650px; height:200px;\">$repairNotes</textarea><br>
如何让repairNotes代码仍然输入到数据库,但是当我通过单击修复列表上的“更新”按钮加载修复页面时,就像我的代码的第一部分一样?我是否需要一个变量将当前的repairNotes与新添加的修复注释连接起来?
很抱歉这篇长篇文章,我不得不解释一切。
答案 0 :(得分:0)
第1部分:
当我插入&#34; repairNotes&#34;进入数据库(我确实有工作),当我带回页面的其余细节时,我也想要那里的维修说明,以便技术人员可以不断添加它们。
SELECT date, make, model, repairNotes FROM repair.....
从SELECT
语句中添加所需的列,并以输出其余数据的方式输出此数据。
SELECT <column>, <column2 ,> .... FROM .....
第2部分:
我是否需要一个变量将当前的repairNotes与新添加的修复注释连接起来?
不要害怕read the manual 。
是。您可以使用CONCAT()
MySQL函数编辑更新而不是替换Concatenate to it:
$query = "UPDATE repair SET repairNotes =
CONCAT(repairNotes, ", ",'$repairNotes') WHERE...
应该通过将修复注释作为单独的行存储在单独的表中,并使用外键将这些注释引用回原始父表来使其更有用,更灵活强>,但这远远超出了你的范围,我没有时间在这里全面解释。
HOWEVER :
如上所示,您可以使用简单的,
附加新数据,而不是使用日期戳附加新数据,因此在使用时更加有用接下来从SELECT
查询调用全文:
$query = "UPDATE repair SET repairNotes = CONCAT(repairNotes,
' ', NOW(), ': ', ' $repairNotes') WHERE...
使用准备好的语句。您really, REALLY should通过所有MySQL / PHP工作使用它们。如果您的导师没有告诉您这一点,那么他们已经过时并且没有教您如何 需要知道 在这个领域工作的方法。
<p align=\"left\"> Date: <input type=\"text\" name=\"date\"
这看起来很可怕,难以阅读,难以编码和复制/粘贴。而只是简单地翻转你的引号,以便你的字符串包含在一个引用类型"
中,而你的HTML包含在另一个'
中。
示例:
$string = "<p align='left'> Date: <input type='text' name='date'>";
style=\"width:650px; height:200px;\"
不要样式。样式应该在类和set in separate stylesheets(CSS文件)中,并在加载时由HTML文件调用。
使用面向对象的查询($mysqli->query(...)
) good 。做得好。尽可能多地尝试使用静态查询$result = mysqli_query($mysqli, $query);
。
确保在PHP和MySQL中使用correct collations and character encodings。