PHP使用getResults根据结果过滤和回应响应

时间:2015-02-17 23:14:13

标签: php mysql

我做了一个搜索,看看我是否能找到答案,但这完全是我没有使用正确的术语所以请随意打我的头部并将我链接到正确的页面,如果我错过了它:)

我正在做的是在表格中搜索特定项目,在这种情况下是MAC地址。如果没有找到,我想回应“未找到”;

如果找到,我想检查另一行的MAC日期。如果日期早于指定日期,则回显“召回”;

如果MAC比日期更新,请回显“MAC okay”;

这是一个能够看起来像的样本:

| mac               | date       |
| 00-00-00-00-00-00 | 2014/10/17 |

我的表单编写得很好,它给PHP提供了正确的信息,但无论如何它都在这里:

<form action="results.php">
mac id
<input type="text" name="mac">
<input type="submit">
</form>

这是来自results.php的PHP。它没有问题连接表。我认为问题的核心是我的查询:

<?PHP
$mac= $_POST[‘mac’];

include "connect.php";

$query = mysql_query(“SELECT mac,date FROM units WHERE mac='$mac'");
$results = $query->getResults();

if( sizeof($results) > 0 ){
  // look up the documentation for date_diff, DateTime, and DateInterval.
  $interval = date_diff( $results[0]->date_built, new DateTime('2014/10/19') );

  if( $interval->invert = 1 ){ // i think this is how to test for before/after, but double-check me.
    echo "recall";
  }
  else {
    echo "unit okay";
  }
}
else {
  echo "not found";
}

?>

1 个答案:

答案 0 :(得分:0)

假设您要检查当前日期,这是我的尝试:

include "connect.php";

$mac= $_POST[‘mac’];

$result = mysql_query("SELECT * FROM units WHERE mac='".$mac."'"); // query

// no results
if (!$result) {
  echo 'not found'; 
} else {
  $mac_date = $result[0]->date; 
  // check if its newer
  if( strtotime($mac_date) > strtotime('now') ) {
    echo 'MAC ok'; 
  } 
  // check if its older
  if( strtotime($mac_date) < strtotime('now') ) {
    echo 'recall'; 
  } 
}