![]() |
![]() ![]() |
![]() |
-plejaz- |
![]()
Post
#1
|
Goście ![]() |
Witam, zaczynam swoją przygodę z prostymi skryptami php i mysql, obecnie bazuję na gotowych rozwiązaniach ucząc się i testując zapytania i analizując funkcjonowanie poszczególnych zmiennych.
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); } ?> 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']; ale niestety nie wiem w jaki sposób zwrócić sumę z konkretnej kolumny. (IMG:https://zapodaj.net/images/2ec31c0d590b9.jpg) |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
$razem = $ilosc1 + $ilosc2;
|
|
|
-plejaz- |
![]()
Post
#3
|
Goście ![]() |
$razem = $ilosc1 + $ilosc2; Ok, co w sytuacji kiedy na szukaną frazę dostanę odpowiedź w postaci 10 wyników i w każdej kolumnie ilość pojawią się różne wartości ? Skąd $razem ma wiedzieć, że musi zsumować wszystko, jeśli wskazane ma tylko 2 zmienne $ilosc1 + $ilosc2 ? Dodatkowo w jaki sposób mogę przerobić wyszukiwarkę tak żeby szukała wartości znajdującej się w kolumnie nawet jeśli po "spacji" wpisane są różne wartości np. 1 wiersz = AA BB CC 2 wiersz = BB 3 wiersz = CC Szukam frazy CC i dostaję odpowiedź w postaci dwóch wierszy: 1 wiersz i 3 wiersz, gdyż w nich wystąpiła szukana fraza. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 23 Dołączył: 20.01.2011 Skąd: Chełm Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
-plejaz- |
![]()
Post
#5
|
Goście ![]() |
Zastosowałem funkcję, ale sumuje wszystkie rekordy dostępne w bazie danych, a mnie zależy żeby zsumowało po wyszukaniu.
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ja naprawde nie ogarniam problemu.
Skoro kazda ilosc wywietlasz oddzielnie w php to jaki problem to zsumowac tez w php? Tam gdzie w kodzie masz echo $row['ilosc']; to dodaj jeszcze $suma += $row['ilosc']; echo $row['ilosc']; I masz swoja sume. No na sile sobie komplikujesz zycie |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 21:49 |