Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] i [SQL] wypisanie nazw tabel w bazie
Forum PHP.pl > Forum > PHP
grohu
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);
splatch
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]
grohu
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
<mag>
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
Indeo
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.