我正在尝试从HTML表单传递一个值并将其存储到php变量中,因此我可以将此变量用于查询以确定从数据库获取的行。我正在使用_post ['category']来获取所选值,并且我将变量传递给查询以获得所需的行但是到目前为止我没有得到任何帮助。这是我到目前为止写的:
<form method="post" action="a34.php">
<select name="category">
<option value="6008">15</option>
<option value="6018">25</option>
<option value="6034">30</option>
<option value="6038">40</option>
$V=$_POST['category'];
$getrow= "SELECT ProdID,
ProdCatID, ID_AC_seperate, ProdImage,
ProdName, ProdPrice, ProdShippingPrice,
ProdShortDesc, ProdMediumDesc, suitable,
cart_thumb FROM accessories WHERE ProdID = '$V'";
答案 0 :(得分:0)
我建议您使用strip_tags
功能。切勿将原始数据放入sql。
所以
If(isset($_POST['category']) {
$data = strip_tags ($_POST['category']);
$getrow= "SELECT ProdID, ProdCatID, ID_AC_seperate, ProdImage,
ProdName, ProdPrice, ProdShippingPrice,
ProdShortDesc, ProdMediumDesc, suitable, cart_thumb
FROM accessories
WHERE ProdID = '. $data .'";
}
答案 1 :(得分:0)
好的,请尝试以下方法。
JS文件检测用户何时单击某个选项,并使用$_POST
变量val
向updateRow.php文件发送ajax请求。
updateRow.php
获取$_POST
变量并将其转换为整数。然后使用该变量更新查询。处理查询,然后处理echo
,print
等所需HTML格式的数据。否则,数据回显失败&#39;。
然后将回显,打印等输出发送回变量data
下的JS文件。如果数据等于“失败”,则输出错误消息。否则,它会在#row
元素中插入HTML。
// ------ Your JS file ---------
$(function() {
$row = $("#row");
$("#update-row").on("change", function() {
var val = $("select option:selected", this).val();
$.post('updateRow.php', {
val: val
}, function(data) {
if (data == 'failure') {
$row.text("Sorry, the row does not exist");
} else {
$row.html(data);
}
});
});
});
//------- updateRow.php ---------
//Make sure path/to/updateRow.php in the JS file is updated to here
$V = (int) $_POST['val'];
$getrow = "SELECT ProdID,
ProdCatID, ID_AC_seperate, ProdImage,
ProdName, ProdPrice, ProdShippingPrice,
ProdShortDesc, ProdMediumDesc, suitable,
cart_thumb FROM accessories WHERE ProdID =" . $V;
if ( QUERY_IS_SUCCESSFUL() ) {
echo 'The <b>HTML</b> you want to display the data in';
} else {
echo 'failure';
}
<!----- HTML file ---->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="path/to/js/file.js"></script>
<form method="post" action="a34.php" id="update-row">
<select name="category">
<option value="6008">15</option>
<option value="6018">25</option>
<option value="6034">30</option>
<option value="6038">40</option>
</select>
</form>
<div id="row"></div>