![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
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). |
|
|
![]()
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). -------------------- ![]() |
|
|
![]()
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:
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) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
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). |
|
|
![]()
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) |
|
|
![]()
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). |
|
|
![]()
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) |
|
|
![]()
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). |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 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... 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) |
|
|
![]()
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ś
$result - do czego się odnosi? Można tak?
Taki przykład, dane o statusie możesz pobierać przez mysql_fetch_row. Ten post edytował potreb 22.02.2008, 00:43:47 -------------------- |
|
|
![]()
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). |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 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 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) |
|
|
![]()
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
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). |
|
|
![]()
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!
-------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
![]()
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 jak na moje oko $result2 tu nie pasuje ![]()
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). |
|
|
![]()
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 -------------------- |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
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 * ![]() 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) |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
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? ![]() 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:
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:
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). |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 4.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
1.
!*! - 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:
spróbój debuggować swój kod, śledzić wartości zmiennych w trakcie wykonania. $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.
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? |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
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). |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 08:09 |