У меня есть небольшая строка кода, которая будет получить сумму столбцаПолучить сумму столбца по дате
<?php
class ManageServices{
function getTotalSumByDateRange()
{
$query = $this->link->query("SELECT SUM(amount) as sum_of_date_range FROM services ");
$rowcount = $query->rowCount();
$result = $query->fetchAll();
return $result;
}
}
?>
//search.php
<?php
include_once('../../classes/class.ManageServices.php');
$init = new ManageServices();
$sum_of_date_range = $init->getTotalSumByDateRange();
?>
// search1
<?php
if(isset($_POST['submit']))
{
include_once('../../classes/class.ManageServices.php');
$init = new ManageServices();
$date_from =$_POST['to_date'];
$date_to =$_POST['from_date'];
if(empty($_POST['to_date']) && empty($_POST['from_date']))
{
$error = "No search query";
}
elseif(empty($_POST['to_date']) && !empty($_POST['from_date']))
{
$error ="Please specify your start date search";
}
elseif(!empty($_POST['to_date']) && empty($_POST['from_date']))
{
$error ="Please specify your end date search";
}
else
{
$total_by_date_range = 0;
$total_by_date_range = $init->getSumByDateRange($date_from, $date_to);
}
}
?>
// HTML
<?php
include_once('../../libs/search/search_sales_by_date.php');
include_once('../../libs/search1/total_sales.php');
?>
<!Doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>search by dates</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function() {
$(".datepicker").datepicker();
});
</script>
</head>
<body>
<div>
<?php
if(isset($error))
{
echo $error;
}
?>
</div>
<h3>Search Sales</h3>
<p>From</p>
<form method="POST" action="search_sales_by_dates.php">
<p>Date: <input type="text" class="datepicker" name="from_date" id="field1"></p>
<p>To</p>
<p>Date: <input type="text" class="datepicker" name="to_date" id="field2"></p><br />
<input type="submit" value="search" name="submit" id="submitdata">
</form>
<div id ="fillmein1">
<?php foreach($sum_of_date_range as $sum): ?>
<td>Total Sales<span class="glyphicon glyphicon-usd" aria-hidden="true"></span><?php echo number_format($sum['total_sum'],2); ?></td>
<?php endforeach; ?>
</div>
<input type="hidden" value ="$total_by_date_range['sum_of_date_range'] ">//this is the problem
</body>
</html>
и в моей таблице у меня есть «id», «amount», date_of_service'. «Вышеуказанный запрос будет вычислять все значения« количество »и отображать в html, однако я хочу добавить еще один запрос, который получит только сумма базы столбцов «сумма» в диапазоне дат ввода из html-формы. Все идеи по этому поводу? Обновление .. Я думаю, что я почти там, после того, как обновил search1.php, search.php и html, теперь проблема заключается в том, что я хочу показать $ total_by_date_range в том же виде. Но когда я отправляю форму, она не показывает ошибка, но не будет показывать $ total_by_date_range.anyway, диапазон показывает $ sum_of_date результат на той же странице
Я пробовал свой код, и я получил уведомление «Уведомление: неопределенная переменная: total_by_date_range в C: \ wamp \ www \ php_oop \ forms \ search \ search_sales_by_dates.php в строке 59" ... и я изменил search.php на ? « getSumByDateRange ($ date_from, $ date_to); } еще { $ error = "Ваш поисковый запрос h недействителен "; } } ?> И до сих пор получил уведомление. –
rai
Попробуйте объявить эту переменную перед ее использованием. – JuanSedano
Я попытался объявить $ total_by_date_range = 0 в поисковом php, предупреждение было упущено, но оно дало мне результат нуля. Также я попробовал var_dump ($ total_by_date_range), он дал результат 0f 'Int 0', var_export ($ total_by_date_range) это дает мне результат «0»; – rai