Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Sprawdzenie czy zmienna zmienna jest pusta
danek121
post 3.11.2017, 08:55:03
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 22.04.2015

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


Witam,
Jak w temacie próbowałem już kilka razy samemu i szukałem rozwiązania, ale nic nie znalazłem, a mianowicie gdzie w tym skrypcie rzucić ifa który będzie sprawdzał czy zmienna $poziom jest pusta i czy istnieje w bazie? Jeśli nie jest pusta i istnieje to wypiszę tabele z rekordami, a jeśli nie to wypiszę ze nie ma takiego rekordu. Z góry dzięki za pomoc.

  1. $polaczenie = mysqli_connect($host, $db_user, $db_password, $db_name);
  2.  
  3. $poziom = $_POST['poziom'];
  4. $pokemons = "SELECT * FROM pokemons WHERE lvl=".$poziom;
  5.  
  6. $wynik = mysqli_query($polaczenie, $pokemons) or die("Error: ".mysqli_error($polaczenie));


A tutaj wypisywanie tabeli i formularza:

  1. <center>
  2. <form action="poziompokemon2.php" method="post">
  3. <font size="10px">Wpisz poziom pokemona</font></br></br>
  4. <input type="text" name="poziom"/></br></br>
  5. <input type="submit" value="Pokaż"></br></br>
  6. </form>
  7.  
  8. <table class="tabelka" border="1" cellpadding="5" cellspacing="0">
  9. <tr>
  10. <th><span class="wiersz">Podgląd</span></th><th><span class="wiersz">Nazwa</span></th><th><span class="wiersz"> Poziom </span></th><th><span class="wiersz"> Region </span> </th><th><span class="wiersz"> Rodzaj </span></th><th><span class="wiersz"> Umiejętności </span> </th><th><span class="wiersz"> Słaby vs </span></th><th><span class="wiersz"> Mocny vs </span></th><th><span class="wiersz"> Cena </span>
  11. </tr>
  12. </center>';
  13.  
  14. // Wypisywanie rekordów od pierwszego do końca
  15.  
  16. while ($row = mysqli_fetch_array($wynik)) {
  17. <tr><td><img src="'.$row['img'].'"/></td><td id="nameofpokemon">'.$row['name'].'</td><td>'.$row['lvl'].'</td><td>'.$row['typ'].'</td><td>'.$row['kind'].'</td><td>'.$row['more'].'</td><td>'.$row['weak'].'</td><td>'.$row['strong'].'</td><td><font color="green">'.$row['price'].'</font></td>
  18. </tr>';
  19.  
  20. };
  21. mysqli_free_result($wynik);
  22.  


Ten post edytował danek121 3.11.2017, 08:56:20
Go to the top of the page
+Quote Post
Tomplus
post 3.11.2017, 09:07:00
Post #2





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


  1. if(empty($poziom)) echo "Ta zmienna jest pusta, wpisz coś chopie!";
Go to the top of the page
+Quote Post
danek121
post 3.11.2017, 09:16:14
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 22.04.2015

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


No dobra niby działa, ale co z resztą np gdy ktoś wpisze inną wartość niż jest w bazie to co po prostu dodać && $poziom != $row['lvl']?, jeśli tak to w którym miejscu i co z błędem który wyskakuje jak kliknę pokaż gdy pole jest puste:
Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
Go to the top of the page
+Quote Post
Tomplus
post 3.11.2017, 21:48:52
Post #4





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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


Jeżeli wysyłasz jakąś wartość to należy sprawdzić czy użytkownik wrzuca poprawną wartość w twojej zmiennej.

Jeżeli ma to być liczba to sprawdź:

  1. if(is_numeric($poziom)) {
  2. echo "zmienna \$poziom zawiera wartość liczbową: $poziom";
  3. }


Spójrz jak działają podstawowe funkcje kontrolne zmiennych, zobaczysz przy jakich wartościach warunek zostaje spełniony, a przy jakich nie jest.

  1. $a = 0;
  2. if(isset($a)) echo "i";
  3. if(empty($a)) echo "e";
  4. if(is_numeric($a)) echo "n";
  5. if(is_string($a)) echo "s";
  6. if(is_bool($a)) echo "b";
Go to the top of the page
+Quote Post
danek121
post 4.11.2017, 00:23:06
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 22.04.2015

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


Dzięki za ściągawkę, ale to w miarę ogarniam. Aktualnie nie jestem w stanie się połapać gdzie wklepać tego ifa, który jeżeli ktoś wpisze złą liczbę lub zostawi puste to wyskoczy sam formularz, a jeśli wpiszę poprawnie to wypiszą się tabele z danymi rekordami.

Ten post edytował danek121 4.11.2017, 00:29:45
Go to the top of the page
+Quote Post
Tomplus
post 4.11.2017, 10:30:05
Post #6





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

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



  1. if(warunek) {
  2.  
  3. // wyswietl właściwą treść
  4.  
  5. } else {
  6.  
  7. // wyświetl komunikat z błędem
  8.  
  9. }
Go to the top of the page
+Quote Post
danek121
post 4.11.2017, 17:34:19
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 22.04.2015

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


Nie pytałem jak wygląda konstrukcja ifa tylko gdzie w tym kodzie co podałem go wrzucić, pomiędzy czym, w którym miejscu.
Go to the top of the page
+Quote Post
markonix
post 4.11.2017, 18:03:16
Post #8





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


http://php.net/manual/en/mysqli-result.num-rows.php interesuje Cię rezultat większy niż 0.

Ten post edytował markonix 4.11.2017, 18:04:04


--------------------
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:09