Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Wyrazenia Regularne
ActivePlayer
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


Jak ze stronga zawierającego zapytanie mysql wyciągnąc nazwe tabeli??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MoD
post
Post #2





Grupa: Zarejestrowani
Postów: 193
Pomógł: 0
Dołączył: 14.09.2003
Skąd: Brodnica (koło Torunia)

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


Cytat(Tiraeth @ 2004-08-25 22:04:47)
Przykład stringa:
Kod
SELECT id, nazwa, tresc FROM tabela WHERE id>5


Wyciąganie nazwy kolumn:

  1. <?php
  2. // Zmienna $s_String to właśnie ten nasz nieszczęsny string do regexp'owania :)
  3.  
  4. $e_String = explode('FROM', $s_String); // Eksplodujemy
  5.  
  6. $e_Select = $e_String[0]; // Zmienna z nazwami kolumn jest tutaj, ale razem z 'SELECT'
  7. $e_Select = str_replace('SELECT', '', $e_Select); // Usuwamy SELECT ze stringa
  8. $e_Select = str_replace(' ', '', $e_Select); // Usuwamy spacje ze stringa
  9. $e_Columns = explode(',' $e_Select); // Eksplodujemy wszystkie nazwy kolumn
  10.  
  11. echo '</b>Wybrane kolumny:</b>';
  12. for($i=0; $i<count($e_Columns); $i++)
  13. {
  14.     echo '<br />'$e_Columns[$i];
  15. }
  16. ?>

Powyższy kod wyświetli wszystkie nazwy kolumn w poniższej formie:
Cytat
Wybrane kolumny:
id
nazwa
tresc

Oczywiście można jeszcze sortować tablicę z nazwami kolumn (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

A co jeśli nie ma tam pól tylko "*" (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Można umieścić w funckji która zwraca wartość FALSE jeśli pomiędzy jest "*" a jak nie to tablice zawierającą nazwy pól. Tylko że jak ja próbowałem to nie wyciągało nic (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 07:39