Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] skrypt wyświetlania danych
Forum PHP.pl > Forum > Przedszkole
krzychu0808
Witam....
chciałem sobie napisać skrypt który będzie odczytywał rekordy z bazy danych lista i link do szczegółowego dostępu do rekordu znalazłem w mojej książce gotowy skrypt ale zmodyfikowałem łączenie się z bazą danych ale mam taki błąd:
Link do skryptu
wiem że budowa tabelkowa i wyświetlanie śmieszne ale książkę mam z 2000 roku poprostu chcę żeby mi skrypt ruszył to już będę mugł się bawić...
Jestem jeszcze zielony proszę o wybaczenie wszystkiech błędów i o objaśnianie błędów

skrypt:
całość na pelen skrypt z plikiem common_db.inc na końcu
niestety post był za długi aby całość dać
  1. <?php
  2. include "./common_db.inc";
  3.  
  4. function list_records() {
  5. global $default_dbname, $user_tablename;
  6. global $default_sort_order, $default_order_by, $records_per_page;
  7. global $sort_order, $order_by, $cur_page;
  8. global $PHP_SELF;
  9.  
  10. $link_id = mysql_connect("localhost","root","xxx");
  11. mysql_select_db("sample_db", $link_id);
  12. if(!$link_id) error_message(sql_error());
  13.  
  14. $query = "SELECT count(*) FROM $user_tablename";
  15.  
  16. $result = mysql_query($query, $link_id);
  17. if(!$result) error_message(sql_error());
  18.  
  19. $query_data = mysql_fetch_row($result);
  20. $total_num_user = $query_data[0];
  21. if(!$total_num_user) error_message('Nie odnaleziono użytkowników');
  22. $page_num = $cur_page + 1;
  23. $total_num_page = $last_page_num
  24. = ceil($total_num_user/$records_per_page);
  25.  
  26. html_header();
  27.  
  28. echo "<center><H3>Odnaleziono $total_num_user użytkowników.
  29. Aktualnie jest wyświetlana strona $page_num z $last_page_num.</H3></center>/n";
  30. if(empty($order_by)) {
  31. $order_by_str = "ORDER BY $default_order_by";
  32. $order_by = $default_order_by;
  33. }
  34.  else $order_by_str = "ORDER BY $order_by";
  35.  if(empty($sort_by)) {
  36.  $sort_order_str = $org_sort_order = $default_sort_order;
  37.  $sort_order = 'DESC';
  38.  }
  39.  else {
  40.  $sort_order_by = $org_sort_order = $sort_order;
  41.  if($sort_order == 'DESC') $sort_order = 'ASC';
  42.  else $sort_order = 'DESC';
  43.  }
  44.  if(empty($cur_page)) {
  45.  $cur_page = 0;
  46.  }
  47.  $limit_str = "LIMIT ". $cur_page * $records_per_page .
  48.  ", $records_per_page";
  49.  
  50.  $query = "SELECT usernumber, userid, username FROM $user_tablename
  51.  $order_by_str $sort_order_str $limit_str";
  52.  $result = mysql_query($query, $link_id);
  53.  if(!$result) error_message(sql_error());
  54.  ?>
  55.  <div align="CENTER">
  56.  <table border="1" width="90%" cellpadding="2">
  57.  <TR>
  58.  <TH width="25%" nowrap>
  59.  <a href="<?php echo "$PHP_SELF?action=list_records&
  60.  sort_order=$sort_order&
  61.  order_by=usernumber"; ?>">
  62.  Numer użytkownika
  63.  </a>
  64. </TH>
  65. <TH width="25%" nowrap>
  66. <a href="<?php echo "$PHP_SELF?action=list_records&
  67.  sort_order=$sort_order&
  68.  order_by=userid"; ?>">
  69. ID użytkownika
  70.  </a>
  71.  </TH>
  72.  
  73.  <TH width="25%" nowrap>
  74. <a href="<?php echo "$PHP_SELF?action=list_records&
  75.  sort_order=$sort_order&
  76.  order_by=username"; ?>">
  77. Nazwa Użytkownika
  78.  </a>
  79.  </TH>
  80.  <TH width="25%" nowrap>Akcja</TH>
  81.  
  82.  </TR>
  83.  <?php
  84.  while ($query_data = mysql_fetch_array($result)) {
  85.  $usernumber = $query_data["usernumber"];
  86.  $userid = $query_data["userid"];
  87.  $username = $query_data["username"];
  88.  echo "<TR>\n";
  89.  echo "<TD WIDTH=\"25%\" ALIGN=\"CENTER\">$usernumber</TD>\n";
  90.  echo "<TD WIDTH=\"25%\" ALIGN=\"CENTER\">$userid</TD>\n";
  91.  echo "<TD WIDTH=\"25%\" ALIGN=\"CENTER\">$username</TD>\n";
  92.  echo "<TD WIDTH=\"25%\" ALIGN=\"CENTER\">
  93.  <A HREF=\"javascript:open_window('$PHP_SELF?action=view_record&
  94.  userid=$userid');\">Wyświetl rekord</A></TD>\n";
  95.  echo "<TR>\n";
  96.  }
  97.  ?>
  98.  </table>
  99.  </div>
  100.  <?php
  101.  echo "<BR>\n";
  102.  echo "<STRONG><CENTER>";
  103.  if($page_num > 1) {
  104.  $prev_page = $cur_page - 1;
  105.  
  106.  echo "<a href=\"$PHP_SELF?action=list_records&
  107.  sort_order=$org_sort_order&
  108.  order_by=$order_by&cur_page=0\">[Pierwsza]</a>";
  109.  echo "<a href=\"$PHP_SELF?action=list_records&
  110.  sort_order=$org_sort_order&
  111.  order_by=$order_by&
  112.  cur_page=$prev_page\">[Poprzednia]</a>";
  113.  }
  114.  if($page_num < $total_num_page) {
  115.  $next_page = $cur_page + 1;
  116.  $last_page = $total_num_page - 1;
  117.  
  118.  echo "<a href=\"$PHP_SELF?action=list_records&
  119.  sort_order=$org_sort_order&
  120.  order_by=$order_by&
  121.  cur_page=$next_page\">[Następna]</a>";
  122.  
  123.  echo "<a href=\"$PHP_SELF?action=list_records&
  124.  sort_order=$org_sort_order&
  125.  order_by=$order_by&
  126.  cur_page=$last_page\">[Ostatnia]</a>"; 
  127.  }
  128. echo "</STRONG></CENTER>";
  129. html_footer();
  130. }
  131.  
  132. function view_records() {
  133. global $default_dbname, $user_tablename, $access_log_tablename;
  134. global $userid;
  135. global $PHP_SELF;
  136.  
  137. if(empty($userid)) error_message('Empty User ID!');
  138.  
  139. $link_id = mysql_connect("localhost","root","xxx");
  140. mysql_select_db("sample_db", $link_id);
  141.  
  142. if(!$link_id) error_message(sql_error());
  143.  
  144. $query = "SELECT usernumber, userid, username,
  145.  usercountry, useremail, userprofile,
  146.  registerdate, lastaccesstime FROM $user_tablename
  147.  WHERE userid = '$userid'";
  148.  $result = mysql_query($query, $link_id);
  149.  if(!$result) error_message(sql_error());
  150.  
  151. $query_data = mysql_fetch_row($result);
  152. $usernumber = $query_data["usernumber"];
  153. $userid = $query_data["userid"];
  154. $username = $query_data["username"];
  155. $usercountry = $query_data["usercountry"];
  156. $useremail = $query_data["uuseremail"];
  157. $userprofile = $query_data["userprofile"];
  158. $registerdate = $query_data["registerdate"];
  159.  
  160. $lastaccesstime = substr($query_data["lastaccesstime"],0, 4).'-'.
  161. substr($query_data["lastaccesstime"], 4, 2) . '-' .
  162. substr($query_data["lastaccesstime"], 6, 2) . ' ' .
  163. substr($query_data["lastaccesstime"], 8, 2) . ':' .
  164. substr($query_data["lastaccesstime"], 10, 2) . ':' .
  165. substr($query_data["lastaccesstime"], 12, 2);
  166.  
  167. html_header();
  168. echo "<CENTER><H3>
  169. Rekord użytkownika nr. $usernumber - $userid($username)
  170.  </H3></CENTER>";
  171. ?>
  172.  <div align="CENTER">
  173.  <table border="1" width="90%" cellpadding="2">
  174.  <TR>
  175. <TH width="40%">Kraj</TH>
  176. <TD width="60%"><?php echo $usercountry ?></TD>
  177.  </TR>
  178.  
  179. <TR>
  180. <TH width="40%">E-mail</TH>
  181. <TD width="60%"><?php echo $useremail ?></TD>
  182.  </TR>
  183.  
  184. <TR>
  185. <TH width="40%">Opis</TH>
  186. <TD width="60%"><?php echo $userprofile ?></TD>
  187.  </TR>
  188.  
  189.  <TR>
  190. <TH width="40%">Data rejestracji</TH>
  191. <TD width="60%"><?php echo $registerdate ?></TD>
  192.  </TR>
  193.  
  194. <TR>
  195. <TH width="40%">Data ostatniej wizyty</TH>
  196. <TD width="60%"><?php echo $lastaccesstime ?></TD>
  197.  </TR>
  198.  </table>
  199.  </div>
  200.  <?php
  201.  echo "<HR SIZE=\"2\" width=\"90%\">\n";
  202.  $query = "SELECT page, visitcount, accessdate FROM $access_log_tablename
  203.  WHERE userid = '$userid'";
  204.  
  205. $result = mysql_query($query, $link_id);
  206.  if(!$result) error_message(sql_error());
  207.  if(!mysql_num_rows($result))
  208. echo "<center> Brak danych o stronach odwiedzonych przez użytkownika $userid($username).</center>";
  209. else {
  210. echo "<center> Informacje o stronach odwiedzonych przez użytkownika $userid($username).</center>";
  211. ?>
  212. <DIV align="center">
  213. <table border="1" width="90%" cellpadding="2">
  214. <TR>
  215. <TH width="40%" nowrap>Strona</TH>
  216. <TH width="40%" nowrap>Ilość wizyt</TH>
  217. <TH width="40%" nowrap>Czas ostatniej wizyty</TH>
  218.  </TR>
  219.  <?php
  220.  while($query_data = mysql_fetch_array($result)) {
  221.  $page = $query_data["page"];
  222.  $visitcount = $query_data["visitcount"];
  223.  $accessdate = substr($query_data["accessdate"], 0, 4) . '-' .
  224.  substr($query_data["accessdate"], 4, 2) . '-' .
  225. substr($query_data["accessdate"], 6, 2) . ' ' .
  226. substr($query_data["accessdate"], 8, 2) . ':' .
  227. substr($query_data["accessdate"], 10, 2) . ':' .
  228. substr($query_data["accessdate"], 12, 2);
  229.  
  230. echo "<TR>\n";
  231. echo "<TD WIDTH=\"40%\">$page</TD>\n";
  232. echo "<TD WIDTH=\"20%\" ALIGN=\"CENTER\">$visitcount</TD>\n";
  233. echo "<TD WIDTH=\"20%\" ALIGN=\"CENTER\">$accessdate</TD>\n";
  234. echo "</TR>\n";
  235.  }
  236.  ?>
  237.  </TR>
  238. </table>
  239. </DIV>
  240. <?php
  241. }
  242.  
  243. html_footer();
  244. }
  245. switch ($action) {
  246. case "view_record";
  247. view_record();
  248. break;
  249. default:
  250. list_records();
  251. break;
  252. }
  253. ?>


Zaktualizowano w kodzie:
$limit_str = "LIMIT ".....
neverever
nie mam siły całego kodu przeglądać, jedno powiem że po LIMIT powinna być spacja.
chyba to linia 46 jest: $limit_str = "LIMIT" ..... zmień na $limit_str = "LIMIT " .....
krzychu0808
coś się już ruszyło ale cały czas błąd u góry strony
Notice: Undefined variable: action in C:\Program Files\Apache Group\Apache2\htdocs\2\userviewer.php on line 246
i nie działa wyświetl rekord......
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.