Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Nazwa zmiennej przechowywana w MySql
Wielebny.pl
post 5.06.2010, 03:52:20
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.06.2010

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


W bazie przechowuję nazwę zmiennej sesyjnej np $_SESSION['TEST'] i w przypadku kiedy jak potrzebuje to wyciągam nazwę zmiennej z bazy danych lecz wykonując echo(dane_z_bazy('Pole_1')); echo zwraca mi $_SESSION['TEST'] nie zaś wartość owej zmiennej sesyjnej. Czy ktoś wie jak przekształcić to w wartość którą potrzebuje?

PS
dokładnie chodzi o to ,że w bazie będę miał wpis w bazie np Zmienna 1 ma wartość: $_SESSION['TEST'] lub $zmienna

Ten post edytował Wielebny.pl 5.06.2010, 04:37:54
Go to the top of the page
+Quote Post
Fifi209
post 5.06.2010, 08:29:47
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Pokaż kod, albo napisz mniej chaotycznie. ;p Bo zrozumiałem tyle co nic.

Ten post edytował fifi209 5.06.2010, 08:30:00


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
zend
post 5.06.2010, 08:34:12
Post #3





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Z tego co zrozumiałem to mówisz o kolumnach, że każda kolumna w tabeli ma inną wartość, poszukaj w google "mysql kolumny". Jeśli chodzi Ci o co innego to możesz serializować tablice, wrzucić do bazy, potem ściągnąć i odserializować i zwrócić żądane pole

Ten post edytował zend 5.06.2010, 10:00:54
Go to the top of the page
+Quote Post
jajcarzd1
post 5.06.2010, 10:09:15
Post #4





Grupa: Zarejestrowani
Postów: 215
Pomógł: 19
Dołączył: 24.12.2003
Skąd: Przemyśl

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


Cytat(Wielebny.pl @ 5.06.2010, 04:52:20 ) *
W bazie przechowuję nazwę zmiennej sesyjnej np $_SESSION['TEST'] i w przypadku kiedy jak potrzebuje to wyciągam nazwę zmiennej z bazy danych lecz wykonując echo(dane_z_bazy('Pole_1')); echo zwraca mi $_SESSION['TEST'] nie zaś wartość owej zmiennej sesyjnej. Czy ktoś wie jak przekształcić to w wartość którą potrzebuje?

PS
dokładnie chodzi o to ,że w bazie będę miał wpis w bazie np Zmienna 1 ma wartość: $_SESSION['TEST'] lub $zmienna


Hmm no bo wychodzi na to że to co wyciągasz z bazy jest stringiem i robisz echo dla stringa. Spróbuj może tak

  1.  
  2. $zmienna = dane_z_bazy('Pole');
  3.  
  4. echo $$zmienna;
  5.  


Zwróć uwagę na podwójnego dolara. Czyli robisz echo dla zmiennej która orzyjmuje nazwę taką jaka jest w $zmienna

Pozdro.


--------------------
My mind is glowing ...
Jeśli pomogłem push the button :)
Go to the top of the page
+Quote Post
Wielebny.pl
post 5.06.2010, 21:46:54
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.06.2010

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


Niestety echo z podwójnym dolarem nie działa.

W celu naświetlenia całej sprawy wrzucę kod tak jak prosiliście.

  1.  
  2. function zapytanie_do_bazy($zapytanie)
  3. {
  4.  
  5. include_once "./bazad/bazadconnect.php";
  6. $wynik_zapytania = mysql_query ($zapytanie);
  7. $_SESSION['zapytanie']=stripslashes($zapytanie);
  8. $_SESSION['wynik_zapytania']=$wynik_zapytania;
  9. if (!$wynik_zapytania)
  10. {
  11. //message_window('zapytanie failed');
  12. return false;
  13. }
  14. else
  15. {
  16. //message_window("zapytanie ok");
  17. return true;
  18. }
  19.  
  20. function pobierz_z_admin_panel($pole)
  21. {
  22. zapytanie_do_bazy("select * from ADMIN_PANEL where ID_ADMIN_PANEL = 1");
  23.  
  24. while ($rekord = mysql_fetch_assoc($_SESSION['wynik_zapytania']))
  25. {
  26. return $rekord['MAIL_REJESTRACJA'];
  27. }
  28.  
  29. usun_zmienna_sesyjna('zapytanie');
  30. usun_zmienna_sesyjna('wynik_zapytania');
  31. }
  32.  

W rekordzie 'MAIL_REJESTRACJA' jest wartość - Twój login to $zmienna a kod aktywacyjny: $aktywacja

jak zrobię sobie
  1. echo ('Twój login to "$zmienna" a kod aktywacyjny: "$aktywacja"');
to php zwraca mi prawidłowy ciąg znaków podmieniając dane odpowiednio.

Zaś sama funkcja
  1. pobierz_z_admin_panel('MAIL_AKTYWACJA');
zwraca ciąg znaków -Twój login to $zmienna a kod aktywacyjny: $aktywacja
Niestety jeśli w rekordzie bazy jest tylko np $zmienna zaś ja robię taki myk:

  1. $test=pobierz_z_admin_panel('MAIL_AKTYWACJA');
  2. echo $$test;


to zwrotem jest
  1. Notice: Undefined variable: $zmienna in /var/www/serwis/index.php on line 53
Go to the top of the page
+Quote Post
zend
post 5.06.2010, 23:31:59
Post #6





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


  1. $test=pobierz_z_admin_panel('MAIL_AKTYWACJA');
  2. $zmienna = 'xxx';
  3. $aktywacja = 'yyy';
  4. echo $test; //albo $$test;
Go to the top of the page
+Quote Post
Wielebny.pl
post 5.06.2010, 23:38:08
Post #7





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.06.2010

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


Tak jak pisałem wcześniej
dla kodu:
  1. $a="kasia";
  2. $test=pobierz_z_admin_panel('MAIL_REJESTRACJA');
  3. echo $test;


wynik jest
tw�j kod aktywacyjny to '$a'

zaś dla kodu:
  1. $a="kasia";
  2. $test=pobierz_z_admin_panel('MAIL_REJESTRACJA');
  3. echo $$test;


wynik jest
Notice: Undefined variable: tw�j kod aktywacyjny to '$a' in /var/www/konik/index.php on line 52
Go to the top of the page
+Quote Post
jajcarzd1
post 6.06.2010, 00:16:05
Post #8





Grupa: Zarejestrowani
Postów: 215
Pomógł: 19
Dołączył: 24.12.2003
Skąd: Przemyśl

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


Cytat(Wielebny.pl @ 5.06.2010, 22:46:54 ) *
Niestety jeśli w rekordzie bazy jest tylko np $zmienna zaś ja robię taki myk:

  1. $test=pobierz_z_admin_panel('MAIL_AKTYWACJA');
  2. echo $$test;


to zwrotem jest
  1. Notice: Undefined variable: $zmienna in /var/www/serwis/index.php on line 53


No bo w tym miejscu będziesz miał od jednego dolara akurat za dużo. Bo jeśli funkcja zwracałaby wartość 'zmienna' a nie '$zmienna' to byłoby ok, czyli bez dolara.


--------------------
My mind is glowing ...
Jeśli pomogłem push the button :)
Go to the top of the page
+Quote Post
Wielebny.pl
post 6.06.2010, 00:35:47
Post #9





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.06.2010

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


