Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] i [SQL] wypisanie nazw tabel w bazie
grohu
post
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

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


chcialbym pobrac nazwy tabel w bazie danych, poczatek jest latwy:

Kod
$mysql = mysql_connect($adres, $login, $haslo);



mysql_select_db($baza);



// i teraz chcialbym wypisac tabele w tej bazie

// w kliencie SQL wystarczy wpisac SHOW TABLES, jak pobrac i wypisac

// nazwy tabel korzystajac z php i SQL questionmark.gif?



mysql_close($mysql);
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
splatch
post
Post #2





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

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


Możesz użyć przykładu z manuala php:
[php:1:e64877f504]<?php
mysql_connect('localhost', 'uzytkownik', 'haslo') or
die('Nie można się połączyć');
mysql_select_db('baza');

$result = mysql_list_tables();

while (($row = mysql_fetch_row($result))
printf ("Tabela: %sn", $row[0]);

mysql_free_result($result);
?>[/php:1:e64877f504]
Go to the top of the page
+Quote Post
grohu
post
Post #3





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

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


no prosze, w manualu jest blad : jako argument funkcji trzeba podac nazwe bazy, i przy while jest za duzo o jeden nawias "("

Poprawiona wersja
Kod
$result = mysql_list_tables('baza');



while ($row = mysql_fetch_row($result))

   printf ("Tabela: %sn", $row[0]);  



dzieki za pomoc
Go to the top of the page
+Quote Post
<mag>
post
Post #4





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 1.06.2004

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


drobne pytanko do tego co wypisuję z bazy jeśli pozwolicie rolleyes.gif

jak zrobić w tym przykładzie aby wypisana została określona liczba znaków z $row['pole']

w kolumnie pole mam newsy w HTML i chciałbym wyciągnąć początek każdego z nich (ale sam text)...

pozdrawiam


--------------------
<mag>
Go to the top of the page
+Quote Post
Indeo
post
Post #5





Grupa: Zarejestrowani
Postów: 295
Pomógł: 7
Dołączył: 26.03.2004
Skąd: Opole

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


Załóżmy że pole FIELD1 jest tekstem a my chcemy pobrać tylko pierwsze 12 znaków. Wtedy zapytanie można zapisać tak:
[sql:1:f64ce75f2b]
select left(FIELD1,12) as krotki_tekst from tabela1
[/sql:1:f64ce75f2b]

Natomiast jeśli w polu FIELD1 znajduje się tekst ale w formie HTML to wpadłeś. Jest to źle zaprojektowana struktura danych. Jeśli potrzebujesz przechowywać gdzieś sformatowany HTML'em tekst to musisz mieć też krótkie pole do przechowywania samego tekstu (np tytułu) żeby potem nie musieć go wydłubywać z HTML'a. Wyłuskać tekst z HTML'a można dość prosto za pomocą wyrażeń regularnych ale wtedy będziesz zmuszony wybierać z bazy całą zawartość pola z HTML'em, potem poddać ją filtrowaniu przez wyrażenia regularne po to żeby uzyskać linijkę tekstu - jest to bardzo nieekonomiczne rozwiązanie obciążające bazę i serwer www. W systemach zarządzania treścią z reguły treść przechowywana jest w kilku polach

1. Tytuł (sam tekst 1-2 linie)
2. Intro (sam tekst - ograniczona długość)
3. Treść właściwa (HTML - dowolna długość)

Dzięki temu tytuły wszystkich artykułów wyglądają tak samo, intra mogą być pokazywane jako zapowiedzi na pierwszej stronie (newsy) a treść właściwa jak nazwa wskazuje.


--------------------
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 Aktualny czas: 19.08.2025 - 15:49