[MySQL][PHP]Wyświetlanie i edycja rekordów z bazy MySQL |
[MySQL][PHP]Wyświetlanie i edycja rekordów z bazy MySQL |
12.01.2015, 18:28:14
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 17.02.2014 Ostrzeżenie: (0%) |
Witajcie.
Aktualnie pracuję nad stroną, w której chcę mieć możliwość dodawania, usuwania ,wyświetlenia oraz edycji rekordów z bazy MySql. Jak na razie poradziłem sobie z utworzeniem formularzu , który dodaje rekordy do bazy.
Kolejnym postępem w pracy było stworzenie tabelki, która wyświetla nam wszystkie rekordy w danej tabeli bazy.
Niestety nie wiem jak rozwiązać temat usuwania i edycji rekordów :< Znam składnie sql. Programowałem troche w c#. Niestety co do PHP to 6dzień w tym siedze. Chciałbym, żeby to jakoś wyglądało i miało ręce i nogi. Musi to być w miarę intuicyjne. 1 ) Czy można np dodać nową kolumnę do tej mojej tabelki z danymi , w której miałbym opcję "usun"? Coś 'a la' : Kolumna 1 | Kolumna 2 | Kolumna 3 | Kolumna 4 ID 1 | cos 1 | cos 1 | kasuj ID 2 | cos 2 | cos 2 | kasuj ID 3 | cos 3 | cos 3 | kasuj Jeżeli tak to w jaki sposób to okiełznać? Powinienem wtedy dodać jakby hiperłącze do podstrony ze skryptem usuwającym ? 2) A jeśli chodzi o edycję Taki pomysł mam. Wrzucić do ComboBoxa dane. ( to wiem , że się da) Po wybraniu jakiejś z opcji, automatycznie dane uzupełniły by formularz, w którym można by było dokonać edycji.. (Czy to da się zrobić?) |
|
|
12.01.2015, 18:57:02
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) |
tak, właśnie w ten sposób, robisz np. <a href="index.php?controller=autokary&action=delete&id=3">usuń</a> Cytat 2) A jeśli chodzi o edycję Taki pomysł mam. Wrzucić do ComboBoxa dane. ( to wiem , że się da) Po wybraniu jakiejś z opcji, automatycznie dane uzupełniły by formularz, w którym można by było dokonać edycji.. (Czy to da się zrobić?) z edycują są dwa podejścia, jedno z wykorzystaniem ajax, ale to sobie na razie podarujmy, drugie to tworzysz link (podobnie jak przy usuwaniu, tylko dajesz akcje np. edit ) i przechodzisz na podstronę gdzie masz formularz do edycji, dane domyślne uzupełniasz z bazy danych, czyli robisz select * from nazwa_tabeli where id = przekazany_id_przez_get_lub_post btw. skoro programowałeś w c# i nie są Ci obce obiekty używaj http://php.net/pdo do operacji na bazie danych Ten post edytował sf 12.01.2015, 18:58:00 -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
13.01.2015, 18:31:23
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 17.02.2014 Ostrzeżenie: (0%) |
Dziękuję za szybką odpowiedź i pomoc.
Biorę się już do roboty Mam jeszcze jednak 2 pytania. Tak wygląda mój skrypt.
1) Chcę aby ostatnia kolumna była scalona w pionie. Zdaje się , że do liczenia linijek służy "mysql_num_rows". A do scalania komórek w tabeli właściwość "rowspan". Niestety błędu nie wyrzuca, ale też nie scala. Powtarza "Dodaj" w każdej linijce... 2) Generalnie skrypt działa. Aczkolwiek wyrzuca ostrzeżenie : Notice: Undefined variable: a in C:\xampp\htdocs\Biuro\autokary.php on line 49 Konkretnie chodzi o linię : Co może być tego przyczyną? |
|
|
13.01.2015, 20:42:44
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) |
błąd tak jak jest napisane, nie ma zdefiniowanej zmiennej $a
isset($_GET['a']) and $a = $_GET['a']; // ten zapis jest dziwny, może chodziło Ci o coś takiego : $a = isset($_GET['a']) ? $_GET['a'] : null; // jeśli ustawiona jest zmienna 'a' w adresie url to przypisz do zmiennej $a jej wartość, w innym przypadku ustaw null co do rowspan, to zadziała to tylko w przypadku gdy użyjesz tego jeden raz, a nie n razy, html wynikowy powinien być taki: Kod <table> <tr> <td>a1</td> <td>a2</td> <td rowspan="3">dodaj</td> </tr> <tr> <td>b1</td> <td>b2</td> </tr> <tr> <td>c1</td> <td>c2</td> </tr> </table> u Ciebie jest taki: Kod <table> <tr> <td>a1</td> <td>a2</td> <td rowspan="3">dodaj</td> </tr> <tr> <td>b1</td> <td>b2</td> <td rowspan="3">dodaj</td> </tr> <tr> <td>c1</td> <td>c2</td> <td rowspan="3">dodaj</td> </tr> </table> ponadto w linijce Kod echo '<td rowspan='$ile'><a href="aZarzadzanie.php">Dodaj</a></td>'; jest błąd, powinno być: Kod echo '<td rowspan="' . $ile . '"><a href="aZarzadzanie.php">Dodaj</a></td>'; dodatkowo sprawdzasz w pętli czy ustawiona jest zmienna $_GET['a'] oraz czy możesz ją usunąć, powinieneś to wyciągnąć poza pętlę while, już nie wspominam o tym, że przekazywanie w ten sposób zmiennych do zapytań jest dziurawe i spowoduje ataki na Twoją stronę Ten post edytował sf 13.01.2015, 20:49:00 -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
Wersja Lo-Fi | Aktualny czas: 18.04.2024 - 07:30 |