Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [php][mysql] wyświetlanie kilku rekordów
!*!
post 21.02.2008, 23:48:18
Post #1





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

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


  1. <?php
  2. $query2 = mysql_fetch_array(mysql_query("SELECT status_gg FROM prywata WHERE login = '$ids'")); 
  3.  
  4. while ($wiersz = mysql_fetch_array($result)) 
  5. {
  6.  
  7. if($query2[0] == 1) echo 'ukryty'; 
  8. else if($query2[0] == 0) echo 'gg:<b>'.$wiersz['gg'].'</b>';
  9. }
  10. ?>



zakładając że tabela status_gg ma wartość 0. i wszytko działa poprawnie tylko jak mam np. dodać jeszcze nr telefonu np. "status_tel" ? Powtarzać else if? Czy jest inny sposób bardziej optymalny?


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Hazel
post 22.02.2008, 00:00:02
Post #2





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

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


Po pierwsze to tabela nie może mieć wartości. Wartość może mieć kolumna w danym rekordzie.
Poza tym to nie za bardzo wiem, o co pytasz... Jeśli chcesz dodać jeszcze kolumnę status_tel to dodaj, zmodyfikuj zapytanie i daj jeszcze 2 warunki if/else if... Nie ma "bardziej optymalnego" sposobu i być nie może. Możesz jedynie zastosować switch, ale w przypadku 2 możliwych przypadków (+ ewentualnego defaulta) niekoniecznie to się opłaca.
Generalnie optymalizacja takiego kawałka kodu nie jest możliwa. W każdym przypadku będzie Ci 4 razy sprawdzało co zawiera zmienna pobrana z bazy (chyba że przyjmiesz, iż ta zmienna może mieć tylko 2 wartości - 0 lub 1, bo powyższy kod sugeruje, że możesz spodziewać sie jeszcze jakichś innych wartości i stąd else if zamiast samego else - no ale nie wiem co to miałaby być za wartość, tak logicznie myśląc).


--------------------
Go to the top of the page
+Quote Post
Jarod
post 22.02.2008, 00:02:09
Post #3





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


jeżeli status_gg może mieć wartośc 0 albo jeden to imo lepiej tak:
  1. <?php
  2. $result = mysql_query('SELECT status_gg, status_tel2, status_tel3 FROM prywata WHERE login = ' .$ids); 
  3.  
  4. while ($wiersz = mysql_fetch_array($result, MYSQL_NUM)) 
  5. {
  6.  
  7. if($wiersz[0] == 1)
  8. {
  9.  echo 'ukryty';
  10. }
  11. else
  12. {
  13. echo 'gg:<b>'.$wiersz['status_gg'].'</b>';
  14. echo 'tel_2:<b>'.$wiersz['status_tel2'].'</b><br /> ';
  15. echo 'tel3:<b>'.$wiersz['status_tel3'].'</b><br /> ';
  16. }
  17.  
  18.  
  19. }
  20. ?>


Ten post edytował Jarod 22.02.2008, 00:28:15


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
!*!
post 22.02.2008, 00:17:12
Post #4





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

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


  1. <?php
  2. $query2 = mysql_fetch_array(mysql_query("SELECT status_gg, status_tel2, status_tel3 FROM prywata WHERE login = '$ids'")); 
  3.  
  4. while ($wiersz = mysql_fetch_array($result)) 
  5. {
  6.  
  7. if($query2[0] == 1) echo ''; 
  8. else if($query2[0] == 0)echo 'gg:<b>'.$wiersz['gg'].'</b><br /> ';
  9.  
  10. if($query2[0] == 1) echo ''; 
  11. else if($query2[0] == 0)echo 'tel_2:<b>'.$wiersz['tel2'].'</b><br /> ';
  12.  
  13. if($query2[0] == 1) echo ''; 
  14. else if($query2[0] == 0)echo 'tel3:<b>'.$wiersz['tel3'].'</b><br /> ';
  15.  
  16.  
  17. }
  18. ?>


w bazie wszystko jest ok. tylko właśnie przy odczycie nie, tel2 i tel3 są odczytywane tak jak gg, czyli jeśli gg jest ukryte to tel2 i tel3 też.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Jarod
post 22.02.2008, 00:20:48
Post #5





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Zobacz na kod który edytowałem.
pzdr


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
!*!
post 22.02.2008, 00:24:57
Post #6





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

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


