• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Kategorie w wyszukiwarce produktów

VPS Starter Arubacloud
0 głosów
93 wizyt
pytanie zadane 15 września 2016 w PHP przez Mistrz0000000 Bywalec (2,780 p.)
zamknięte 15 września 2016 przez Mistrz0000000

WItam, mam taki problem z filtrowaniem produktów że normalnie działa, a kiedy próbuję wyszukiwać produkty to nie działa, akiedy z kodu wyszukiwarki usunę kategorie to działa, ale z samym sortowaniem ceny.

Mam taki kod:

function search_product()
{
    $page = $_GET['p'];
    $limit = 8;
    $page = $_GET['p'];
    if($page==0 || $page==1)
    {
        $strona= 0;
    }else{
        $strona = ($page*$limit)-$limit;
    }

    switch($_POST['category'])
    {
        case'coins':
            $_SESSION['category'] = $_POST['category'];
            break;
        case'testy':
            $_SESSION['category'] = $_POST['category'];
            break;
        case'wszystko':
            $_SESSION['category'] = null;
            break;
        default:
            break;
    }

    switch($_POST['filter'])
    {
        case'najmniejsza':
            if(isset($_SESSION['category']))
            {
                $phpro_category = filter_var($_SESSION['category'], FILTER_SANITIZE_STRING);
                $phpro_search_name = filter_var($_SESSION['product_search'], FILTER_SANITIZE_STRING);
                $stmt = getDBH()->prepare("SELECT * FROM products WHERE name LIKE :search_name AND category=:category ORDER BY price ASC LIMIT $strona,8");
                $stmt->bindValue(':search_name','%'.$phpro_search_name.'%');
                $stmt->bindParam(':category', $phpro_category, PDO::PARAM_STR);
                $stmt->execute();
            }else{
                $stmt = getDBH()->prepare("SELECT * FROM products ORDER BY price LIMIT $strona,8");
                $stmt->execute();
            }
            break;
        case'najwieksza':
            if(isset($_SESSION['category']))
            {
                $phpro_category = filter_var($_SESSION['category'], FILTER_SANITIZE_STRING);
                $phpro_search_name = filter_var($_SESSION['product_search'], FILTER_SANITIZE_STRING);
                $stmt = getDBH()->prepare("SELECT * FROM products WHERE name LIKE :search_name AND category=:category ORDER BY price DESC LIMIT $strona,8");
                $stmt->bindValue(':search_name','%'.$phpro_search_name.'%');
                $stmt->bindParam(':category', $phpro_category, PDO::PARAM_STR);
                $stmt->execute();
            }else{
                $stmt = getDBH()->prepare("SELECT * FROM products ORDER BY price DESC LIMIT $strona,8");
                $stmt->execute();
            }
            break;
        default:
            if(isset($_SESSION['category']))
            {
                $phpro_category = filter_var($_SESSION['category'], FILTER_SANITIZE_STRING);
                $phpro_search_name = filter_var($_SESSION['product_search'], FILTER_SANITIZE_STRING);
                $stmt = getDBH()->prepare("SELECT * FROM products WHERE name LIKE :search_name AND category=:category ORDER BY price ASC LIMIT $strona,8");
                $stmt->bindValue(':search_name','%'.$phpro_search_name.'%');
                $stmt->bindParam(':category', $phpro_category, PDO::PARAM_STR);
                $stmt->execute();
            }else{
                $stmt = getDBH()->prepare("SELECT * FROM products ORDER BY price LIMIT $strona,8");
                $stmt->execute();
            }
            break;

    }

    echo '<div class="text5">Wyniki wyszukiwania dla: &nbsp;'.$_SESSION['product_search'].'</div><div class="products">';
    while ($r = $stmt->fetch(PDO::FETCH_ASSOC)) {

        echo'
    	<div class="col-sm-6 col-md-4">
	<input type="hidden" name="id" value="'.$r['id'].'">
    <input type="hidden" name="price" value="'.$r['price'].'">
    <input type="hidden" name="count" value="'.$r['name'].'">
		<div class="thumbnail">
			<img src="../graph/'.$r['picture'].'" alt="" class="img-responsive">
			<div class="caption">
				<h3 class="text-left">'.$r['name'].'</h3>
				<p class="text-left">Cena: '.$r['price'].'zł</p>
				<div class="btn-toolbar text-center">
					<button type="submit" name="buy_product" class="btn btn-primary pull-right">Szczegoły</button>
				</div>
			</div>
		</div>
	</div>';
    }
    echo '</div><div style="clear: both"></div>';
}

 

komentarz zamknięcia: rozwiązane, poprostu dla else nie ustwaiłem że ma wyszukiwać w bazie danych podobne rekordy

Podobne pytania

0 głosów
1 odpowiedź 314 wizyt
pytanie zadane 5 września 2016 w PHP przez Mistrz0000000 Bywalec (2,780 p.)
+1 głos
5 odpowiedzi 266 wizyt
pytanie zadane 23 listopada 2021 w PHP przez BarSki13 Obywatel (1,250 p.)
+2 głosów
0 odpowiedzi 164 wizyt
pytanie zadane 17 października 2021 w PHP przez szpon12 Obywatel (1,260 p.)

92,975 zapytań

141,939 odpowiedzi

321,182 komentarzy

62,302 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...