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>
<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
<?php //session_start(); //Jeżeli nie ma ustanowionej sesji przekierowuję użytkownika do logowania //if (!isset($_SESSION['login'])) { // ob_end_clean(); // header ("Location: http://localhost/unia/logowanie_terminarz.php")// // exit (); // } else { require_once('./polacz_z_baza_terminarz.php'); $kolejka=$_GET['kolejka']; print "<tr><td align =center bgcolor=#00CCFF><b>Id</b></td><td align =center bgcolor=#00CCFF><b>Herb</b></td>"; print "<td align =center bgcolor=#00CCFF><b>Gospodarze</b></td><td align =center bgcolor=#00CCFF><b>Bramki gospodarzy</b></td>"; print "<td align =center bgcolor=#00CCFF><b>Bramki goœci</b></td><td align =center bgcolor=#00CCFF><b>Goœcie</b></td>"; while ($rekord = mysql_fetch_array ($wynik)) { //tutaj wyswietlam wyniki w tabeli , do kazdego rekordu dodajšc $id = $rekord[0]; // opcje :skasuj, edytuj $gospodarze = $rekord[1]; $bramki_gospodarzy = $rekord[2]; $bramki_gosci = $rekord[3]; $goscie = $rekord[4]; $herb_gospodarzy = $rekord[5]; $herb_gosci = $rekord[6]; 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>"; print "<A HREF = "action_terminarz.php?akcja=skasuj&id=$id&kolejka=$kolejka"><font size =-1 font color = black>SKASUJ</font></A></td><td>"; print "<A HREF = "action_terminarz.php?akcja=edytuj&id=$id&kolejka=$kolejka"><font size =-1 font color = black>EDYTUJ</font></A></td></tr>n"; } $nazwy_druzyn= array( 1=> 'MKS Unia Skierniewice', 'MZKS Kozienice', 'Ceramika Paradyż', 'Pelikan Łowicz', 'Mazowsze Grójec', 'Gosso Stal Głowno', 'Jeziorak Iława', 'Mlekovita Wysokie Mazowieckie', 'Wigry Suwałki', 'Znicz Pruszków', 'Dolcan Zšbki', 'Legia II Warszawa', 'ŁKS Łomża', 'MKS Mława', 'Hurtap Górnik Łęczyca', 'RKS Radomsko'); $herby = array( 1=> 'skierniewice.jpg', 'kozienice.jpg', 'paradyz.jpg', 'lowicz.jpg', 'grojec.jpg', 'glowno.jpg', 'ilawa.jpg', 'wysokiemazowieckie.jpg', 'suwalki.jpg', 'pruszkow.jpg', 'zabki.jpg', 'warszawa.jpg', 'lomza.jpg', 'mlawa.jpg', 'leczyca.jpg', 'radomsko.jpg'); print '<form method="GET" action="action_terminarz.php"><font size =-1>Nowy mecz:</font>'; //formularz dodawania nowego meczu print '<input type = "hidden" name="akcja" value="dodaj">'; // samo dodawanie odbywa sie w pliku action_terminarz.php print '<input type = "hidden" name="id" value=""><input type = "hidden" name="kolejka" value="$kolejka"><table>'; foreach ($herby as $key => $value) foreach ($nazwy_druzyn as $key => $value) print '<tr><td><font size =-1>Bramki gospodarzy</font></td><td><input type = "text" name="bramki_gospodarzy"></td></tr>';//bramki gosp. print '<tr><td><font size =-1>Bramki goœci</font></td><td><input type = "text" name="bramki_gosci"></td></tr>';//bramki gosci foreach ($nazwy_druzyn as $key => $value) foreach ($herby as $key => $value) //} //print '<body bgcolor = #CCFFCC>'; ?>
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
<?php require_once('./polacz_z_baza_terminarz.php'); $akcja=$_GET['akcja']; $kolejka=$_GET['kolejka']; if ($akcja == 'dodaj') { $id = $_GET['id']; $kolejka=$_GET['kolejka']; $gospodarze = $_GET['gospodarze']; $bramki_gospodarzy = $_GET['bramki_gospodarzy']; $bramki_gosci = $_GET['bramki_gosci']; $goscie = $_GET['goscie']; $herb_gospodarzy = $_GET['herb_gospodarzy']; $herb_gosci =$_GET['herb_gosci']; // dodawanie wiersza do tabeli if ($gospodarze && $bramki_gospodarzy && $bramki_gosci && $goscie && $herb_gospodarzy && $herb_gosci) { $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')"; } print "<div align = center><h3>Dodanie nowego meczu zakończone powodzeniem!!!</h3><br>Klinkij na link, aby dodać  <a href="update_terminarz.php&kolejka=$kolejka">nowy mecz</a>.<div>"; } elseif ($akcja == 'edytuj') { $kolejka=$_GET['kolejka']; $id=$_GET['id']; $zapytanie = "SELECT * FROM $kolejka WHERE id='$id' and kolejka='$kolejka'"; $id = $rekord[0]; $gospodarze = $rekord[1]; $bramki_gospodarzy = $rekord[2]; $bramki_gosci = $rekord[3]; $goscie = $rekord[4]; $herb_gospodarzy = $rekord[5]; $herb_gosci = $rekord[6]; print '<input type = "hidden" name="id" value="'.$id.'"><input type = "hidden" name="kolejka" value="'.$kolejka.'"><table width="700" border=0>'; print '<tr><td>Gospodarze</td><td><input type = "text" name="gospodarze" value="'.$gospodarze.'" size="100"></td></tr>'; print '<tr><td>Bramki gospodarzy</td><td><input type = "text" name="bramki_gospodarzy" value="'.$bramki_gospodarzy.'" size="40"></td></tr>'; print '<tr><td>Bramki goœci:</td><td><input type = "text" name="bramki_gosci" value="'.$bramki_gosci.'" size="40"></td></tr>'; print '<tr><td>Goœcie:</td><td><input type = "text" name="goscie" value="'.$goscie.'" size="40"></td></tr>'; print '<tr><td>Herb gospodarzy:</td><td><input type = "text" name="herb_gospodarzy" value="'.$herb_gospodarzy.'" size="40"></td></tr>'; print '<tr><td>Herb goœci:</td><td><input type = "text" name="herb_gosci" value="'.$herb_gosci.'" size="40"></td></tr>'; } elseif ($akcja == 'skasuj') { $id=$_GET['id']; print '<h3>Skasowanie meczu zakończone powodzeniem!</h3><br>Klinkij na link, aby przejœć do  <a href="update.php">menu meczów</a>.</div>'; } ?>
popraw_terminarz.php
<?php require_once('./polacz_z_baza_newsow.php'); $akcja=$_POST['akcja']; $id=$_POST['id']; $kolejka=$_POST['kolejka']; $gospodarze=$_POST['gospodarze']; $goscie=$_POST['goscie']; $bramki_gospodarzy=$_POST['bramki_gospodarzy']; $bramki_gosci=$_POST['bramki_gosci']; $herb_gosci=$_POST['herb_gosci']; $herb_gospodarzy=$_POST['herb_gospodarzy']; if ($akcja == 'popraw') { // poprawianie if ($gospodarze && $goscie && $bramki_gospodarzy && $bramki_gosci && $herb_gospodarzy && $herb_gosci) { $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'"; } } print '<h3>Edycja meczu zakończona powodzeniem!</h3><br>Klinkij na link, aby przejść do  <a href="update.php">menu meczów.</a></div>'; ?>
Fragment bazy SQL:
Struktura tabeli dla `10kolejka` # CREATE TABLE `10kolejka` ( `id` tinyint(4) NOT NULL AUTO_INCREMENT, `gospodarze` text NOT NULL, `bramki_gospodarzy` tinyint(4) NOT NULL DEFAULT '0', `bramki_gosci` tinyint(4) NOT NULL DEFAULT '0', `goscie` text NOT NULL, `herb_gospodarzy` text NOT NULL, `herb_gosci` text NOT NULL, `termin` text NOT NULL, UNIQUE KEY `id` (`id`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; # # Zrzut danych tabeli `10kolejka` #
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??