Попытка показать результаты из БД MySQL на основе даты начала и даты окончания, заданных пользователем. Ниже приведен код:
//Getting Values From Other Page
$start_date = date("Y-m-d", strtotime($_GET["date3"]));
$end_date = date("Y-m-d", strtotime($_GET["date4"]));
//Server Connection Info
$server = "server_name";
$db_user = "username";
$db_pass = "pass";
$db_name = "dbname";
//Server Connection + Query
$link = mysql_connect($server,$db_user,$db_pass);
if(!$link)
{
die("Could Not Connect:".mysql_error());
}
mysql_select_db($db_name, $link) or die('Can\'t use db:'. mysql_error());
if ($start_date == $end_date){
$query = "SELECT col_a, col_b, col_c, col_d FROM main WHERE date='".$start_date."'";
}
else {
$query = "SELECT col_a, col_b, col_c, col_d FROM main WHERE date BETWEEN '".$start_date."' AND '".$end_date."'";
}
$result = mysql_query($query,$link) or die('Query Error'.mysql_error());
?>
<!-- HTML CODE STARTS HERE -->
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="qc_style.css" />
<link href='http://fonts.googleapis.com/css?family=Days+One' rel='stylesheet' type='text/css' />
</head>
<body>
<?php
$row = mysql_fetch_assoc($result);
$row_count = mysql_num_rows($result);
echo $row;
echo $row_count;
if($row_count!=0){
echo "<table>";
while($row = mysql_fetch_assoc($result))
{
echo "<tr><td>";
foreach($row as $value)
{
echo $value;
echo "</td><td>";
}
echo "<a href=\"qc_campedit.php?id=".$row['call_id']."\">Edit</a></td></tr>";
}
echo "</table>";
} //end of if statement
else {echo " Sorry, No records match your query";}
?>
</body>
</html>
У меня в базе данных две строки данных на дату 2011-08-25 и одна строка данных на дату 2011-08-24.
- Когда я указываю дату начала и окончания как 2011-08-24, я не получаю
ответ.
- Однако, когда я указываю дату начала и дату окончания как 2011-08-25, я
получить только одну строку данных, относящихся к 2011-08-25
- Когда я указываю дату начала как 2011-08-24 и дату окончания как
2011-08-25, я получаю две строки данных, относящихся к 2011-08-25, и строку, принадлежащую 2011-08-25.
- Однако, когда я указываю дату начала и дату окончания как 2011-08-23, я получаю все 20 строк данных, относящихся к 2011-08-23
Примечание: Количество массивов в $result
для этого конкретного таймфрейма отображается правильно. то есть $ row_count = 1 для 2011-08-24 и $ row_count = 2 для 2011-08-24
Как мне решить эту проблему? Заранее спасибо.