Patrze, tylko że w on ogóle nie zwraca żadnej wartośći.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Jarod
post 22.02.2008, 00:28:34
Post #7





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Zjadłem dolara w pętli.


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
!*!
post 22.02.2008, 00:35:04
Post #8





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

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


heh, i nadal nic. poza tym dla każdego wyniku musi być osobne else, inaczej wynik będzie zależny od pierwszego? tak jak to mam w 2 przykłazdzie...


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Jarod
post 22.02.2008, 00:40:38
Post #9





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(!*! @ 22.02.2008, 00:35:04 ) *
heh, i nadal nic. poza tym dla każdego wyniku musi być osobne else, inaczej wynik będzie zależny od pierwszego? tak jak to mam w 2 przykłazdzie...

Kod działa - sprawdzałem. Może zapominasz połączyć się z bazą i wybrać bazę danych.. :/ Masz jakieś błędy?

Dlaczego osobny else? Zdecyduj się co chcesz osiągnąć.
Jeśli status_gg będzie zero to nic nie zostanie wyświetlone. Jesli = 1 to widzisz wszystkie dane.
proste jak budowa cepa

Ten post edytował Jarod 22.02.2008, 00:41:15


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
potreb
post 22.02.2008, 00:41:44
Post #10





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Jak dla mnie dużo tu poplątałeś
  1. <?php
  2. $query2 = mysql_fetch_array(mysql_query("SELECT status_gg, status_tel2, status_tel3 FROM prywata WHERE login = '$ids'")); 
  3. while ($wiersz = mysql_fetch_array($result))
  4. ?>

$result - do czego się odnosi?

Można tak?
  1. <?php
  2. $query2 = mysql_query("SELECT status_gg, status_tel2, status_tel3 FROM prywata WHERE login = '$ids'"); 
  3. while ($wiersz = mysql_fetch_array($result)) {
  4. ($wiersz['gg'] == 0 ? echo $wiersz['gg'] : echo "brak");
  5. }
  6. ?>


Taki przykład, dane o statusie możesz pobierać przez mysql_fetch_row.

Ten post edytował potreb 22.02.2008, 00:43:47


--------------------

Go to the top of the page
+Quote Post
!*!
post 22.02.2008, 00:49:31
Post #11





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

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


$result - prowadzi do zapytania odczytując dane użytkownika

emm jeszcze raz.

Kod
0 - pokazuje
1- ukrywa

gg - 0
tel2 - 1
tel3 - 0


przy wyświetleniu:

Kod
gg
tel3


Ten post edytował !*! 22.02.2008, 00:50:12


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Jarod
post 22.02.2008, 00:51:39
Post #12





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(!*! @ 22.02.2008, 00:49:31 ) *
$result - prowadzi do zapytania odczytując dane użytkownika

emm jeszcze raz.

Kod
0 - pokazuje
1- ukrywa

gg - 0
tel2 - 1
tel3 - 0


przy wyświetleniu:

Kod
gg
tel3


Człowieku co z Tobą jest? Zajrzyj najpierw do manuala http://php.net.pl/manual/pl/function.mysql-fetch-array.php

Co do Twoich warunków to nie wiem już o co Ci chodzi. Dostałeś kod, który działa - sprawdzałem. Dalej sobie już możesz sam dostosować.


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
!*!
post 22.02.2008, 01:01:13
Post #13





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

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


właśnie chce to dostosować ale mi nie wychodzi

  1. <?php
  2. // polaczenie z baza conn.php
  3.  
  4.  
  5. $query = "SELECT * FROM userdata WHERE login = '$ids'";
  6.  
  7. $result = mysql_query($query) or die(mysql_error());
  8.  
  9.  
  10. $query = mysql_fetch_array(mysql_query("SELECT status_gg, status_tel2, status_tel3 FROM prywata WHERE login = '$ids'")); 
  11.  
  12. while ($wiersz = mysql_fetch_array($result, MYSQL_NUM)) 
  13. {
  14.  
  15. if($wiersz[0] == 1)
  16. {
  17.  echo 'ukryty';
  18. }
  19. else
  20. {
  21. echo 'gg:<b>'.$wiersz['status_gg'].'</b>';
  22. echo 'tel_2:<b>'.$wiersz['status_tel2'].'</b><br /> ';
  23. echo 'tel3:<b>'.$wiersz['status_tel3'].'</b><br /> ';
  24. }
  25.  
  26.  
  27. }
  28. ?>


blad jest taki iz $query wczytywane mam dwa razy, za pierwszym jest to odczyt danych uzytkowniak a za drugim status 0 czy 1, i od tego zalezy co zostanie wyswietlone a co nie

Ten post edytował !*! 22.02.2008, 01:01:55


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Jarod
post 22.02.2008, 01:08:19
Post #14





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Popatrz na kod który dostałeś i popatrz jeszcze raz i jeszcze raz i nawet 1000razy bo wprowadzasz swoje błędne poprawki!

  1. <?php
  2. // polaczenie z baza conn.php
  3.  
  4.  
  5. $query1 = mysql_query('SELECT * FROM userdata WHERE login =' . $ids);
  6. $query2 = mysql_query('SELECT status_gg, status_tel2, status_tel3 FROM prywata WHERE login = ' . $ids); 
  7.  
  8.  
  9. while ($wiersz = mysql_fetch_array($result2, MYSQL_NUM)) 
  10. {
  11.  
  12. if($wiersz[0] == 1)
  13. {
  14.  echo 'ukryty';
  15. }
  16. else
  17. {
  18. echo 'gg:<b>'.$wiersz['status_gg'].'</b>';
  19. echo 'tel_2:<b>'.$wiersz['status_tel2'].'</b><br /> ';
  20. echo 'tel3:<b>'.$wiersz['status_tel3'].'</b><br /> ';
  21. }
  22.  
  23.  
  24. }
  25. ?>


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
!*!
post 22.02.2008, 01:25:56
Post #15





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

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


tak jak napisałeś to:

$query1 - pobiera dane użytkownika jego gg i telefony
$query2 - pobiera status jaki ma jego gg i telefony

tylko

  1. <?php
  2. while ($wiersz = mysql_fetch_array($result2, MYSQL_NUM))
  3. ?>
jak na moje oko $result2 tu nie pasuje winksmiley.jpg i albo wypiłem za dużo kawy albo przyda mi się urlop... według tego co podałeś while skad ma pobrać dane o statusie i jednoczenie jakie dane wprowadził uzytkownik? Osobno ma byc wyświetlane gg,tel itp. a nie wszytko razem. to co podałeś nie pobiera żadnych danych a obojetnie czy 0 czy 1 i tak wyswietla echo bez warotśći. tak jak podałem wcześniej

  1. <?php
  2. while ($wiersz = mysql_fetch_array($result)) 
  3. {
  4.  
  5. if($query2[0] == 1) echo ''; 
  6. else if($query2[0] == 0)echo 'gg:<b>'.$wiersz['gg'].'</b><br /> ';
  7.  
  8. if($query2[0] == 1) echo ''; 
  9. else if($query2[0] == 0)echo 'tel_2:<b>'.$wiersz['tel2'].'</b><br /> ';
  10.  
  11. if($query2[0] == 1) echo ''; 
  12. else if($query2[0] == 0)echo 'tel3:<b>'.$wiersz['tel3'].'</b><br /> ';
  13.  
  14.  
  15. }
  16. ?>


tylko myk jest taki że jeśli ukryje sie GG to ukryje wszytko, a chciałbym aby moznabylo pokazać GG, ukryć tel2, pokazać tel 3, albo ukryć tel3, a pokazać reszte...

Ten post edytował !*! 22.02.2008, 01:27:01


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
potreb
post 22.02.2008, 01:29:37
Post #16





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


A ja ci podałem prosty przykład. Z twojego przykładu od początku wynika, że jak ukryjesz nr gg to ukryjesz resztę, a dopiero pod koniec to stwierdzasz.

Ten post edytował potreb 22.02.2008, 01:29:48


--------------------

Go to the top of the page
+Quote Post
Jarod
post 22.02.2008, 01:30:28
Post #17





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(!*! @ 22.02.2008, 01:25:56 ) *
jak na moje oko $result2 tu nie pasuje ;) i albo wypiłem za dużo kawy albo przyda mi się urlop... według tego co podałeś while skad ma pobrać dane o statusie i jednoczenie jakie dane wprowadził uzytkownik? Osobno ma byc wyświetlane gg,tel itp. a nie wszytko razem. to co podałeś nie pobiera żadnych danych a obojetnie czy 0 czy 1 i tak wyswietla echo bez warotśći. tak jak podałem wcześniej

Sorry ale to Twoje zapytania. Trzeba było sprecyzować to dokładnie. Skąd ja wiem co zwraca Ci zapytanie Select * questionmark.gif?





Cytat(!*! @ 22.02.2008, 01:25:56 ) *
tylko myk jest taki że jeśli ukryje sie GG to ukryje wszytko, a chciałbym aby moznabylo pokazać GG, ukryć tel2, pokazać tel 3, albo ukryć tel3, a pokazać reszte...



Kilk postów wyżej napisałeś:
Cytat
czyli jeśli gg jest ukryte to tel2 i tel3 też.

więc zdecyduj się.


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
!*!
post 22.02.2008, 01:48:14
Post #18





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

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


  1. <?php
  2. $query = "SELECT * FROM userdata WHERE login = '$ids'";
  3. $result = mysql_query($query) or die(mysql_error());
  4.  
  5. $query2 = mysql_fetch_array(mysql_query("SELECT status_gg, status_tel2, status_tel3 FROM prywata WHERE login = '$ids'")); 
  6. while ($wiersz = mysql_fetch_array($result)) 
  7. {
  8.  
  9. if($query2[0] == 1) echo ''; 
  10. else if($query2[0] == 0)echo 'gg:<b>'.$wiersz['gg'].'</b><br /> ';
  11. if($query2[0] == 1) echo ''; 
  12. else if($query2[0] == 0)echo 'tel2:<b>'.$wiersz['tel2'].'</b><br /> ';
  13. if($query2[0] == 1) echo ''; 
  14. else if($query2[0] == 0)echo 'tel3:<b>'.$wiersz['tel3'].'</b><br /> ';
  15.  
  16. }
  17. ?>


jest tak

$query pobiera dane o użytkowniku, $result łaczy się z $query, $query2 pobiera status danych użytkownika, while łączy się z $result aby pobrać dane o użytkowniku, if'y łączą się z $query2 aby pobrać i zweryfikować statusty tych danych czy mają być wyświetlane czy nie... prawda że mało skomplikowane? biggrin.gif

zakładamy że użytkownik ma takie dane

Kod
gg: 888865 o statusie 0
tel2: 333 o statusie 0
tel3: 555 o statusie 1


czyli wyświetlić ma się tylko tel3

a to:

  1. <?php
  2. if($wiersz[0] == 1)
  3. {
  4.  echo 'ukryty';
  5. }
  6. else
  7. {
  8. echo 'gg:<b>'.$wiersz['status_gg'].'</b>';
  9. echo 'tel_2:<b>'.$wiersz['status_tel2'].'</b><br /> ';
  10. echo 'tel3:<b>'.$wiersz['status_tel3'].'</b><br /> ';
  11. }
  12. ?>


zwraca w else wszytko na raz [przynajmneij w założeniu, bo normalnie bazujac na tym co podałem wyzej jest tylko "echo gg:" bez wartości.]

a to już inna bajka:

  1. <?php
  2. $query2 = mysql_query("SELECT status_gg, status_tel2, status_tel3 FROM prywata WHERE login = '$ids'"); 
  3. while ($wiersz = mysql_fetch_array($result)) {
  4. ($wiersz['gg'] == 0 ? echo $wiersz['gg'] : echo "brak");
  5. }
  6. ?>


Kod
Parse error: syntax error, unexpected T_ECHO


Ten post edytował !*! 22.02.2008, 01:54:47


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
tdp
post 22.02.2008, 11:37:54
Post #19





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 4.08.2007

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


1.
  1. <?php
  2. mysql_fetch_array(mysql_query("twoje zapytanie do bazy"));
  3. ?>


!*! - składnia jw jest wysoce niefortunna
miedzy złożeniem zapytania do bazy, a pobraniem wiersza wyniku nie dajesz sobie szansy na sprawdzenie czegokolwiek, - błędu, albo np. mysql_num_rows

2. masz problemy z określaniem wartości zmiennych w danym momencie
jaką wartość wg ciebie ma zmienna $result w przykładzie:

  1. <?php
  2. $query2 = mysql_fetch_array(mysql_query("SELECT status_gg FROM prywata WHERE login = '$ids'"));
  3. while ($wiersz = mysql_fetch_array($result)) {
  4.  if($query2[0] == 1) echo 'ukryty'; else if($query2[0] == 0) echo 'gg:<b>'.$wiersz['gg'].'</b>';
  5.  }
  6. ?>


