Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> mysql_list_tables ?
Fo
post 17.06.2003, 15:33:43
Post #1





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

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


[php:1:33ad3e57a2]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:33ad3e57a2]

To jest zywcem z manuala wyciagniete ale nie dziala, wie ktos dlaczego ?
Mnie wypisuje : Parse error: parse error, unexpected T_STRING in C:apachehtdocstestylist_tables.php on line 9
ale osochosi ? bo ja nie bardzo kumam dlaczego tak akuratnio nie moze byc ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 18)
Jabol
post 17.06.2003, 15:34:55
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


[php:1:641f659ed6]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))//zadużo o jeden nawias z lewej
printf ("Tabela: %sn", $row[0]);

mysql_free_result($result);[/php:1:641f659ed6]
Go to the top of the page
+Quote Post
Fo
post 17.06.2003, 15:39:08
Post #3





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

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


no ok ... a teraz z kolei jest takie cus (juz po usunieciu nawiasu z lewej -
Warning: Wrong parameter count for mysql_list_tables() in C:apachehtdocstestylist_tables.php on line 6

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:apachehtdocstestylist_tables.php on line 8

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:apachehtdocstestylist_tables.php on line 11
Go to the top of the page
+Quote Post
Fo
post 17.06.2003, 16:07:48
Post #4





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

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


hmm w manualu byl brak .... przy mysql_list_tables("tu_miala_byc_nazwa_bazy"); podaje jakby ktos jeszcze sie na to nabil..

[php:1:52431c5c3e]mysql_connect('localhost', 'uzytkownik', 'haslo') or
die('Nie można się połączyć');
mysql_select_db('baza');

$result = mysql_list_tables(); /*brak podanej bazy danych do ktorej ma sie odwolac mysql_list_tables, powinno byc mysql_list_tables("baza"); */

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

mysql_free_result($result); [/php:1:52431c5c3e]
edit: mam jeszcze pytanko : co robi %s ? bo nie moge sie o tym nigdzie doczytac... sad.gif
edit2: chcialbym jeszcze zrobic cos takiego zeby listowalo mi tabele z bazy danych tak ja powyzszy zapis to robi bardzo ladnie ale chcialbym zeby listowane byly tylko tabele rozpoczynajace sie od kat_* gdzie * jest dowolna dalsza nazwa tabeli... w bazie mam np. tabele : kategoria, kat_hp, kat_lexmark i chcialbym alby tylko wylistowane zostaly te tabele z "kat_".... ma ktos na to jakis pomysl ?
Go to the top of the page
+Quote Post
Jabol
post 17.06.2003, 18:57:16
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


%s pochodzi od string
Go to the top of the page
+Quote Post
Fo
post 17.06.2003, 19:28:42
Post #6





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

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


hmm ok fajnie juz wiem co znaczy %s.
ale czy wie ktos jak moglbym poradzic sobie z tym co napisalem w edit2 ?
Cytat
chcialbym jeszcze zrobic cos takiego zeby listowalo mi tabele z bazy danych tak ja powyzszy zapis to robi bardzo ladnie ale chcialbym zeby listowane byly tylko tabele rozpoczynajace sie od kat_* gdzie * jest dowolna dalsza nazwa tabeli... w bazie mam np. tabele : kategoria, kat_hp, kat_lexmark i chcialbym alby tylko wylistowane zostaly te tabele z "kat_".... ma ktos na to jakis pomysl ?
Go to the top of the page
+Quote Post
Jabol
post 17.06.2003, 19:31:19
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


to musisz sobir napisać taki skrypt. Poczytaj w manualu. To będzie coś w rodzaju:
Kod
SELECT * FROM

`systables`--nazwa tabli może być inna, ta jest w większości baz

WHERE `name`--ta nazwa pola też może być inna

LIKE 'kat_%';
Go to the top of the page
+Quote Post
DeyV
post 17.06.2003, 19:37:13
Post #8





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




wystaczy chwilę pomyśleć. A jak Ci się nie uda w MySQL, no to można w php. A tu jest taka fajna funkcja jak substr().
np. [php:1:5489d2416f]<?php
while (...){
$nazwa = $wiersz[...];
if ( substr($nazwa, 0, 4) =='kat_'){
echo ....
}
?>[/php:1:5489d2416f]


W pości poniżej chyba właśnie o to chodzi biggrin.gif


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
Fo
post 17.06.2003, 19:39:43
Post #9





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

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


mhm pewnie by dzialalo tak jak pisal Jabol ale mnie chodzi o to ze kiedy wykonuje sie :
[php:1:c859d298a2]$result = mysql_list_tables("baza");

while ($row = mysql_fetch_row($result))
printf ("%sn", "<a href="wys_kat.php?kat=$row[0]">$row[0]</a><br>");
mysql_free_result($result);[/php:1:c859d298a2]
to wtedy zeby listowalo mi tabele tej bazy ale tylko te ktore zaczynaja sie na "kat_"

edit: a DeyV znowu szybszy tongue.gif
Go to the top of the page
+Quote Post
Jabol
post 17.06.2003, 19:42:00
Post #10





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


wycinasz pierwsze cztery znaki i sprawdzasz czy są równe kat_
Go to the top of the page
+Quote Post
Fo
post 17.06.2003, 19:54:23
Post #11





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

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


thx wlasnie oto mi chodzilo ... podaje kompletny kod ... moze znajdzie sie drugi taki ktos jak ja co bedzie mial ten sam problem... tongue.gif
[php:1:da0a843318]$result = mysql_list_tables("baza");

while ($row = mysql_fetch_row($result)) {
$nazwa = $row[0];
if ( substr($nazwa, 0, 4) == 'kat_') {
printf ("%sn", "<a href="wys_kat.php?kat=$row[0]">$row[0]</a><br>");
}
}
mysql_free_result($result);[/php:1:da0a843318]
Go to the top of the page
+Quote Post
DeyV
post 17.06.2003, 20:04:31
Post #12





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




tylko mam taką propozycję - jeżeli decydujesz sie na przepisanie $row[0] do $nazwa, to kożystaj z tego z całej pętli. A jeśli nie - to również w całej. Ianczej robi się zbedny bałagan.


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
Fo
post 17.06.2003, 20:19:48
Post #13





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

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


no ok ale jeszcze jedna sprawa ktora wyszla mi wlasnie przed momentem... czy moge w to wszystko wplesc jakos sensownie ereg_replace bo chcialbym otrzymana nazwe tabeli "kat_hp" zmienic np. na hapek poniewaz pozniej ta nazwa wyciagnietej tabeli zamienia sie w link do kategorii na ktory sobie klikam (linkiem jest nazwa tabeli czyli kat_hp a chcialbym zamiast tego miec np. hapek) .... i probowalem na ereg_replace to zrobic ale nie dziala. sad.gif
Go to the top of the page
+Quote Post
DeyV
post 17.06.2003, 20:48:59
Post #14





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




[php:1:2258705ecb]<?php
$nazwa = strtr ( $nazwa, 'hp', 'hapek');
?>[/php:1:2258705ecb]questionmark.gifquestionmark.gifquestionmark.gif?


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
Fo
post 17.06.2003, 21:36:03
Post #15





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

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


niestety niby powinno byc ok...ale po wykonaniu sie tego :[php:1:22b922f673]$result = mysql_list_tables("baza");
while ($row = mysql_fetch_row($result)) {
$nazwa = $row[0];
if ( substr($nazwa, 0, 4) == 'kat_') {
$txt = strtr ( $txt, 'kat_hp', 'hapek');
printf ("%sn", "<a href="wys_kat.php?kat=$row[0]">$row[0]</a><br>");
} }
mysql_free_result($result); [/php:1:22b922f673]
dostaje wynik w postaci :
kat_hp
kat_lexmark , a chcialbym zamiast kat_hp otrzymac hapek... i strtr ani ereg_replace tego nie robi... zbuntowaly czy co ? a moze ja juz poprostu dzis wysiadam ?
Go to the top of the page
+Quote Post
uboottd
post 17.06.2003, 21:48:44
Post #16





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

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


Zakladam ze chodzi o mysql-a:
Kod
SHOW TABLES LIKE '%cos%';


Czesci phpowej chyba nie musze grzybic bo jest analogiczny ?
Go to the top of the page
+Quote Post
DeyV
post 17.06.2003, 21:49:32
Post #17





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




choroba - sprawdź, co ty robisz...
Chyba juz czas, na <spać>
[php:1:5de52e0857]<?php
while ($row = mysql_fetch_row($result)) {
$nazwa = $row[0];
if ( substr($nazwa, 0, 4) == 'kat_') {
$txt = strtr ( $txt, 'kat_hp', 'hapek'); //<<<<Gdzie wykorzystujesz $txt?questionmark.gif
printf ("%sn", "<a href="wys_kat.php?kat=$row[0]">$row[0]</a><br>");
} }
?>[/php:1:5de52e0857]


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
Fo
post 17.06.2003, 22:01:03
Post #18





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

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


tak masz racje juz pora na <spanie>
powinno i chodzi ok jak jest tak : [php:1:b2cd72e4ed]------
if ( substr($nazwa, 0, 4) == 'kat_') {
printf ("%sn", "<a href="wys_kat.php?kat=$row[0]">");
$row[0] = ereg_replace("kat_hp","hapek", $row[0]);
print ("$row[0]</a><br>");
-----[/php:1:b2cd72e4ed]

thx & dobranoc.... tym razem nie 3 ani 5 tylko 12 godzin bede spal....
Go to the top of the page
+Quote Post
DeyV
post 17.06.2003, 22:11:03
Post #19





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Cytat
str_replace
str_replace -- Replace all occurrences of the search string with the replacement string
Description
mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count])


This function returns a string or an array with all occurences of search in subject replaced with the given replace value. If you don't need fancy replacing rules, you should always use this function instead of ereg_replace() or preg_replace().


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
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: 14.08.2025 - 09:58