Я уже немного помог, но не знаю, почему это не работает.
Я пытаюсь использовать форму, чтобы пользователь мог фильтровать свою активность (которая хранится в БД)
Мой код:
$_GET['from'] = '01/11/2013'; $_GET['to'] = '25/11/2013'; $from = DateTime::createFromFormat('d/m/Y', $_GET['from']); $to = DateTime::createFromFormat('d/m/Y', $_GET['to']); $sql = " SELECT * FROM transfer WHERE personID = $user AND DATE(time) BETWEEN '%s' AND '%s' "; $sql = sprintf($sql, $from->format('Ym-d'), $to->format('Ym-d')); print_r($sql);
Это печатает SELECT * FROM transfer WHERE personID = 84587749 AND DATE(time) BETWEEN '2013-11-01' AND '2013-11-14'
Когда я запрашиваю это в PHPmyadmin, он показывает запись, однако не отображающуюся на моей странице?
SQL выглядит нормально, но вы, похоже, не выпустили исполняемый SQL-запрос в базе данных и не получили результаты? Может быть, я что-то упустил, но вам нужно подключиться к вашей базе данных:
class DBi { public static $mysqli; } DBi::$mysqli = new mysqli('servername', 'database', 'password', 'user'); if (mysqli_connect_error()) { die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); }
Затем вам нужно выполнить запрос:
$result = DBi::$mysqli->query($sql) or die ("Unable to execute SQL command:".$sql);
И, наконец, извлеките и используйте результат:
$row = $result->fetch_assoc(); echo $row["fieldname"];
Вот пример того, как вы распечатываете свои результаты.
$dbserver = "localhost"; $dbname = "nameofDB"; $dbusername = "username"; $dbpassword = "password"; $mysqli = new mysqli($dbserver, $dbusername, $dbpassword, $dbname); $query = "SELECT * FROM transfer WHERE personID = 84587749 AND DATE(time) BETWEEN ? AND ?"; if($stmt = $mysqli->prepare($query)){ /* Binds variables to prepared statement i corresponding variable has type integer d corresponding variable has type double s corresponding variable has type string b corresponding variable is a blob and will be sent in packets */ $to = $_POST['to']; $from = $_POST['from']; $stmt->bind_param('ss', $from, $to); /* execute query */ $stmt->execute(); /* Get the result */ $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { // Configure this how you want to print out each row. echo 'Details: '.$row['details'].'<br>'; echo 'Time: '.$row['time'].'<br>'; echo 'Balance: '.$row['balance'].'<br>'; echo '<br><br>'; } /* free results */ $stmt->free_result(); /* close statement */ $stmt->close(); } /* close connection */ $mysqli->close();