【发布时间】:2010-10-19 06:23:10
【问题描述】:
我有一个表单,其目的是将当前显示的记录放入一个类别中。我正在通过 php 使用以下 html 代码:
<form name="categoryForm">
<input name="radiobutton" type="radio" value="fakeapproved" />Fake (Approved)<p>
<input name="radiobutton" type="radio" value="fakesuspected" />Fake (Suspected)<p>
<input name="radiobutton" type="radio" value="keyword" />Forbidden Keywords<p>
<input name="radiobutton" type="radio" value="parallelimport" />Parallel Imports
<input name="Submit" type="submit" value="Update" onclick="handleClick(".$pk.");return false"/>
</form>
目前,我只有一个 AUCTIONS 表,其中包含一个类别列,并且此列设置为我的表单中定义的类别之一。
这种方法对我需要处理的数据无效,因此我计划将其更改为每个类别都有一个单独的列,可以设置为 true 或 false。
我想知道的是,是否可以在我的 sql 查询中使用我的表单中定义并通过我的 javascript 函数获得的文本。
例如,更新拍卖集 $textfromfrom = true
目前,我正在使用以下准备好的语句:
if($cmd=="addcat"){
$alterQuery = "UPDATE auctions SET category = ? WHERE article_no= ?";
if ($altRecord = $con->prepare($alterQuery)) {
$altRecord->bind_param("ss", $subcat, $pk);
$altRecord->execute();
$altRecord->close();
echo "true";
} else {
echo "false";
}
}
有没有办法替代
$alterQuery = "UPDATE auctions SET category = ? WHERE article_no= ?";
与 $alterQuery = "更新拍卖 SET ? = true WHERE article_no= ?";
是否也可以直接执行单独的查询,即:
if($cmd=="addcat"){
$alterQuery = "UPDATE auctions SET ? = true WHERE article_no= ?";
$insertQuery = "INSERT into users (username, ?) values ?, true";
if ($altRecord = $con->prepare($alterQuery)) {
$altRecord->bind_param("ss", $category, $pk);
$altRecord->execute();
if ($insRecord = $con->prepare($insertQuery)) {
$insRecord->bind_param("ss", $category, $username);
$insRecord->execute();
$insRecord->close();
}
$altRecord->close();
echo "true";
} else {
echo "false";
}
我使用上述方法的理由如下:
拍卖数据库是从另一个来源导入的,我根本无法更改结构,除了在末尾添加类别。主键等不得更改。
只有 4 个类别
单个拍卖可能属于多个类别
拍卖表只处理拍卖。我需要一个 users 表,它主要包含新的用户输入。
用户表必须能够为每个用户显示他们参与拍卖的类别。
每个用户的用户表中不能有超过一条记录。用户名将用作主键。
【问题讨论】: