Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak wyświetlić liste tabel z bazy danych
Cwirek1987
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 9.06.2007

Ostrzeżenie: (10%)
X----


Chciałbym wyświetlić zawartość tabeli na stronie, a najlepiej aby można też było wchodzi za pomocą strony do zawartości wybranej tabeli wyświetlonej z bazy danych czy w ogóle jest taka możliwość, coś w stylu phpmyadmin bez możliwości edycji tej bazy.

Ja nawet już mam skrypt napisany, ale nie dokonca działą bo wyświtla mi coś innego niż chiałem.

  1. <?
  2. $sql=mysql_connect (localhost, login, hasło);
  3. mysql_select_db("sklep");
  4. $query = mysql_query('show tables');
  5. echo "$query";
  6. ?>


i odpaleniu strony wyskakuje mi Resource id #7

Ten post edytował Cwirek1987 28.05.2008, 18:09:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rzymek01
post
Post #2





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


ok, poczekaj 5min

na początek spróbuj takie coś, ale pamiętaj o zabezpieczeniach (które zrobisz sam (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) )
!przeczytaj komentarze!

edit: TWOI PRZYJACIELE: http://dev.mysql.com i http://php.net (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

  1. <?php
  2. /*START:PHP*/
  3. #COPY#
  4. /*//sprawdzenie zmiennych
  5. if (empty($_GET['table']) || zrob wyrazenia regularne czy ctype_alnum na tego GETa)
  6.   $_GET['table'] = null;*/
  7.  
  8. /*pobranie i zapisanie nazw tabel*/
  9. $sql = $DB->query('SHOW TABLES FROM '.DB_N.' LIKE "'.DB_P.'%"', __FILE__, __LINE__);
  10. /* gdzie:
  11. const DB_N - nazwa bazy danych
  12. const DB_P - prefiks do tabel (możesz usunąć cały LIKE jesli nie chcesz korzystać z prefiksów
  13. ogólnie $DB->query zamień sobie na mysql_query
  14. a $DB->fetch na mysql_fetch_assoc
  15. a $DB->fetch(..., 'NUM') na mysql_fetch_row
  16. */
  17.  
  18. $tables = array();
  19. while ($data = $DB->fetch($sql, 'NUM'))
  20. $tables[] = $data[0];
  21.  
  22. /*
  23. do $tables wrzuciłem nazwy znalezionych tabel
  24. */
  25.  
  26.  
  27. if (empty($_GET['table']))
  28. {
  29. /*
  30. jesli żadna nie została kliknięta to przedstaw widok nazw tabel z możliwością kl
  31. knięcia w celu ujrzenia zawartości
  32. */
  33. echo '<h1>Tabele:</h1>';
  34. for ($i = 0, $count = count($tables); $i < $count; ++$i)
  35. echo '<a href="?table='.$tables[$i].'">'.$tables[$i].'</a><br/>';
  36. }
  37. else if (in_array($_GET['table'], $tables))
  38. {
  39. /*
  40. pokaż zawartość odpowiedniej tabeli
  41. */
  42. $sql = $DB->query('SHOW COLUMNS FROM `'.$_GET['table'].'`', __FILE__, __LINE__); // nazwy kolumn
  43. $sql2 = $DB->query('SELECT * FROM `'.$_GET['table'].'`', __FILE__, __LINE__); // zawartośc całej tabeli
  44.  
  45. $fields = array();
  46. while ($data = $DB->fetch($sql))
  47. {
  48. $fields[] = $data['Field']; // nazwy kolumn do tablicy
  49. }
  50. $count = count($fields);
  51.  
  52. echo '<h1>Tabela '.$_GET['table'].':</h1>
  53. <table border="1px" style="border: 1px solid #000;background-color:#DDD;">
  54. <tr>';
  55. for ($i = 0; $i < $count; ++$i)
  56. {
  57. echo '<th>'.$fields[$i].'</th>'; // wyświetlenie nazw kolumn
  58. }
  59. echo '</tr>';
  60.  
  61. while ($data = $DB->fetch($sql2, 'NUM'))
  62. {
  63. echo '<tr>';
  64. for ($j = 0; $j < $count; ++$j)
  65. echo '<td>'.$data[$j].'</td>'; // wyświetlenie danych
  66.  
  67. echo '</tr>';
  68. }
  69. echo '</table>';
  70. }
  71. else
  72. {
  73. echo 'Nie ma takiej tabeli bądź nie masz do niej dostępu :)';
  74. }
  75. ?>


