Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]tablica + pętla
Forum PHP.pl > Forum > Przedszkole
plej
Na dole mam taki kod ( testowy więc nie jest atrakcyjny biggrin.gif )

Gdy wybiore kilka opcji pokaże mi się przykład np. :
"and ( zmienna = 7 or zmienna = 2 or zmienna = 3 or zmienna = 4 or zmienna = 5 or zmienna = 7 ) "

Niestety 2 razy mam " zmienna = 7;

I niestety nie wiem jak to zrobić żeby pozbyć się duplikatu :/

Szukałem na google ale zawiele nie znalazłem.

Ktoś pomoże?


  1. <?php
  2.  
  3. $wyp = $_POST['test'];
  4. if(!$wyp == 0){
  5. $kat = "";
  6. $k= "and ( ";
  7. foreach($wyp as $index => $val){
  8. if(isset($wyp)){
  9. $we = "zmienna = ".$val[0];
  10. $kat .= " or zmienna = ".$val;
  11. }
  12. }
  13. $kk = " )";
  14. echo $k.$we.$kat.$kk;
  15. }// if wyp
  16.  
  17.  
  18. ?>
  19. <!DOCTYPE html>
  20. <html>
  21. <head>
  22. <meta charset="utf-8"/>
  23. <title>Demos</title>
  24. <link rel="stylesheet" href="css/bootstrap.css" />
  25. <link rel="stylesheet" href="css/multiple-select.css" />
  26. </head>
  27. <body>
  28. <div class="container">
  29. <div class="form-group">
  30. <label>Email address</label>
  31. <input type="email" class="form-control" placeholder="Enter email">
  32. </div>
  33. <form action="test.php" method="post">
  34. <div class="form-group">
  35. <label>Month</label>
  36. <select id="ms" name="test[]" multiple="multiple">
  37. <option value="1">January</option>
  38. <option value="2">February</option>
  39. <option value="3">March</option>
  40. <option value="4">April</option>
  41. <option value="5">May</option>
  42. <option value="6">June</option>
  43. <option value="7">July</option>
  44. <option value="8">August</option>
  45. <option value="9">September</option>
  46. <option value="10">October</option>
  47. <option value="11">November</option>
  48. <option value="12">December</option>
  49. </select>
  50. </div>
  51. <button type="submit" class="btn btn-info btn-block">Dalej </button>
  52. </form>
  53. </div>
  54.  
  55. <script src="js/jquery-3.2.1.js"></script>
  56. <script src="js/multiple-select.js"></script>
  57. <script>
  58. $(function() {
  59. $('#ms').change(function() {
  60. console.log($(this).val());
  61. }).multipleSelect({
  62. width: '100%'
  63. });
  64. });
  65. </script>
  66. </body>
  67. </html>
kufel16
  1. zmienna = 7 or zmienna = 2 or zmienna = 3 or zmienna = 4 or zmienna = 5 or zmienna = 7


Tutaj nie porównujesz tylko ustawiasz zmienną smile.gif
plej
to ma być zapytanie do bazy danych nie do instrukcji warunkowej biggrin.gif


np.
select * from dane where imie = 1 and nazwisko=2 and ( rok=10 or rok=20 or rok=30) itp.

Użytkownik może wybrać pare opcji z danej listy i muszę do tego utworzyć zapytanie.

nospor
ale sieczka....

Co do problemu to poprostu:

  1. $twojeZapytanie = 'cos tam bla bla';
  2.  
  3. //teraz dodajemy opcje
  4. if (!empty($_POST['test'])) {
  5. $twojeZapytanie .= ' AND zmienna in ('.implode(',', $_POST['test']).')';
  6. }
  7.  
  8. echo $twojeZapytanie;
kufel16
Cytat(plej @ 12.10.2017, 10:36:14 ) *
to ma być zapytanie do bazy danych nie do instrukcji warunkowej biggrin.gif


np.
select * from dane where imie = 1 and nazwisko=2 and ( rok=10 or rok=20 or rok=30) itp.

Użytkownik może wybrać pare opcji z danej listy i muszę do tego utworzyć zapytanie.


Aj, sorry. Niedoczytałem smile.gif
plej
Dzięki Nospor ja się męczyłem w pętli a tu wystarczy jedna linijka he.

Nic nie szkodzi kufel16 biggrin.gif
viking
Dodatkowo to zabezpiecz. Tutaj masz przykład jak to zrobić https://prophp.pl/advice/show/13/w_jaki_spo...larza_do_php%3F
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.