Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kwerenda wyświetlająca przepisy na podstawie zaznaczonych wcześniej do niej produktów.
adus97
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 3.11.2020

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


[php][/php]
Dobry wieczór,

Jestem w trakcie pisania pracy dyplomowej i napotkałem problem dot. wyświetlania przepisów na podstawie wcześniej zaznaczonych produktów z formularza.

ZAMYSŁ:
(IMG:https://zapodaj.net/images/57ee78e5bd174.png)
(IMG:https://zapodaj.net/images/a19e1b9ca5a02.jpg)
Chcę stworzyć kwerendę, która będzie aktywowała się w momencie spełnienia warunku:

a) wszystkie składniki podane w formularzu muszą być zawarte w przepisie w przeciwnym wypadku przepis/y nie zostanie wyświetlony.

Kieruję pytanie do was jak muszę przerobić swoją kwerendę aby takowa kwerenda miała byt na mojej stronie?

Dla entuzjastów wysyłam plik .SQL ze strukturą bazy danych.

https://pastebin.pl/view/be6ecf46

Z góry dziękuję za każdą pomoc (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
adus97
post
Post #2





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 3.11.2020

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


To by miało sens bo prawdę mówiąc już zaczynam powoli tracić cierpliwość i nie wiedziałem jak rozwiązać ten problem.
Czy mógłbym prosić Pana o szersze wytłumaczenie, nigdy nie korzystałem z funkcji array_diff() i nie mam zbytnio pomysłu jak ją zaimplementować do swojego skryptu.
Mogę prosić o nakierowanie?
Byłbym ogromnie wdzięczny

  1. <form name="add_name" id="add_name" action="" method="get">
  2. <div class="row">
  3.  
  4. <div class="col-lg-12 mt-4 mt-lg-0">
  5.  
  6.  
  7. <div class="tab-pane">
  8. <div class="row">
  9. <div class="col-lg-12 details order-2 order-lg-1">
  10. <table style="width:100%">
  11. <tr>
  12. <th style="text-align: center;"><h3>Podaj składniki</h3></th>
  13. <th style="text-align: center;"><h3>Znalezione przepisy</h3></th>
  14. </tr>
  15. </table>
  16.  
  17.  
  18. <!-- --> FORMULARZ ZE SKŁADNIKAMI
  19. <div class='form-group skladniki-list'>
  20. <?php
  21. if(isset($_SESSION['komunikat'])){ // WYŚWIETLA KOMUNIKAT O POMYSLNEJ REJESTRACJI/LOGOWANIU
  22. echo($_SESSION['komunikat']);
  23. unset($_SESSION['komunikat']);
  24. }
  25. ?>
  26.  
  27. <div class='input-group'>
  28. <div class="col-lg-6 mt-4 mt-lg-0">
  29. <div class="table-responsive">
  30. <table class="table table-bordered" id="dynamic_field" style="border">
  31. <td style="border: none;">
  32. <?php
  33. include 'baza.php';
  34. $skladniki_query = mysqli_query($connection, "SELECT * FROM `skladniki`");
  35. $skladniki_rows = mysqli_num_rows($skladniki_query);
  36. if (mysqli_num_rows($skladniki_query) > 0) {
  37. echo"<select name='skladnik[]' class='selectpicker skladnik' data-live-search='true' title='Wybierz składnik' style='height: 200% !important ;'>";
  38. while($skladniki_row = mysqli_fetch_assoc($skladniki_query)) {
  39. echo "<option value=" . $skladniki_row['ID'] .">" . $skladniki_row['Produkt'] . "</option>";
  40. }
  41. echo "</select></td>";
  42. }
  43. echo"
  44.  
  45.  
  46. <td style='border:none;'><button type='button' name='add' id='add' class='btn btn-outline-warning' style='line-height:1;'>
  47. Kolejny składnik</button></td>
  48. </tr>";
  49. ?>
  50. </table>
  51. <input type="submit" class="btn btn-outline-warning" value="Wyszukaj" name="wyszukaj">
  52. </div>
  53. </form>



  1. <?php
  2. if (isset($_GET['wyszukaj'])) { //wywoływanie funkcji wyszukaj
  3. $liczba_skladnikow = count($_GET["skladnik"]); // wyciaganie informacji na temat ilosci wprowadzonych skladników
  4. if($liczba_skladnikow > 1)
  5. {
  6. for($i=0; $i<$liczba_skladnikow; $i++)
  7. {
  8. $skladnik = $_GET["skladnik"][$i];
  9. /*echo "<BR></br> <br>";
  10.   echo "SELECT `przepisy`.*, `przepisy_skladniki`.`Przepisy_ID`, `przepisy_skladniki`.`Skladniki_ID`, `skladniki`.`Produkt` FROM `przepisy` LEFT JOIN `przepisy_skladniki` ON `przepisy_skladniki`.`Przepisy_ID` = `przepisy`.`ID` LEFT JOIN `skladniki` ON `przepisy_skladniki`.`Skladniki_ID` = `skladniki`.`ID` WHERE `przepisy`.`ID` = `przepisy_skladniki`.`Przepisy_ID` AND `przepisy_skladniki`.`Skladniki_ID` = ".mysqli_real_escape_string($connection, $_GET["skladnik"][$i])."";*/
  11. $zapytanie = mysqli_query($connection, "SELECT `przepisy`.*, `przepisy_skladniki`.`Przepisy_ID`, `przepisy_skladniki`.`Skladniki_ID`, `skladniki`.`Produkt` FROM `przepisy` LEFT JOIN `przepisy_skladniki` ON `przepisy_skladniki`.`Przepisy_ID` = `przepisy`.`ID` LEFT JOIN `skladniki` ON `przepisy_skladniki`.`Skladniki_ID` = `skladniki`.`ID` WHERE `przepisy`.`ID` = `przepisy_skladniki`.`Przepisy_ID` AND `przepisy_skladniki`.`Skladniki_ID` = ".mysqli_real_escape_string($connection, $_GET["skladnik"][$i])." ");
  12. $zapytanie_rows = mysqli_num_rows($zapytanie);
  13. while($zapytanie_rows = mysqli_fetch_assoc($zapytanie)) {
  14. echo"<div class='about-img'>
  15. <a href='przepis.php?ID= ".$zapytanie_rows['ID']."&nazwa= ".$zapytanie_rows['Nazwa']."'> ".$zapytanie_rows['Nazwa']." </a>
  16. ".$zapytanie_rows['Produkt']."
  17. <img src='".$zapytanie_rows['obrazek']."' alt='' style='max-width: 100%;
  18. border: 4px solid rgba(255, 255, 255, 0.2);
  19. position: relative;'>
  20. </div>";
  21. }
  22.  
  23. }
  24. }
  25. }
  26. ?>
SKRYPT ODPOWIEDZIALNY ZA WYŚWIETLANIE PRZEPISU/ÓW NA STRONIE
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 06:47