Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]wyciąganie danych z bazy
marcinkooter
post 9.12.2010, 13:28:41
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 23.11.2010

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


Mam bazę danych o nazwie 2 z tabelą"dane_ z_ tabeli". W tabeli mam 4 rekordy.
chcę aby wyświetlało mi je na stronie tylko wtedy, kiedy pole WYNAGRODZENIE1 nie jest puste
po zastosowaniu poniższego kodu, wyświetla mi wszystkie rekordy niezależnie od pola wynagrodzenie1. Gdzie mogłem zrobić błąd?

  1. <?php
  2. function lacz_bd()
  3. {
  4. $db = new mysqli('localhost', 'login', 'haslo', '2');
  5. if (! $db)
  6. return false;
  7. $db->autocommit(TRUE);
  8. return $db;
  9. }
  10.  
  11.  
  12.  
  13. $db = lacz_bd();
  14.  
  15.  
  16. $zapytanie = "select nazwa, wiek, miasto, dzielnica, wynagrodzenie1 from dane_z_tabeli where wynagrodzenie1 IS NOT NULL";
  17.  
  18.  
  19. $wynik = $db->query($zapytanie);
  20.  
  21.  
  22. $ile_znalezionych = $wynik->num_rows;
  23.  
  24.  
  25.  
  26.  
  27. echo '<table>';
  28. echo '<tr><td>NAZWA</td><td>WIEK</td><td>MIASTO</td><td>DZIELNICA</td><td>WYNAGRODZENIE</td></tr>','<BR>';
  29.  
  30.  
  31. for ($i=0; $i <$ile_znalezionych; $i++)
  32. {
  33. $wiersz = $wynik->fetch_assoc();
  34. echo '<tr>';
  35. echo '<td>'.$wiersz['nazwa'].'</td>';
  36. echo '<td>'.$wiersz['wiek'].'</td>';
  37. echo '<td>'.$wiersz['miasto'].'</td>';
  38. echo '<td>'.$wiersz['dzielnica'].'</td>';
  39. echo '<td>'.$wiersz['wynagrodzenie1'].'</td>';
  40. echo '</tr>';
  41. }
  42. echo '</table>';
  43. ?>
  44.  
  45.  




Taki mam wynik

NAZWA WIEK MIASTO DZIELNICA WYNAGRODZENIE

Joanna 19 Kraków krowodzrza 10

Katarzyna 10 Szczecin kaszuby 15

Maciej 19 Warszawa krowodzrza

Anna 24 Wrocław grzegórzki


Z kolei gdy zmienię selecta na:
$zapytanie = 'select nazwa, wiek, miasto, dzielnica, wynagrodzenie1 from dane_z_tabeli where wiek=19';

wynik zwracany jest poprawny



Ten post edytował marcinkooter 9.12.2010, 13:53:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
zordon
post 9.12.2010, 14:49:26
Post #2





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

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


Prawdopodobnie w polu wynagrodzenie1 nie masz nulla, tylko pusty ciąg znaków, a to nie to samo.
Sprawdź, czy kolumna wynagrodzenie1 nie ma przypadkiem ustawionego NOT NULL i podaj jakiego jest typu.

Spróbuj, nawet ręcznie w bazie dać UPDATE ... SET NULL WHERE..., a później sprawdź sobie ponownie wyniki
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: 6.07.2025 - 21:10