Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyświetlanie rekordów
Forum PHP.pl > Forum > Przedszkole
uki150
Witam,
zaczynam się uczyć PHP i mam dziwny problem. Robię taki mini skrypt to aktualizacji tabeli, później dopisze dodanie punktów i meczów ogólnie taki prymityw ale od czegoś trzeba zacząć. Przechodziąc do rzeczy próbuje to wszystko edycje, usuwanie, dodawanie oraz wyświetlanie w jednym pliku za pomocą switcha.

1. Co wpisac w case żebym jak miał normalnie otworzy plik www.localhost/tabela_ligi_mini.php to wyświetlały się wyniki=rekordy. A jak później przechodzię na akcje to w zależności od potrzeby ale to wiem jak zrobić.
2. No i główny problem jest z tym że nie pobiera mi w ogóle danych z formularza i nie zapisuje ich w bazie danych. Skrypt zapisywania działa ponieważ zapisuje nowe rekordy ale puste, pewnie gdzieś jakąś głupotę zrobiłem ;/

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <meta name="generator" content="PSPad editor, www.pspad.com">
  6. <title>Admin - Tabela ligi</title>
  7. </head>
  8. <body>
  9. <a href="tabela_ligi_mini.php?akcja=dodaj" title="Dodaj druzyne">Dodaj drużyne</a> |<br /><br />
  10. <?php
  11.  
  12. $akcja = $_GET['akcja'] ;
  13. $dbc = mysqli_connect('localhost', 'uki150', '', 'uki_cms')
  14. or die('Brak połączenia z serwerem MySQL.');
  15.  
  16. $query = "SELECT * FROM tabela_ligi_mini ";
  17. $result = mysqli_query($dbc, $query);
  18. $row = mysqli_fetch_array($result);
  19.  
  20. while($row = mysqli_fetch_array($result)) {
  21. $id = $row['id'];
  22. $nazwa_druzyny2 = $row['nazwa_druzyny'];
  23. $mecze2 = $row['mecze'] ;
  24. $punkty2 = $row['punkty'] ;
  25.  
  26. echo "$id $nazwa_druzyny2 $mecze2 $punkty2" . '<br/>';
  27. }
  28.  
  29. switch ($akcja) {
  30. case dodaj:
  31. if (isset($_POST['submit'])) {
  32.  
  33. $nazwa_druzyny = $_POST['nazwa_druzyny'];
  34. $formularz = false;
  35.  
  36. if (empty($nazwa_druzyny )) {
  37. echo 'Proszę wpisać tresc wiadomości.<br />';
  38. $formularz = true;
  39. }
  40.  
  41. if ((!empty($nazwa_druzyny))) {
  42.  
  43. $query = "INSERT INTO tabela_ligi_mini (id, nazwa_druzyny, mecze, punkty)" .
  44. "VALUES ('', '$nazwa_druznyny', '', '')";
  45.  
  46. $result = mysqli_query($dbc, $query)
  47. or die('Nie można dodać drużnyny.');
  48. echo 'Dodano.<br />';
  49. }
  50. }
  51. else {
  52. $formularz = true;
  53. }
  54. if ($formularz) {
  55. ?>
  56. <form method="post" action="tabela_ligi_mini.php?akcja=dodaj">
  57. <label for="nazwa_druzny">Nazwa drużyny:</label>
  58. <input type="text" name="nazwa_druzyny" /><br />
  59. <input type="submit" value="Wyślij" name="submit" />
  60. </form>
  61. <?php
  62. }
  63.  
  64. break;
  65.  
  66. }
  67.  
  68. ?>
  69.  
  70. </body>
  71. </html>


