Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Terminarz piłkarski - operację na kilku tabelach (, problem z GET , tak mi się wydaje :/
artur81
post
Post #1





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

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


Witam!
Na początku przepraszam za długi wątek, ale chcę to załatwić za jednym razem żeby niepotrzebnie nie przeciągać. Robię stronę drużyny piłkarskiej, a obecnie możliwość edycji kolejek ligi piłkarskiej. Po zalogowaniu użytkownik zostaje przekierowany na stronę na której to znajduje się 30 linków, do każdego dołączam numer kolejki (jest to zarazem nazwa tabeli w bazie danych), tak jak poniżej ((fragment)
Kod
<tr>
    <td><div align="center"><font size="+2"><a href="update_terminarz.php?kolejka=2kolejka">2
        kolejka</a></font></div></td>
    <td><div align="center"><font size="+2"><a href="update_terminarz.php?kolejka=17kolejka">17
        kolejka</a></font></div></td>
  </tr>

Jak już sobie odbiorę te dane po drugiej stronie, tam chciałbym mieć mozliwość usuwania, edycji, dodawania meczy w danej kolejce której numer przekazałemza pomocą GET.
I tak, mam plik update_terminarz.php wyświetlający dane meczy które już dodałem i pozwalający na dodanie nowego
  1. <?php
  2. //session_start();
  3. //Jeżeli nie ma ustanowionej sesji przekierowuję użytkownika do logowania
  4. //if (!isset($_SESSION['login'])) {
  5. // ob_end_clean();
  6. // header ("Location: http://localhost/unia/logowanie_terminarz.php")//
  7. // exit ();
  8.  //  } else {
  9.  
  10.  
  11.  
  12. require_once('./polacz_z_baza_terminarz.php');
  13. $kolejka=$_GET['kolejka'];
  14. echo $kolejka;
  15. $wynik = mysql_query ("SELECT * FROM $kolejka") or die (mysql_error());
  16. print "<table cellpadding=5 border=0>";
  17. print "<tr><td align =center bgcolor=#00CCFF><b>Id</b></td><td align =center bgcolor=#00CCFF><b>Herb</b></td>";
  18. print "<td align =center bgcolor=#00CCFF><b>Gospodarze</b></td><td align =center bgcolor=#00CCFF><b>Bramki gospodarzy</b></td>";
  19. print "<td align =center bgcolor=#00CCFF><b>Bramki goœci</b></td><td align =center bgcolor=#00CCFF><b>Goœcie</b></td>";
  20. print "<td align =center bgcolor=#00CCFF><b>Herb</b></td></tr>n";
  21.  
  22. while ($rekord = mysql_fetch_array ($wynik)) { //tutaj wyswietlam wyniki w tabeli , do kazdego rekordu dodajšc
  23. $id = $rekord[0]; // opcje :skasuj, edytuj
  24. $gospodarze = $rekord[1];
  25. $bramki_gospodarzy = $rekord[2];
  26. $bramki_gosci = $rekord[3];
  27. $goscie = $rekord[4];
  28. $herb_gospodarzy = $rekord[5];
  29. $herb_gosci = $rekord[6];
  30.  
  31. print "<tr><td align =center bgcolor=#BEE4F3><font size =-1>$id</font></td><td align =center bgcolor=#71DEE3><font size =-1><img src="http://www.dyjas82.bluepointpolska.com/herby/$herb_gospodarzy"></font></td><td align =center bgcolor=#BEE4F3><font size =-1>$gospodarze</font></td><td align =center bgcolor=#BEE4F3><font size =-1>$bramki_gospodarzy</font></td><td align =center bgcolor=#BEE4F3><font size =-1>$bramki_gosci</font></td><td align =center bgcolor=#71DEE3><font size =-1>$goscie</font></td><td align =center bgcolor=#71DEE3><font size =-1><img src="http://www.dyjas82.bluepointpolska.com/herby/$herb_gosci"></font></td><td>";
  32. print "<A HREF = "action_terminarz.php?akcja=skasuj&id=$id&kolejka=$kolejka"><font size =-1 font color = black>SKASUJ</font></A></td><td>";
  33. print "<A HREF = "action_terminarz.php?akcja=edytuj&id=$id&kolejka=$kolejka"><font size =-1 font color = black>EDYTUJ</font></A></td></tr>n";
  34. }
  35. print "</table>";
  36. $nazwy_druzyn= array( 1=> 'MKS Unia Skierniewice', 'MZKS Kozienice', 'Ceramika Paradyż', 'Pelikan Łowicz', 'Mazowsze Grójec', 'Gosso Stal Głowno',
  37. 'Jeziorak Iława', 'Mlekovita Wysokie Mazowieckie', 'Wigry Suwałki', 'Znicz Pruszków', 'Dolcan Zšbki', 'Legia II Warszawa', 'ŁKS Łomża', 'MKS Mława',
  38. 'Hurtap Górnik Łęczyca', 'RKS Radomsko');
  39. $herby = array( 1=> 'skierniewice.jpg', 'kozienice.jpg', 'paradyz.jpg', 'lowicz.jpg', 'grojec.jpg', 'glowno.jpg',
  40. 'ilawa.jpg', 'wysokiemazowieckie.jpg', 'suwalki.jpg', 'pruszkow.jpg', 'zabki.jpg', 'warszawa.jpg', 'lomza.jpg', 'mlawa.jpg',
  41. 'leczyca.jpg', 'radomsko.jpg');
  42.  
  43.  
  44.  
  45. print '<p align = "center">';
  46. print '<form method="GET" action="action_terminarz.php"><font size =-1>Nowy mecz:</font>'; //formularz dodawania nowego meczu
  47. print '<input type = "hidden" name="akcja" value="dodaj">'; // samo dodawanie odbywa sie w pliku action_terminarz.php
  48. print '<input type = "hidden" name="id" value=""><input type = "hidden" name="kolejka" value="$kolejka"><table>';
  49. print '<tr><td><font size =-1>Herb gospodarzy</font></td><td>';
  50. print '<select name="herb_gospodarzy">'; //herb gospodarzy lista rozwijana
  51. foreach ($herby as $key => $value)
  52.  { echo "<option value="$key">$value</option>n"; }
  53.  echo '</select>';
  54. print '</td></tr>';
  55. print '<tr><td><font size =-1>Gospodarze<font></td><td>';
  56. print '<select name="gospodarze">'; //nazwy druzyn - gospodarze - lista rozwijana
  57. foreach ($nazwy_druzyn as $key => $value)
  58.  { echo "<option value="$key">$value</option>n"; }
  59.  echo '</select>';
  60. print '</td></tr>';
  61. print '<tr><td><font size =-1>Bramki gospodarzy</font></td><td><input type = "text" name="bramki_gospodarzy"></td></tr>';//bramki gosp.
  62. print '<tr><td><font size =-1>Bramki goœci</font></td><td><input type = "text" name="bramki_gosci"></td></tr>';//bramki gosci
  63. print '<tr><td><font size =-1>Goœcie<font></td><td>';
  64. print '<select name="goscie">';// nazwy druzyn - goscie - lista rozwijana
  65. foreach ($nazwy_druzyn as $key => $value)
  66.  { echo "<option value="$key">$value</option>n"; }
  67.  echo '</select>';
  68. print '</td></tr>';
  69.  
  70. print '<tr><td><font size =-1>Herb gosci</font></td><td>'; //herby gosci - lista rozwijana
  71. print '<select name="herb_gosci">';
  72. foreach ($herby as $key => $value)
  73.  { echo "<option value="$key">$value</option>n"; }
  74.  echo '</select>';
  75. print '</td></tr>';
  76.  
  77. print '</table><input type="submit" value="Dodaj nowy mecz" ></form></p>'; //koniec formularza
  78. //}
  79. //print '<body bgcolor = #CCFFCC>';
  80. ?>

Tutaj pojawia mi się błąd że mysql_fetch_array nie jest valid mysql resource. Wiem o co chodzi, ale nie wiem jak to poprawić w tym przypadku...
kolejne dwa pliki zawierające kody odpowiedzialne za kasowanie, edycję i dodawanie.
action_terminarz.php
  1. <?php
  2. require_once('./polacz_z_baza_terminarz.php');
  3.  
  4. $akcja=$_GET['akcja'];
  5. $kolejka=$_GET['kolejka'];
  6. if ($akcja == 'dodaj') {
  7.  
  8.  
  9. $id = $_GET['id'];
  10. $kolejka=$_GET['kolejka'];
  11. $gospodarze = $_GET['gospodarze'];
  12. $bramki_gospodarzy = $_GET['bramki_gospodarzy'];
  13. $bramki_gosci = $_GET['bramki_gosci'];
  14. $goscie = $_GET['goscie'];
  15. $herb_gospodarzy = $_GET['herb_gospodarzy'];
  16. $herb_gosci =$_GET['herb_gosci'];
  17. // dodawanie wiersza do tabeli
  18. if ($gospodarze && $bramki_gospodarzy && $bramki_gosci && $goscie && $herb_gospodarzy && $herb_gosci) {
  19. $zapytanie = "INSERT INTO $kolejka (id, gospodarze, bramki_gospodarzy, bramki_gosci, goscie, herb_gospodarzy, h
    erb_gosci) VALUES ('', '$gospodarze' , '$bramki_gospodarzy', '$bramki_gosci', '$goscie', '$herb_gospodarzy', '$herb_gosci')"
    ;
  20. $wynik = mysql_query ($zapytanie);
  21. }
  22. print "<div align = center><h3>Dodanie nowego meczu zakończone powodzeniem!!!</h3><br>Klinkij na link, aby dodać &nbsp<a href="update_terminarz.php&kolejka=$kolejka">nowy mecz</a>.<div>";
  23. } elseif ($akcja == 'edytuj') {
  24.  $kolejka=$_GET['kolejka'];
  25. $id=$_GET['id'];
  26. $zapytanie = "SELECT * FROM $kolejka WHERE id='$id' and kolejka='$kolejka'";
  27. $wynik = mysql_query ($zapytanie);
  28. $rekord = mysql_fetch_array ($wynik);
  29. $id = $rekord[0];
  30. $gospodarze = $rekord[1];
  31. $bramki_gospodarzy = $rekord[2];
  32. $bramki_gosci = $rekord[3];
  33. $goscie = $rekord[4];
  34. $herb_gospodarzy = $rekord[5];
  35. $herb_gosci = $rekord[6];
  36. print '<form method = "post" action="popraw_terminarz.php"> Poprawa meczu:';
  37. print '<input type = "hidden" name="akcja" value="popraw">';
  38. print '<input type = "hidden" name="id" value="'.$id.'"><input type = "hidden" name="kolejka" value="'.$kolejka.'"><table width="700" border=0>';
  39. print '<tr><td>Gospodarze</td><td><input type = "text" name="gospodarze" value="'.$gospodarze.'" size="100"></td></tr>';
  40. print '<tr><td>Bramki gospodarzy</td><td><input type = "text" name="bramki_gospodarzy" value="'.$bramki_gospodarzy.'" size="40"></td></tr>';
  41. print '<tr><td>Bramki goœci:</td><td><input type = "text" name="bramki_gosci" value="'.$bramki_gosci.'" size="40"></td></tr>';
  42. print '<tr><td>Goœcie:</td><td><input type = "text" name="goscie" value="'.$goscie.'" size="40"></td></tr>';
  43. print '<tr><td>Herb gospodarzy:</td><td><input type = "text" name="herb_gospodarzy" value="'.$herb_gospodarzy.'" size="40"></td></tr>';
  44. print '<tr><td>Herb goœci:</td><td><input type = "text" name="herb_gosci" value="'.$herb_gosci.'" size="40"></td></tr>';
  45. print '</table><input type="submit" value="Popraw dane"></form>';
  46. }
  47. elseif ($akcja == 'skasuj') {
  48. $id=$_GET['id'];
  49. $wynik =mysql_query ("DELETE FROM $kolejka WHERE id='$id' and kolejka='$kolejka';");
  50. print '<div align = center>';
  51. print '<h3>Skasowanie meczu zakończone powodzeniem!</h3><br>Klinkij na link, aby przejœć do &nbsp<a href="update.php">menu meczów</a>.</div>';
  52. }
  53.  
  54. ?>

popraw_terminarz.php
  1. <?php
  2. require_once('./polacz_z_baza_newsow.php');
  3.  
  4. $akcja=$_POST['akcja'];
  5. $id=$_POST['id'];
  6. $kolejka=$_POST['kolejka'];
  7. $gospodarze=$_POST['gospodarze'];
  8. $goscie=$_POST['goscie'];
  9. $bramki_gospodarzy=$_POST['bramki_gospodarzy'];
  10.  
  11. $bramki_gosci=$_POST['bramki_gosci'];
  12. $herb_gosci=$_POST['herb_gosci'];
  13. $herb_gospodarzy=$_POST['herb_gospodarzy'];
  14.  
  15.  
  16. if ($akcja == 'popraw') { // poprawianie
  17.  if ($gospodarze && $goscie && $bramki_gospodarzy && $bramki_gosci && $herb_gospodarzy && $herb_gosci) {
  18. $zapytanie = "UPDATE $kolejka SET gospodarze='$gospodarze', goscie='$goscie', bramki_gospodarzy='$bramki_gospodarzy', bramki_gosci='$bramki_gosci', herb_gospodarzy='$herb_gospodarzy', herb_gosci='$herb_gosci' WHERE id='$id' and kolejka='$kolejka'";
  19. $wynik = mysql_query ($zapytanie);
  20.  }
  21. }
  22. print '<div align = center>';
  23. print '<h3>Edycja meczu zakończona powodzeniem!</h3><br>Klinkij na link, aby przejść do &nbsp<a href="update.php">menu meczów.</a></div>';
  24.  
  25. ?>


Fragment bazy SQL:
  1. Struktura tabeli dla `10kolejka`
  2. #
  3.  
  4. CREATE TABLE `10kolejka` (
  5. `id` tinyint(4) NOT NULL AUTO_INCREMENT,
  6. `gospodarze` text NOT NULL,
  7. `bramki_gospodarzy` tinyint(4) NOT NULL DEFAULT '0',
  8. `bramki_gosci` tinyint(4) NOT NULL DEFAULT '0',
  9. `goscie` text NOT NULL,
  10. `herb_gospodarzy` text NOT NULL,
  11. `herb_gosci` text NOT NULL,
  12. `termin` text NOT NULL,
  13. UNIQUE KEY `id` (`id`)
  14. ) TYPE=MyISAM AUTO_INCREMENT=1 ;
  15.  
  16. #
  17. # Zrzut danych tabeli `10kolejka`
  18. #


To by było na tyle, mam nadzieję że znajdzie się ktoś kto pokaże mi gdzie robię błąd, wydaje mi się że problem tkwi w przekazywaniu getem numeru kolejki.

2 . pytanie.
Tak mi przyszło do głowy... Niedługo zapewne stanę przed napisaniem tabeli wyników ligi w której gra druzyna której stronę robię. Z tabela sobie poradzę, tylko tak się zastanawiam, jak już sobie posortuję order by punkty, bilans_bramek. Może się jeszcze zdażyć że mimo takiego posortowania 2 druzyny bedą miały taką sama liczbę punktów i stosunek bramek. Jak wtedy zrobic oś takiego żeby dane w tabeli wysiwetliły mi się jak niżej
____________________________________
nr | nazwa druzyny | punkty | stos.bramek |
____________________________________
1 | druzyna 1 | 30 | +10 |
____________________________________
2 | druzyna 2 | 28 | +8 |
____________________________________
3 |druzyna 3 |25 | +5 |
|_________________________________
|druzyna 4 |25 | +5 |
___________________________________
5 | druzyna 5 |20 | +5 |

Chyba widać o co chodz, jeśli 2 druzyny mają takie same liczby punktów i bramek wtedy są wyświetlane na jednym miejscu , a następna druzyna jest wyświetlana z miejscem zwiększonym o jeden, dwa, trzy, w zależności od tego ile drużyn będzie na jednym miejscu. Jak zapisać taki kod??

Ten post edytował artur81 25.08.2005, 09:32:34


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 19.08.2025 - 10:20