Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] sprawdzanie czy rekord ma odpowiednią wartość
!*!
post
Post #1





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

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


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


w bazie userdata mam ok 1,5tys. rekordów, chciałbym sprawdzić jeśli któryś z nich ma warotść "brak" aby wyświelił się link, a jeśli każdy jest zapisany to komunikat z else... i to jest oczywiste, ale gdzieś mam tu błąd...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
PawelC
post
Post #2





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Ale czego brak? w jakiej kolumnie jest ta wartość brak?
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%)
-----


mam pole np. "kaczki" jego wartość to "czarne" albo "brak" brak w tym wypadku oznacza iż wpis o kaczkach nie ma się pokazywać i z tym sobie poradziłem, ale nie wiem jak zrobić aby były sprawdzanie wszytkie rekordy i jeśli w którynś jest wartość "brak" to zostanie wyświetlony link
Go to the top of the page
+Quote Post
Fishu
post
Post #4





Grupa: Zarejestrowani
Postów: 192
Pomógł: 13
Dołączył: 16.11.2007
Skąd: Żory

Ostrzeżenie: (10%)
X----


  1. <?php
  2. $brak = 'brak';
  3. $sprawdz = mysql_query("SELECT * FROM `userdata` WHERE `id` = '$userdata'");
  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. ?>

Sprawdź, powinno to zadziałać (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował Fishu 14.04.2008, 15:31:11
Go to the top of the page
+Quote Post
PawelC
post
Post #5





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


pobierasz z bazy rekordy do pętli z warunkiem, w zapytaniu czyli where kaczki="brak", to wyświetl je przy pomocy echo
Np:
  1. <?php
  2.  
  3. $sql="SELECT kaczki FROM `userdata` WHERE `kaczki` = 'brak'";
  4. $sprawdz = mysql_query($sql);
  5.  
  6. while($wyniksprawdz = mysql_fetch_row($sprawdz)){
  7. if ($wyniksprawdz['kaczki'] == 'brak') {
  8. echo "odpowiedni link<br />";
  9.  
  10. } else {
  11.  
  12. echo ' masz wszytkie rekordy<br />';
  13.  
  14. }
  15. }
  16. ?>


Ten post edytował ExPlOiT 14.04.2008, 15:36:17
Go to the top of the page
+Quote Post
!*!
post
Post #6





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

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


Fiszu, nie działa, obojetnie jakie pole nie miałoby wartości "brak" jest wyświetlane "masz wszytkie rekordy"

ExPlOiT, emm napisałem że mam bardzo dużo pól, więc pisanie

Kod
if ($wyniksprawdz['kaczki'] == 'brak') {


dla każdego z nich mija się z celem
Go to the top of the page
+Quote Post
PawelC
post
Post #7





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


to zrób tak:
  1. <?php
  2.  
  3. $sql="SELECT * FROM userdata WHERE `id` = '$userdata'";
  4. $sprawdz = mysql_query($sql);
  5.  
  6. while($wyniksprawdz = mysql_fetch_row($sprawdz)){
  7. if ($wyniksprawdz == 'brak') {
  8. echo "odpowiedni link<br />";
  9.  
  10. } else {
  11.  
  12. echo ' masz wszytkie rekordy<br />';
  13.  
  14. }
  15. }
  16. ?>
Go to the top of the page
+Quote Post
!*!
post
Post #8





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

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


i problem jest ten sam... jeśli kilka pół ma wartość "brak" to i tak wyświetla się "masz wszytkie..."

próbowałem pozmieniać

Kod
$wyniksprawdz == 'brak'


na !==, =, != itp. ale bez skutku



EDIT:

i kurcze nie wiem... wie ktoś jak to rozwiązać?
Go to the top of the page
+Quote Post
--kapitan_hak--
post
Post #9





Goście







Cytat(!*! @ 14.04.2008, 20:19:32 ) *
i problem jest ten sam... jeśli kilka pół ma wartość "brak" to i tak wyświetla się "masz wszytkie..."

próbowałem pozmieniać

Kod
$wyniksprawdz == 'brak'


na !==, =, != itp. ale bez skutku
EDIT:

i kurcze nie wiem... wie ktoś jak to rozwiązać?

Spróbuj:
Kod
$sql="SELECT * FROM userdata WHERE `id` = '$userdata'";
$sprawdz = mysql_query($sql);

while($wyniksprawdz = mysql_fetch_row($sprawdz)){
  foreach($wyniksprawdz as $wynik)
  {
  if ($wynik == 'brak') {
      echo "odpowiedni link<br />";

  } else {

    echo ' masz wszytkie rekordy<br />';

    }
  }
}

Sprawdzi ci to każde pole po kolei.
Go to the top of the page
+Quote Post
!*!
post
Post #10





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

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


przy takim zastosowaniu zwraca mi "masz wszytkie rekordy" tyle ile mam pól... Nie sprawdza tego jaką mają wartość i nie wyświetla jednorozawo komunikatu, tylko teraz sprawedza jaka jest wartość i do każdego pola wyświetla osobny choć ten sam komunikat
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: 23.08.2025 - 13:03