我正试图从数据库中获得结果,显示并说"您的设备仍在保修期内"或"此设备的保修已过期",具体取决于保修有效期是否大于今天的日期。
我使用自定义Wordpress页面模板连接到远程数据库。这是我目前所知道的。我连接到数据库,可以返回结果。我只是在努力创建一个搜索表单,以一种有用的方式回应结果。
<?php $con = mysqli_connect("localhost","my_user","my_password","my_db");
// check connection
if ($con->connect_error) {
die("Connection failed: " . $con->connect_error);
}
echo "Connected successfully";
?>
<form action="" method="post">
Search: <input type="text" name="term" /><br />
<input type="submit" value="Submit" />
</form>
<?php
if (!empty($_REQUEST['term'])) {
$term = mysql_real_escape_string($_REQUEST['term']);
$sql = "SELECT * FROM warranty WHERE serial LIKE '%".$term."%'";
$r_query = mysql_query($sql);
我想在这里做的是,如果输入的序列号"warexp"的日期值比今天早,则回显"此产品的保修已过期",如果它返回的日期尚未通过,则回显为我的ELSE语句"您的设备仍在保修期内"。我真的很困惑这一部分,以及如何让它在Wordpress的自定义页面模板上工作,或者如果这甚至很重要。
while ($row = mysql_fetch_array($r_query)){
?????????????????????????
?>
提前感谢您的任何见解。我希望我对这个问题的描述是清楚的。
try this:
<?php $con = mysqli_connect("localhost","my_user","my_password","my_db");
// check connection
if ($con->connect_error) {
die("Connection failed: " . $con->connect_error);
}
echo "Connected successfully";
?>
<form action="" method="post">
Search: <input type="text" name="term" /><br />
<input type="submit" value="Submit" />
</form>
<?php
if (!empty($_REQUEST['term'])) {
$term = "%{$_REQUEST['term']}%";
$sql = "SELECT * FROM warranty WHERE serial LIKE ?";
$prepare = $con->prepare($sql);
$prepare->bind_param('s',$term);
$prepare->execute();
$r_query = $prepare->get_result();
while($row = $r_query->fetch_assoc()){
if((time() - (60 * 60 * 24)) <= strtotime($row['date_value']))
{
echo 'Your device is still under warranty.' . '<br>';
}
else
{
echo 'This product's warranty is expired.' . '<br>';
}
}
}
阅读更多php官方文档