Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z zwracaniem wartosci przez funkcje
invx
post 18.01.2005, 22:00:13
Post #1





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


jest sobie zmienna
  1. <?php
  2. $sql=&#092;"SELECT * FROM forum_c WHERE (id_b=$_GET[id] AND nowy_temat='1' AND ( DATE_SUB( CURDATE( ) , INTERVAL $day DAY ) <= `data_dodania` )) ORDER BY status\";
  3. ?>


jest ona tworzona w funkcji, nazwijmy ja AAA, i teraz jak z tej funkcji zwrucic, ja do kodu php w kturym byla wywolywana ta funkcja, robie przez return $sql czy return ($sql) to ja mi wyswietla, a ja tego nie chce, ma ja zwrucic, zebym mogl ja potem wykorzystac do wykonania zapytania do bazy


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
crash
post 18.01.2005, 22:07:15
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


  1. <?php
  2. function zwroc()
  3. {
  4.  $sql=&#092;"SELECT * FROM forum_c WHERE (id_b=$_GET[id] AND nowy_temat='1' AND ( DATE_SUB( CURDATE( ) , INTERVAL $day DAY ) <= `data_dodania` )) ORDER BY status\";
  5.  return $sql;
  6. }
  7.  
  8. echo zwroc();
  9.  
  10. mysql_query(zwroc());
  11.  
  12. // itp...
  13. ?>


--------------------
Go to the top of the page
+Quote Post
stoprocent
post 18.01.2005, 22:07:22
Post #3





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 17.05.2003
Skąd: Kraków , Londyn

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


Nie rozumiem za bardzo oco ci chodzi .
Ja to widze tak masz zapatnie ktore chcesz wykorzystac czyli kotrzystasz z return.
Napisz troche jasniej


--------------------
Go to the top of the page
+Quote Post
invx
post 19.01.2005, 09:05:18
Post #4





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


no wlasnie w tym problem jak daje
  1. <?php
  2. return $sql;
  3. ?>

to mi wyswietla $sql, a potem w mysql_query, jej nie widzi.


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
scanner
post 19.01.2005, 09:21:44
Post #5





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat(invx @ 2005-01-19 10:05:18)
no wlasnie w tym problem jak daje
  1. <?php
  2. return $sql;
  3. ?>

to mi wyswietla $sql, a potem w mysql_query, jej nie widzi.

Zdefiniuj pojęcie "nie widzi".

Moze zacznij pisac nieco normalniej izacznijprzejmowac się obsługa błędów?
  1. <?php
  2. function zwroc()
  3. {
  4.  $sql=&#092;"SELECT * FROM forum_c WHERE (id_b=$_GET[id] AND nowy_temat='1' AND ( DATE_SUB( CURDATE( ) , INTERVAL $day DAY ) <= `data_dodania` )) ORDER BY status\";
  5.  return $sql;
  6. }
  7.  
  8. echo zwroc();
  9.  
  10. mysql_query(zwroc()) or die( mysql_error() );
  11.  
  12. // itp...
  13. ?>
Na pewno wywali błąd. Ponieważ nie jest znana watość zmiennej $day tongue.gif


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
invx
post 19.01.2005, 09:40:27
Post #6





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


przy eccho zwruc(), funkcja wyswietla mi cala $sql, ponizej sprawdzam czy jest taka zmienna echo "$sql"; i jej nie ma, wiec baza daje error, ze zapytanie bylo puste.


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
Liko
post 19.01.2005, 09:49:39
Post #7





Grupa: Zarejestrowani
Postów: 436
Pomógł: 6
Dołączył: 8.11.2003
Skąd: Szczecin

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


Bo zeby zmienna $sql miala wartosc mususz przypisać wartosc zwroconą przez tą funkcje. Przecież ta funkcja nie zwraca ci zmiennej i nie tworzy jej poza funkcja tyko wartosc tej zmiennej. ZEby to dzialo to trzeba zrobic tak:
  1. <?php
  2.  
  3. // cos tutaj 
  4. $sql = zwroc();
  5. mysql_query( $sql ) or die( mysql_error() );
  6. // cos dalej
  7. ?>
Go to the top of the page
+Quote Post
invx
post 19.01.2005, 09:52:57
Post #8





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


dzieki liko smile.gif pomoglo, o to mi chodzilo smile.gif


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
Liko
post 19.01.2005, 09:56:55
Post #9





Grupa: Zarejestrowani
Postów: 436
Pomógł: 6
Dołączył: 8.11.2003
Skąd: Szczecin

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


Cytat(invx @ 2005-01-19 09:52:57)
dzieki liko smile.gif pomoglo, o to mi chodzilo smile.gif

Jak byś lepiej popatrzał to zauważył byś ze @Scanner podał dokładnie to samo, ale widze że ty ze wzrokiem też masz problemy.
Go to the top of the page
+Quote Post
scanner
post 19.01.2005, 10:35:54
Post #10





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat(Liko @ 2005-01-19 10:49:39)
Bo zeby zmienna $sql miala wartosc mususz przypisać wartosc zwroconą przez tą funkcje. Przecież ta funkcja nie zwraca ci zmiennej i nie tworzy jej poza funkcja tyko wartosc tej zmiennej. ZEby to dzialo to trzeba zrobic tak:
  1. <?php
  2.  
  3. // cos tutaj 
  4. $sql = zwroc();
  5. mysql_query( $sql ) or die( mysql_error() );
  6. // cos dalej
  7. ?>

