Rzuciłem się na rozwiązanie oparte o bazę mysql na zasadzie prostego CRUD'a.
Kod
<?php
require_once("perpage.php");
require_once("dbcontroller.php");
$db_handle = new DBController();
$name = "";
$code = "";
$queryCondition = "";
if(!empty($_POST["search"])) {
foreach($_POST["search"] as $k=>$v){
if(!empty($v)) {
$queryCases = array("1k","2k");
if(in_array($k,$queryCases)) {
if(!empty($queryCondition)) {
$queryCondition .= " AND ";
} else {
$queryCondition .= " WHERE ";
}
}
switch($k) {
case "1k":
$name = $v;
$queryCondition .= "1k LIKE '" . $v . "%'";
break;
case "2k":
$code = $v;
$queryCondition .= "2k LIKE '" . $v . "%'";
break;
}
}
}
}
$orderby = " ORDER BY id desc";
$sql = "SELECT * FROM proby " . $queryCondition;
$href = 'index.php';
$perPage = 100;
$page = 1;
if(isset($_POST['page'])){
$page = $_POST['page'];
}
$start = ($page-1)*$perPage;
if($start < 0) $start = 0;
$query = $sql . $orderby . " limit " . $start . "," . $perPage;
$result = $db_handle->runQuery($query);
if(!empty($result)) {
$result["perpage"] = showperpage($sql, $perPage, $href);
}
?>
require_once("perpage.php");
require_once("dbcontroller.php");
$db_handle = new DBController();
$name = "";
$code = "";
$queryCondition = "";
if(!empty($_POST["search"])) {
foreach($_POST["search"] as $k=>$v){
if(!empty($v)) {
$queryCases = array("1k","2k");
if(in_array($k,$queryCases)) {
if(!empty($queryCondition)) {
$queryCondition .= " AND ";
} else {
$queryCondition .= " WHERE ";
}
}
switch($k) {
case "1k":
$name = $v;
$queryCondition .= "1k LIKE '" . $v . "%'";
break;
case "2k":
$code = $v;
$queryCondition .= "2k LIKE '" . $v . "%'";
break;
}
}
}
}
$orderby = " ORDER BY id desc";
$sql = "SELECT * FROM proby " . $queryCondition;
$href = 'index.php';
$perPage = 100;
$page = 1;
if(isset($_POST['page'])){
$page = $_POST['page'];
}
$start = ($page-1)*$perPage;
if($start < 0) $start = 0;
$query = $sql . $orderby . " limit " . $start . "," . $perPage;
$result = $db_handle->runQuery($query);
if(!empty($result)) {
$result["perpage"] = showperpage($sql, $perPage, $href);
}
?>
W gotowym już skrypcie wbudowana jest funkcja wyszukiwania poszczególnych kolumn w zależności, w które miejsce zostanie wpisana fraza.
Wszystko działa bez problemu, jednak chciałem wzbogacić skrypt o wyświetlanie ilości znalezionych rekordów będących sumą wskazanej kolumny.
Potrafię zadać zapytanie o zwrócenie ilości rekordów z bazy:
Kod
$query = mysql_query("SELECT COUNT(id) as ilosc FROM tabelka;");
$row = mysql_fetch_array($query);
echo $row['ilosc'];
$row = mysql_fetch_array($query);
echo $row['ilosc'];
ale niestety nie wiem w jaki sposób zwrócić sumę z konkretnej kolumny.
