Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]wypożyczenie maszyn
krzesik
post
Post #1





Grupa: Zarejestrowani
Postów: 517
Pomógł: 1
Dołączył: 25.08.2012

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


Witam,

mam pewien problem ze skryptem odpowiedzialnym za wyświetlenie maszyn wolnych i wypożyczonych

mam tablicę z maszynami:
  1. CREATE TABLE `obiekty` (
  2. `id_obiektu` int(10) NOT NULL,
  3. `nazwa` text NOT NULL,
  4. `typ` text NOT NULL,
  5. `aktywny` int(1) NOT NULL,
  6. `cena` decimal(9,2) NOT NULL,
  7. `czas` text NOT NULL
  8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

ta tablica przechowuje wszystkie maszyny

kolejną tablicą jest tablica gdzie zapisywane są rekordy z wynajmem:
  1. CREATE TABLE `rent` (
  2. `id_rent` int(10) NOT NULL,
  3. `id_obiektu` int(11) NOT NULL,
  4. `start` datetime NOT NULL,
  5. `stop` datetime NOT NULL,
  6. `cena` decimal(9,2) NOT NULL,
  7. `czas_najmu` text NOT NULL,
  8. `wartosc_najmu` decimal(9,2) NOT NULL,
  9. `login_start` text NOT NULL,
  10. `login_stop` text NOT NULL
  11. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
  12.  


w jaki sposób pokazać wszystkie maszyny z bazy to wiem:

  1. $Obiekty = "SELECT * FROM obiekty WHERE aktywny='1' ORDER BY typ ASC, nazwa ASC";
  2. $Obiekty_ = $mysqli -> query($Obiekty);

ale jak pokazać również maszyny które aktualnie sa wypożyczone?

zrobiłem tak, ale pokazuje TYLKO wypożyczone:

  1. ........
  2.  
  3. $Obiekty = "SELECT * FROM obiekty WHERE aktywny='1' ORDER BY typ ASC, nazwa ASC";
  4. $Obiekty_ = $mysqli -> query($Obiekty);
  5.  
  6.  
  7. $lp == 0;
  8.  
  9. while($r = mysqli_fetch_array($Obiekty_))
  10. {
  11. $Status = "SELECT * FROM rent WHERE id_obiektu = '$r[id_obiektu]' AND start!='' and stop =''";
  12. $Status_ = $mysqli -> query($Status);
  13.  
  14. $lp++;
  15.  
  16. echo '<tr>';
  17. echo '<td>';
  18.  
  19. if($Status_-> num_rows < 1)
  20. {
  21. echo '
  22. <div class="alert alert-info" style="height:center; width: center; border-radius: 0.5rem;" role="alert">
  23. L.p. '.$lp.' <br />
  24. Typ: '.$r[typ].' | Nr: '.$r[nazwa].'
  25. </div>
  26. ';
  27. echo '</td>';
  28. echo '</tr>';
  29. }
  30. else ($Status_-> num_rows > 0)
  31. {
  32. echo '
  33. <div class="alert alert-danger" style="height:center; width: center; border-radius: 0.5rem;" role="alert">
  34. L.p. '.$lp.' <br />
  35. Typ: '.$r[typ].' | Nr: '.$r[nazwa].'
  36. </div>
  37. ';
  38. echo '</td>';
  39. echo '</tr>';
  40. }
  41. }
  42.  
  43. .................
  44.  
  45.  




Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





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




Pamietaj.:

Nie ma skladni ELSE (warunek)
jest skladnia
albo ELSE
albo ELSE IF (warunek)

Zas gdy twoj IF ma tylko dwa stany to wtedy sie nie uzywa IF....ELSE IF tylko IF.. ELSE

przekombinowales z IFem poprostu.


Kolejna sprawa to nazywaj z sensem twoje zmienne

np:
nie
$Obiekty = "SELECT * FROM obiekty WHERE aktywny='1' ORDER BY typ ASC, nazwa ASC";
$Obiekty_ = $mysqli -> query($Obiekty);

a:
$sqlObiekty = "SELECT * FROM obiekty WHERE aktywny='1' ORDER BY typ ASC, nazwa ASC";
$resObiekty = $mysqli -> query($Obiekty);

Kolejna rzecz:
jak cos jest INT to nie zadne = '1' tylko poprostu =1

O jak otwierasz TR TD bez warunku, to i masz zamykac bez warunku a nie jak u ciebie bylo ze waliles zamkniecie w kazdej warunkowej sytuacji
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: 13.10.2025 - 21:45