Cytat(jajcarzd1 @ 6.06.2010, 01:16:05 ) *
No bo w tym miejscu będziesz miał od jednego dolara akurat za dużo. Bo jeśli funkcja zwracałaby wartość 'zmienna' a nie '$zmienna' to byłoby ok, czyli bez dolara.

Czytałeś mojego jednego posta powyżej gdzie opisałem 2 warunki czyli echo $test oraz echo $$test ?

Ten post edytował Wielebny.pl 6.06.2010, 00:36:09
Go to the top of the page
+Quote Post
jajcarzd1
post 6.06.2010, 00:36:58
Post #10





Grupa: Zarejestrowani
Postów: 215
Pomógł: 19
Dołączył: 24.12.2003
Skąd: Przemyśl

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


Cytat(Wielebny.pl @ 6.06.2010, 00:38:08 ) *
Tak jak pisałem wcześniej
dla kodu:
  1. $a="kasia";
  2. $test=pobierz_z_admin_panel('MAIL_REJESTRACJA');
  3. echo $test;


wynik jest
tw�j kod aktywacyjny to '$a'

zaś dla kodu:
  1. $a="kasia";
  2. $test=pobierz_z_admin_panel('MAIL_REJESTRACJA');
  3. echo $$test;


wynik jest
Notice: Undefined variable: tw�j kod aktywacyjny to '$a' in /var/www/konik/index.php on line 52


Jeśli będziesz chciał aby cały string został przetworzony i podmienione nazwy zmiennych na ich wartości to spróbuj evalem. W manualu jest taki przykład który akurat pasuje do tego co Ty potrzebujesz

  1. $string = 'cup';
  2. $name = 'coffee';
  3. $str = 'This is a $string with my $name in it.';
  4. echo $str. "\n";
  5. eval("\$str = \"$str\";");
  6. echo $str. "\n";


--------------------
My mind is glowing ...
Jeśli pomogłem push the button :)
Go to the top of the page
+Quote Post
Wielebny.pl
post 6.06.2010, 01:14:17
Post #11





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.06.2010

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


Wszystko teraz działa. Dziękuje za pomoc. klikam pomógł.


DOPIS

Niestety nie działa to na zmienne sesyjne $_SESSION['zmienna'] i trzeba w bazie wpisać $_SESSION[zmienna]

Ten post edytował Wielebny.pl 6.06.2010, 02:44:39
Go to the top of the page
+Quote Post
jajcarzd1
post 6.06.2010, 11:33:46
Post #12





Grupa: Zarejestrowani
Postów: 215
Pomógł: 19
Dołączył: 24.12.2003
Skąd: Przemyśl

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


Cytat(Wielebny.pl @ 6.06.2010, 02:14:17 ) *
Wszystko teraz działa. Dziękuje za pomoc. klikam pomógł.


DOPIS

Niestety nie działa to na zmienne sesyjne $_SESSION['zmienna'] i trzeba w bazie wpisać $_SESSION[zmienna]



Heh no to próbujemy dalej innym sposobem smile.gif Ja właśnie wstawiłem nazwe zmiennej dodatkowo w nawiasy i wtedy działa z apostrofami. Przykład poniżej

  1.  
  2. $login["a"] = 'Mariano Italiano';
  3. $aktywacja["b"] = 'nr 125';
  4. $ciag = 'Twoj login to {$login["a"]} a kod aktywacyjny to {$aktywacja["b"]}';
  5.  
  6.  
  7. echo $ciag."\n";
  8. eval("\$ciag = \"$ciag\";");
  9. echo $ciag;
  10.  


--------------------
My mind is glowing ...
Jeśli pomogłem push the button :)
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: 15.08.2025 - 03:44