PS: Jak zrobić wyświetlanie 5 rekordów z największą liczną punktów. I do tego tło wiesza nr1 powinno być innego koloru oraz co drugie taka tabelka. Czyli w tabelce 3 kolory: 1 - czerwony, 2 - szary, 3 czarny?
ciekawskiii
literówka? $nazwa_druznyny w zapytaniu
uki150
ups..
A jak z punktem 1 ?
ciekawskiii
a 1 to nie kumam o co Ci chodzi bo teraz jak wejdziesz w plik to Ci wyświetla rekordy (przynajmniej powinno)
modern-web
Skorzystaj z `default` - składnia switcha smile.gif
case zachowuje się podobnie jak else if, natomiast default jak else

Chyba o to Ci chodzi... o tej godzinie nie bardzo łapię kontakt ze światem ale staram się pomóc smile.gif
uki150
super o to właśnie chodziło.

Barcelona
Switcha bym Ci proponował wsadzić do index'a.

Do porównania mój przykładowy index

  1. <?
  2. ?>
  3. <?php
  4. include('baza.php');
  5. $strona = $_GET['strona'];
  6. $podstrona = $_GET['podstrona'];
  7.  
  8. ?>
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  10. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  11. <head>
  12. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  13. <meta name="description" content="opis" />
  14. <meta name="keywords" content="słowa, kluczowe" />
  15. <link rel="shortcut icon" href="favicon.ico">
  16. <link rel="stylesheet" type="text/css" href="css.css" media="screen,projection" />
  17. <title>tytuł</title>
  18. </head>
  19.  
  20. <body>
  21. <div id="naglowek">
  22. </div>
  23. <div id="pojemnik">
  24. <div id="logo">
  25. </div>
  26. <div id="main">
  27. <?
  28. switch($strona)
  29. {
  30. case "": include("glowna.php"); break;
  31. case "check": include("check.php"); break;
  32. case "send": include("send.php"); break;
  33. case "rejestracja": include("rejestracja.php"); break;
  34. case "logowanie": include("logowanie.php"); break;
  35. case "generator":
  36. switch($etap){
  37. case 'pytanie': include("pytanie.php"); break;
  38. }; break;
  39. }
  40.  
  41.  
  42. ?>
  43. </div>
  44.  
  45. <div id="sidebar">
  46. </div>
  47.  
  48. <div id="footer">
  49. </div>
  50.  
  51. </div>
  52. </body>
  53. </html>


Dzięki temu będziesz mógł sobie includować pliki w zależności jakie masz zmienne GET w adresie.
uki150
Jak zrobić wyświetlanie 5 rekordów z największą liczną punktów. I do tego tło wiesza nr1 powinno być innego koloru oraz co drugie taka tabelka. Czyli w tabelce 3 kolory: 1 - czerwony, 2 - szary, 3 czarny, a później powtarza sie na zmianie kolor tła szary i czarny

  1. switch ($akcja) {
  2. default:
  3. $query = "SELECT * FROM tabela_ligi_mini ORDER BY punkty DESC LIMIT 6";
  4. $result = mysqli_query($dbc, $query);
  5. $row = mysqli_fetch_array($result);
  6. ?>
  7. <div class="tabela">
  8. <table style="color: #fff; text-align: center; " cellspacing="0">
  9. <tr>
  10. <td style="width: 40px;" ></td><td style=" height: 30px; width: 180px; text-align: left; color: #b7b7b7;">Nazwa drużyny</td><td style="width: 52px; color: #b7b7b7;">Mecze</td><td style="width: 70px; background-color: #23201d; color: #e20809;"><b>Punkty</b></td>
  11. </tr>
  12. <?php
  13. while($row = mysqli_fetch_array($result)) {
  14.  
  15. ?>
  16. <tr style="background-color: #e20809; height: 30px;" >
  17. <td>1.</td><td style="text-align: left;" ><b><?php echo $row['nazwa_druzyny']; ?></b></td><td><?php echo $row['mecze']; ?></td><td style="background-color: #b20607;"><b><?php echo $row['punkty']; ?></b></td>
  18. </tr>
  19. <?php
  20. }
  21. ?>
  22. </table>
  23. </div>
  24. <?php
  25. break;
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.