Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] sprawdzanie wszystkich pol i rekordow
!*!
post
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Jak mogę sprawdzić wszystkie pola w bazie "userdata" czy mają odpowenią wartość? A jeśli nie to wyswietli się odpowiedni komunikat?

  1. <?php
  2. $sql="SELECT * FROM userdata WHERE `id` = '$userdata'";
  3. $sprawdz = mysql_query($sql);
  4.  
  5. while($wyniksprawdz = mysql_fetch_row($sprawdz)){
  6. if ($wyniksprawdz == 'brak') {
  7. echo "odpowiedni link<br />";
  8.  
  9. } else {
  10.  
  11. echo ' masz wszytkie rekordy<br />';
  12.  
  13. }
  14. }
  15. ?>


baza "userdata", "id = $userdata" jest to id konkretnego uzytkownika... jednak mam problem z wyświetleniem tego co chce uzyskać, mianowicie jeśli mam pole gg,tel i mail, chciałbym zapytaniem sprawdzić te wszytkie pola [ w tym wypadku 3] mają warotść np. "wolne" jeśli tak, wyświetla się link, jeśli nie zwraca else
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




To może w bazie domyślną wartość dla pustych pól w bazie null i w tej pętli while za pomocą foreach dla $wyniksprawdz sprawdzaj, czy empty" title="Zobacz w manualu PHP" target="_manual jest prawdziwy.

Jeśli nie wszystkie, to znasz odpowiedź. ;]
Go to the top of the page
+Quote Post
!*!
post
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


foreach się do tego nie nadaje, wyświetli wtedy napis "masz wszytkie rekordy" tyle razy ile jest pól w bazie.

Albo może ja robie coś źle?

mysql:

Kod
id | tel | dom | gg | kaczka | cos
32 | 432 | las | 00 | czarna | gps


jeśli chce pobrać dane tel | dom | gg | kaczka | cos użytkownika o id 32 to robie tak:

  1. <?php
  2. sql="SELECT * FROM userdata WHERE `id` = '$userdata'";
  3. ?>


gdzie $userdata to pole id w bazie, tu 32
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Hmm, ale przecież jak masz stałą ilość kolumn i w miarę mało, to czy nie lepiej sprawdzić zapytaniem "WHERE XX = null OR YY = null OR..."?
Go to the top of the page
+Quote Post
!*!
post
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


ok 1,5k rekordów do małych się nie zalicza (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ehh to nie ma prostego sposobu? (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
jak masz stałą ilość kolumn

(IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
!*!
post
Post #7





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


ups (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

emm ale czekaj bo już nie rozumiem

  1. <?php
  2. sql="SELECT * FROM userdata WHERE `id` = '$userdata'";
  3. ?>


Tak sprawdzi wszytko to co jest przypisane do ID np 15 i potem jedzie po kolei tel | dom itp.

a teraz to jak ma to wygladać?

  1. <?php
  2. sql="SELECT tel=null or dom=null FROM userdata WHERE `id` = '$userdata'";
  3. ?>
?
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




http://www.google.com/search?hl=pl&cli...=Szukaj&lr=

Ten post edytował erix 16.04.2008, 17:27:25
Go to the top of the page
+Quote Post

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: 24.08.2025 - 21:38