Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Db View in Html[DVIH]
Forum PHP.pl > Inne > Oceny
vieri_pl
Witam exclamation.gif! To mój pierwszy skrypt, który dam do oceny, jest on banalny i tak na prawdę nie wiem czy komuś się przyda smile.gif Jest to skrypt dzięki, któremu wyświetlimy zawartość i strukturę podanej bazy danych mysql w tabelkach z htmla smile.gif Proszę o opinie sugestie itp. Oto kod:

  1. <?php
  2. //
  3. // DB View in html by Vieri version 0.1
  4. // Napisane przez Krystiana Podemskiego (vieri_pl@o2.pl)
  5. // Wyswietlenie zawartosci bazy danych w html`u .
  6. // Nazwa bazy pzypisana jest do zmiennej, $dbname
  7. //
  8. //
  9.  
  10. ?>
  11.  
  12.  
  13. <?php
  14.  
  15. // Prosty kod wyjasnilem tylko niewiele z niego, poniewaz jest na prawde banalny..
    .
  16.  
  17. $dbname = "nazwa_bazy";
  18. $loginname = "uzytkownik";
  19. $loginpass = "haslo";
  20. $dbhost = "host";
  21.  
  22. echo('<html><body bgcolor="#FFFFFF">');
  23. echo('<font face="Verdana" size="+3"><center>');
  24. echo("Podglad bazy: $dbname");
  25.  
  26. $connect = @mysql_connect($dbhost, $loginname, $loginpass);
  27.  
  28. $tables = mysql_list_tables($dbname, $connect);
  29.  
  30. $num_tables = mysql_num_rows($tables);
  31.  
  32. // Nazwy tabel do tablicy
  33. $arr_tablenames[] = '';
  34.  
  35. // Numerowanie itd.
  36. $arr_num_fields[] = '';
  37. for ($i=0; $i < $num_tables; $i++) {
  38. $arr_tablenames[$i] = mysql_tablename($tables, $i);
  39. $arr_num_fields[$i] = mysql_num_fields(mysql_db_query($dbname, "select * 
  40.  
  41. from $arr_tablenames[$i]", $connect));
  42. }
  43.  
  44. // Tworzenie wielowymiarowej tablicy:
  45. // [i] == numer tabeli, [ii] == numer rekordu z tabeli
  46. for ($i=0; $i < $num_tables; $i++) {
  47. for ($ii=0; $ii < $arr_num_fields[$i]; $ii++) {
  48. $result = mysql_db_query($dbname, "select * from 
  49.  
  50. $arr_tablenames[$i]", $connect);
  51. $hash_field_names[$i][$ii] = mysql_field_name($result, $ii);
  52. }
  53. }
  54.  
  55. for ($i=0; $i < $num_tables; $i++) {
  56. echo("<center><h3>Tabela $arr_tablenames[$i] </h3></center>");
  57. echo('<table align="center" border="2" cellpadding="2" 
  58.  
  59. cellspacing="0"><tr>');
  60. $result = mysql_db_query($dbname, "select * from $arr_tablenames[$i]", 
  61.  
  62. $id_link);
  63. for ($ii=0; $ii < $arr_num_fields[$i]; $ii++) {
  64. echo("<th>");
  65. echo $hash_field_names[$i][$ii];
  66. echo("</th>");
  67. }
  68. echo("</tr><tr>");
  69. $number_of_rows = @mysql_num_rows($result);
  70. for ($iii = 0; $iii < $number_of_rows; $iii++) {
  71. $record = @mysql_fetch_row($result);
  72. for ($ii=0; $ii < $arr_num_fields[$i]; $ii++) {
  73. echo("<td>");
  74. echo $record[$ii];
  75. echo("</td>");
  76. }
  77. echo("</tr>");
  78. }
  79. echo("</table>");
  80. }
  81.  
  82.  
  83.  
  84. echo('</body></html>');
  85. ?>
  86. </body>
  87. </html>
Radarek
U mnie nie dziala:
Cytat
Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in /home/users/radarek/public_html/php/baza.php on line 62

Wersja php -> 5.0.5.
vieri_pl
Hmmmm skrypt był testowany na php 4.3.9 sad.gif Nocóż zaraz pokombinuje smile.gif
nospor
Ja bym jeszcze proponowal, ze jesli masz mozliwosc, to zebys dolaczyl linka do stronki gdzie mozna se wyniki obejrzec.
vieri_pl
Teraz juz wszystko działa smile.gif
No i prosze o odpowiedzi na pytania.. Czy ten skrypt moze sie komus przydać questionmark.gif? i czy jest dobrze napisany questionmark.gif?

Oto link:

KLIKNIJ

A oto poprawiony skrypt:
  1. <?php
  2. //
  3. // DB View in html by Vieri version 0.2
  4. // Napisane przez Krystiana Podemskiego (vieri_pl@o2.pl)
  5. // Wyswietlenie zawartosci bazy danych w html`u .
  6. // Nazwa bazy pzypisana jest do zmiennej, $dbname
  7. //
  8. //
  9.  
  10. ?>
  11.  
  12.  
  13. <?php
  14.  
  15. // Prosty kod wyjasnilem tylko niewiele z niego, poniewaz jest na prawde banalny..
    .
  16.  
  17. $dbname = "ggg";
  18. $loginname = "ggg";
  19. $loginpass = "ggg";
  20. $dbhost = "localhost";
  21.  
  22. echo('<html><body bgcolor="#FFFFFF">');
  23. echo('<font face="Verdana" size="+3"><center>');
  24. echo("Podglad bazy: $dbname");
  25.  
  26. $id_link = @mysql_connect($dbhost, $loginname, $loginpass);
  27.  
  28. $tables = mysql_list_tables($dbname, $id_link);
  29.  
  30. $num_tables = mysql_num_rows($tables);
  31.  
  32. // Nazwy tabel do tablicy
  33. $arr_tablenames[] = '';
  34.  
  35. // Numerowanie itd.
  36. $arr_num_fields[] = '';
  37. for ($i=0; $i < $num_tables; $i++) {
  38. $arr_tablenames[$i] = mysql_tablename($tables, $i);
  39. $arr_num_fields[$i] = mysql_num_fields(mysql_db_query($dbname, "select * from $arr_tablenames[$i]", $id_link));
  40. }
  41.  
  42. // Tworzenie wielowymiarowej tablicy:
  43. // [i] == numer tabeli, [ii] == numer rekordu z tabeli
  44. for ($i=0; $i < $num_tables; $i++) {
  45. for ($ii=0; $ii < $arr_num_fields[$i]; $ii++) {
  46. $result = mysql_db_query($dbname, "select * from $arr_tablenames[$i]", $id_link);
  47. $hash_field_names[$i][$ii] = mysql_field_name($result, $ii);
  48. }
  49. }
  50.  
  51. for ($i=0; $i < $num_tables; $i++) {
  52. echo("<center><h3>Tabela $arr_tablenames[$i] </h3></center>");
  53. echo('<table align="center" border="2" cellpadding="2" cellspacing="0"><tr>');
  54. $result = mysql_db_query($dbname, "select * from $arr_tablenames[$i]", $id_link);
  55. for ($ii=0; $ii < $arr_num_fields[$i]; $ii++) {
  56. echo("<th>");
  57. echo $hash_field_names[$i][$ii];
  58. echo("</th>");
  59. }
  60. echo("</tr><tr>");
  61. $number_of_rows = @mysql_num_rows($result);
  62. for ($iii = 0; $iii < $number_of_rows; $iii++) {
  63. $record = @mysql_fetch_row($result);
  64. for ($ii=0; $ii < $arr_num_fields[$i]; $ii++) {
  65. echo("<td>");
  66. echo $record[$ii];
  67. echo("</td>");
  68. }
  69. echo("</tr>");
  70. }
  71. echo("</table>");
  72. }
  73.  
  74.  
  75.  
  76. echo('</body></html>');
  77. ?>
Levabul
Przedewszystkim niepolecam dawać '@' przed funkcjami bo przez to człowiek nie moze dojsć co jest źle jak dany srypt niedziała ...
vieri_pl
Jak to nie działa, przecież jak klikniesz w link wszystko pokazuje, kod jest dobry u mnie działa smile.gif Uzupełniłeś zmienne łączenia się z bazą questionmark.gif?
Levabul
Niemówie że niedziała, tylko tak na przyszłość mówie bo jak dodasz '@' to ci errorów niewyświetli
vieri_pl
aha sory źle zrozumiałem tresc posta...
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.