LIko, plączesz się w zeznaniach.
Invx'owa funkcja zwroc() daje w wyniku stringa. Więc wstawienie wywołania tejże funkcji jako parametru funkcji mysql_query() jest wedle mojej wiedzy jaknajbardziej prawidłowe.

Założe się, ze błąd był, bo generowane zapytanie miało błąd w okolicach zmiennej $day co wspomniałem w poście wyrzej.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
strife
post 19.01.2005, 17:15:34
Post #11





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Witam,

Mam pytanie do tego tematu, czy można by też zrobić to za pomocą global $sql ? Czy lepiej używać return? bo sam nie wiem - ja używam global, czy jest to złe rozwiązanie?

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
crash
post 19.01.2005, 18:09:00
Post #12





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Do czego tutaj global? Może propnujesz takie "niezwykłe" rozwiązanie?:
  1. <?php
  2. $sql = 'SELECT * FROM cos';
  3. // tysiące linii tekstu...
  4. function zwroc()
  5. {
  6.  gobal $sql;
  7.  return $sql;
  8. }
  9. // kolejne strony...
  10. mysql_query(zwroc());
  11. ?>

Nie ma sensu kombinować z czymś co jest już dobre...


--------------------
Go to the top of the page
+Quote Post
strife
post 19.01.2005, 19:20:02
Post #13





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(crashu @ 2005-01-19 17:09:00)
Do czego tutaj global? Może propnujesz takie "niezwykłe" rozwiązanie?:
  1. <?php
  2. $sql = 'SELECT * FROM cos';
  3. // tysiące linii tekstu...
  4. function zwroc()
  5. {
  6.  gobal $sql;
  7.  return $sql;
  8. }
  9. // kolejne strony...
  10. mysql_query(zwroc());
  11. ?>

Nie ma sensu kombinować z czymś co jest już dobre...

Dokładnie do momentu czytania tego posta wychodziłem z założenia wpisania global nie wiem czemu withstupidsmiley.gif .... No ale wiecie jeszcze się ucze tongue.gif

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
invx
post 19.01.2005, 19:50:49
Post #14





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


Cytat("Liko")
Jak byś lepiej popatrzał to zauważył byś ze @Scanner podał dokładnie to samo, ale widze że ty ze wzrokiem też masz problemy.


nie napisal tego samego. To co napisal, wyswietlalo mi $sql, a tego nie chcialem.

Cytat("scanner")
Założe się, ze błąd był, bo generowane zapytanie miało błąd w okolicach zmiennej $day co wspomniałem w poście wyrzej.

nie bylo, bo mysql_query() nie mial znaczenia, wogule ta zmienna nie istniala, jak ja probowalem echo() wysiwetlic, smile.gif

P.S
czegoscie tak na mnie naskoczyli biggrin.gif


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
crash
post 19.01.2005, 19:56:01
Post #15





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Hmm, to już chyba drugi wątek rozpoczęty przez Ciebie dotyczący w sumie błahego zagadnienia a się ciągnie i ciągnie, bo nie potrafisz zrozumieć podstaw...


--------------------
Go to the top of the page
+Quote Post
awides
post 19.01.2005, 20:02:08
Post #16





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 4.11.2004

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


a może by tak wykorzystać referencje ?


--------------------
redFox |||||||||| 30%
----------------------------------
Go to the top of the page
+Quote Post
invx
post 19.01.2005, 20:58:24
Post #17





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


  1. <?php
  2. $sql = 'SELECT * FROM cos';
  3. // tysiące linii tekstu...
  4. function zwroc()
  5. {
  6.  gobal $sql;
  7.  return $sql;
  8. }
  9. // kolejne strony...
  10. mysql_query(zwroc());
  11. ?>


taki kod mi wlasnie nie dzialal exclamation.gif!! i nie myslcie ze o to mi chodzilo aaevil.gif


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
Go to the top of the page
+Quote Post
crash
post 19.01.2005, 21:22:14
Post #18





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


Może to i lepiej, tak durny kod nie powinien działać cool.gif


--------------------
Go to the top of the page
+Quote Post
invx
post 20.01.2005, 08:07:35
Post #19





Grupa: Zablokowani
Postów: 655
Pomógł: 0
Dołączył: 28.11.2003
Skąd: Zagórz

Ostrzeżenie: (80%)
XXXX-


tylko sam ten kod napisales 3 czy 4 posty wyzej, i zunales ze jest dobry i nie ma co kombinowac. biggrin.gif

Koniec teatu bo mi sie admini przyczepia ze dzialam na szkode forum i se posty nabijam.


--------------------
RCXcms
www.rcx.prv.pl
Pierwszy polski w pełni zintegrowany system portal
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: 14.06.2025 - 21:34