Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dynamiczna nazwa kolumny/tabeli w funkcji
zaksmok
post 25.02.2010, 23:55:26
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 2
Dołączył: 12.01.2006

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


Witam serdecznie. Czy możliwe jest przekazanie nazwy tabeli lub pola do funkcji mysqlowej w postaci zmiennej?

czyli mając funkcję
  1. take('nazwa')

skrypt wykona
  1. SELECT * FROM nazwa
Go to the top of the page
+Quote Post
mortus
post 26.02.2010, 00:40:46
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Rozumiem, że funkcja take to funkcja php-owa? Jeżeli tak, to przecież to żaden problem
  1. function take($table_name) {
  2. // ustanowienie połączenia z bazą danych
  3. $sql = "SELECT * FROM {$table_name};
  4. $result = mysql_query($sql);
  5. return $result;
  6. }
I po kłopocie!
EDIT:
Oczywiście to tylko przykładowa funkcja. Mam nadzieję, że zobrazowałem ideę.

Ten post edytował mortus 26.02.2010, 00:42:58
Go to the top of the page
+Quote Post
Mchl
post 26.02.2010, 08:07:50
Post #3





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


Przy pomocy zapytań przygotowanych i tylko w procedurach

Kod
DELIMITER $$

DROP PROCEDURE IF EXISTS `p_take` $$
CREATE PROCEDURE `p_take`(IN tableName VARCHAR(100))
BEGIN


  SET @stmt = CONCAT('SELECT * FROM ',tableName,' WHERE 1');


  PREPARE stmt FROM @dropStmt;
  EXECUTE stmt;

END $$

DELIMITER;
Go to the top of the page
+Quote Post
Mejdej
post 3.07.2010, 22:15:23
Post #4





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.01.2010

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


Witam,

podłącze się pod temat, bo mam podobny problem. Sposób z poprzedniego posta działa wyśmienicie, ale co w sytuacji gdy wynik chce się przypisać do zmiennej?

Np:

  1. SELECT id INTO zmienna FROM nazwa_tabeli


oczywiście przy założeniu że zapytanie jest w procedurze, do której jako parametr przekazywana jest nazwa_tabeli.

Proszę o jakiś skuteczny sposób na rozwiązanie tego problemu.


--------------------
porównanie lokat
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: 6.06.2025 - 09:07