Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Nie działający search
iksior
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 30.01.2010

Ostrzeżenie: (0%)
-----


Witam search za każdym razem zwraca mi wszystkie rekordy z bazy i nie wiem co jest nie tak(największy problem jest gdy ma pokazać tylko projekty z konkretnym dispsizem)
oto kod:
  1.  
  2. <?php
  3.  
  4. include("config.php");
  5.  
  6. $poname = $_POST['poname'];
  7.  
  8. $testpsta = $_POST['testpsta'];
  9.  
  10. $testpsto = $_POST['testpsto'];
  11.  
  12. $chipset = $_POST['chipSel'];
  13.  
  14. $cpu = $_POST['cpuSel'];
  15.  
  16. $dispsize = $_POST['dispsize'];
  17. $dispsize2 = $_POST['dispsize2'];
  18.  
  19. $campx = $_POST['cammpx'];
  20.  
  21. $campx2 = $_POST['cammpx2'];
  22.  
  23. var_dump($_POST);
  24. $qu = mysql_query("SELECT * FROM projects WHERE
  25. Chipset='$chipset'
  26. AND Cpu='$cpu'
  27. AND DispSize BETWEEN '$dispsize' AND '$dispsize2'
  28. AND CameraRearPhoRes BETWEEN '$campx' AND '$campx2'
  29. AND ProjectName LIKE '%$poname%'
  30. OR OfficialName LIKE '%$poname%'
  31. ");
  32. $count = mysql_num_rows($qu);
  33. $output = "";
  34. if($count == 0){
  35. $output = "No project found";
  36. }else
  37. {
  38. while($row = mysql_fetch_array($qu)){
  39. $rowid = $row['id'];
  40. $rowpname = $row['ProjectName'];
  41. $rowoname = $row['OfficialName'];
  42. $output .= '<div> Id= '.$rowid.' '.$rowpname.' '.$rowoname.'</div>';
  43.  
  44. }
  45. print_r($output);
  46. }
  47.  
  48.  
  49.  
  50.  
  51. ?>
  52.  
  53.  


Ten post edytował iksior 13.10.2013, 22:18:09
Go to the top of the page
+Quote Post
freemp3
post
Post #2





Grupa: Zarejestrowani
Postów: 467
Pomógł: 77
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

Ostrzeżenie: (0%)
-----


Wyświetl sobie wygenerowane zapytanie i sprawdź jak wygląda. Następnie sprawdź przy pomocy phpmyadmin-a lub jakiegoś innego programu, jak wyglądają zwracane wyniki. Później usuń całkowicie warunek i napisz go od nowa testując co zwraca baza danych. Nie pisz całego warunku od razu tylko dodawaj po jednym członie i sprawdzaj co się dzieje.


--------------------
Niemożliwym jest stworzenie czegokolwiek idiotoodpornego, ponieważ idioci są wyjątkowo pomysłowi.

https://www.aroch.pl
https://themeforest.net/user/aroch
https://www.astroblog.aroch.pl
https://www.4geeks.pl
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




AND Cpu='$cpu'
AND DispSize BETWEEN '$dispsize' AND '$dispsize2'
AND CameraRearPhoRes BETWEEN '$campx' AND '$campx2'
AND ProjectName LIKE '%$poname%'
OR OfficialName LIKE '%$poname%'



Poraz kolejny podstawy logiki sie klaniają.

2+3*4 to nie to samo co (2+3)*4

Identycznie jest z AND i OR w mysql.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 10:48