Ten post edytował rzymek01 28.05.2008, 19:39:16
Go to the top of the page
+Quote Post

Posty w temacie
- Cwirek1987   Jak wyświetlić liste tabel z bazy danych   28.05.2008, 17:53:50
- - sniezny_wilk   Ja o czymś takim nie słyszałem, ale możesz zrobić ...   28.05.2008, 18:03:15
- - pyro   <? $sql=mysql_connect (localhost, login, h...   28.05.2008, 18:12:47
- - webdicepl   A panowie o funkcjach mysql_fetch_* nie słyszeli? ...   28.05.2008, 18:14:59
- - Cwirek1987   ~pyro to samo wyskakuje Resource id #7, a jak by ...   28.05.2008, 18:21:39
- - webdicepl   [PHP] pobierz, plaintext <?php mysql_conne...   28.05.2008, 18:27:54
|- - rzymek01   Cytat(webdicepl @ 28.05.2008, 19:27:5...   28.05.2008, 18:51:15
- - Cwirek1987   Fajnie krytykować osobę która ma technik...   28.05.2008, 18:36:03
- - Cwirek1987   Dobra opanujmy się i skupmy się na temacie bo mnie...   28.05.2008, 18:55:21
- - rzymek01   chcesz gotowca czy wskazówki?   28.05.2008, 18:58:06
- - Cwirek1987   gotowiec też może być. Pod warunkiem że nie będzie...   28.05.2008, 19:06:51
- - rzymek01   ok, poczekaj 5min na początek spróbuj takie coś, ...   28.05.2008, 19:37:54
- - batman   przenoszę na przedszkole   28.05.2008, 19:41:54
- - Cwirek1987   nie ma nic prostrzego żeby się połączył i wyświetl...   28.05.2008, 19:46:43
- - batman   Przecież dostałeś już odpowiedź. Nie wiem czy dzia...   28.05.2008, 19:53:46
- - marcio   [PHP] pobierz, plaintext <?phpfunction sql...   28.05.2008, 19:53:52
- - rzymek01   Cwirek1987, dostałeś ode mnie gotowca (patrz parę ...   28.05.2008, 20:08:29
- - Cwirek1987   kurcze ale ja chce wyświetlić liste tabel a nie za...   28.05.2008, 20:11:29
|- - rzymek01   Cytat(Cwirek1987 @ 28.05.2008, 21:11...   28.05.2008, 20:24:03
- - batman   Cytat(Cwirek1987 @ 28.05.2008, 18:53...   28.05.2008, 20:15:21
- - Cwirek1987   tak fajnie się podaje stronki tylko ze tam wszytko...   28.05.2008, 20:17:37
- - batman   Fragment ze strony, do której podałem Ci linka: Cy...   28.05.2008, 20:19:13
- - marcio   Wes koles bo nawet podstaw php nie znasz patrzyles...   28.05.2008, 20:20:37
- - Cwirek1987   po pierwsze rzymek01 może i dzałaja te s...   28.05.2008, 20:40:34
- - rzymek01   po prostu ręcę opadają odsyłam Cię do manualna My...   28.05.2008, 21:00:00
- - batman   @Cwirek1987 Teraz to już przesadziłeś. Lista tabel...   28.05.2008, 21:00:11


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 06:04