spróbój debuggować swój kod, śledzić wartości zmiennych w trakcie wykonania.


Cytat(!*! @ 22.02.2008, 01:48:14 ) *
$query pobiera dane o użytkowniku, $result łaczy się z $query, $query2 pobiera status danych użytkownika, while łączy się z $result aby pobrać dane o użytkowniku, if'y łączą się z $query2 aby pobrać i zweryfikować statusty tych danych czy mają być wyświetlane czy nie...


3.
w Twoich przykładach:
- $query nie pobiera żadnych danych, ma wartość typu string, (sam ją przypisujesz), która tutaj może być użyta jako zapytanie do bazy
- $result z niczym się nie łączy, przyjmuje wartość typu "zasób", może być wykorzystana do pobrania wyniku zapytania do bazy do zmiennej tablicowej php, jako, że tak nieprofesjonalnie nazwę "adres" do tego wyniku (przez np, mysql_fetch_row, mysql_fetch_array ..)
- $query2 nie pobiera żadnego statusu (co to jest status?), $query2 u Ciebie jest wartością typu "zasób", tak jak $result. Przy okazji, czy nie lepiej trzymać się jakiejś konwencji naywania zmiennych? Raz $query jest tekstem zapytania, raz czym innym.


Cytat(!*! @ 22.02.2008, 01:48:14 ) *
  1. <?php
  2. if($query2[0] == 1) echo '';
  3. else if($query2[0] == 0) echo 'gg:<b>'.$wiersz['gg'].'</b><br /> ';
  4. if($query2[0] == 1) echo '';
  5. else if($query2[0] == 0) echo 'tel2:<b>'.$wiersz['tel2'].'</b><br /> ';
  6. if($query2[0] == 1) echo '';
  7. else if($query2[0] == 0) echo 'tel3:<b>'.$wiersz['tel3'].'</b><br /> ';
  8. ?>



4.1. jeśli chcesz sprwdzić kolejno wartości pól "status_gg", "status_tel2", "status_tel3", z tabeli "prywata",
to musisz je sprawdzić.
a co sprawdzasz? za każdym razem $query2[0], który bodajże za każdym razem odnosi się do pola "status_gg" (tu nie jestem pewien, użyłeś mysql_fetch_array, a nie mysql_fetch_row)

4.2. ile wierszy zwraca wynik zapytania do tabeli "userdata", a ile do "prywata".
jeśli po jednym, to po co pętla while, jeśli do "userdata" więcej niż 1, to i tak w swoim kodzie, w pętli while będziesz miał odniesienie tylko do pierszego wiersza tabeli "prywata", bo tylko raz pobierasz przed pętlą ten wiersz.

5. czy aby na pewno są Ci potrzebne do tego zagadnienia dwie osobne tabele?
Go to the top of the page
+Quote Post
!*!
post 22.02.2008, 11:47:26
Post #20





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

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


  1. <?php
  2. $query = "SELECT * FROM userdata WHERE login = '$ids'";
  3. $result = mysql_query($query) or die(mysql_error());
  4.  
  5. $query2 = "SELECT status_gg, status_tlen, status_jabber FROM prywata WHERE login = '$ids'";
  6. $result2 = mysql_query($query2) or die(mysql_error());
  7.  
  8.  
  9. while ($wiersz = mysql_fetch_array($result)) 
  10. {
  11.  
  12. if($query2[0] == 1) echo ''; 
  13. else if($query2[0] == 0)echo 'gg:<b>'.$wiersz['gg'].'</b><br /> ';
  14. if($query2[0] == 1) echo ''; 
  15. else if($query2[0] == 0)echo 'tlen:<b>'.$wiersz['tlen'].'</b><br /> ';
  16. if($query2[0] == 1) echo ''; 
  17. else if($query2[0] == 0)echo 'jabber:<b>'.$wiersz['jabber'].'</b><br /> ';
  18.  
  19. }
  20. ?>


zmienilem z tel2, tle3 na tlen i jabber dla lepszej czytelnosci

emm status jest to wartosc rekortu 0 lub 1

a jak inaczej zrobisz czy ktoś zaznaczył ukryty/publiczny nie odwołujac się do innej tabeli? while ma wyświetlić [tak jak to robi teraz] dane, a query2 weryfikuje które dane można wyświetlić a które nie.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 - 08:09