Kezdőoldal » Számítástechnika » Weblapkészítés » Hogyan szűrjek két érték...

Hogyan szűrjek két érték közötti számokat az adatbázisból? Php, mysql.

Figyelt kérdés

Itt a teljes kódom.

Ha nem írok egyik mezőbe semmit akkor "There ara no result matchin your search!".

Ha csak a min_price mezőbe írok akkor is "There ara no result matchin your search!".

Ha beirok egy értéket a max_price mezőbe akkor rendesen lefut a lekérdezés.

Illetve akkor is, ha mindkét mezőt kitöltöm.

Azonban nekem úgy kellene, hogy ha nem írok egyik mezőbe se semmit, akkor minden listázzon.

Nem értem miért ragaszkodik ennyire a max_price mezőhöz.



HTML:


<form action="search.php" method="POST">

<input type="number" name="min_price" placeholder="min ár">

<input type="number" name="max_price" placeholder="max ár">

<button type="submit" name="submit-search" >Search</button>

</form>


Search.php


<?php

if(isset($_POST['submit-search'])){

$min_price = mysqli_real_escape_string($conn, $_POST['min_price']);

$max_price = mysqli_real_escape_string($conn, $_POST['max_price']);


$sql = "SELECT * FROM termek WHERE ar > '$min_price' AND ar < '$max_price'";

}


$result = mysqli_query($conn, $sql);

$queryResult = mysqli_num_rows($result);


if($queryResult > 0){

while($row = mysqli_fetch_assoc($result)){

echo $row['marka'] . " " . $row['tipus'] . " " . $row['ar'] . "<br>" ;

}

} else{

echo "There ara no result matchin your search!";

}


?>


Tudom, hogy nem ez a legjobb oldal erre a kérdése.

Melyik oldalt ajánljátok hasonló jellegű kérdésekhez?



2020. márc. 17. 19:50
 1/3 anonim ***** válasza:

Írasd ki az $sql változót abban az esetben, amikor nincs min és max price. Meg fogod látni, hogy szemantikus hibát eredményez a mysql-ben.


Jelen esetben ilyesmit kapnál:

SELECT * FROM termek WHERE ar > '' AND ar < ''


Ugye mivel nincsenek ilyen változóid. Feltételezem az ar mező a táblában számot tartalmaz, és próbálod összehasonlítani egy nem minden esetben számmal. Ez problémákat okozhat.

2020. márc. 17. 20:11
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
Igazad van, de hogyan birom megoldani ezt?
2020. márc. 17. 22:57
 3/3 anonim ***** válasza:
WHERE ar BETWEEN IFNULL($min_price, 0) AND IFNULL ($max_price, 2147483647)
2020. márc. 18. 00:18
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!