Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dodanie guzika
Forum PHP.pl > Forum > Przedszkole
BloodMower
Witam jestem początkującą osobą jeśli chodzi o php-a i mam taki problem, stworzyłem formularz w którym po wpisaniu danych i kliknięciu "Dodaj" wypełni się tabela znajdująca się niżej. Czy jest możliwość by w kolumnie "Usuń" dać przycisk usuwający dany wiersz lub umożliwiający jego edycje?

Oto kod:
  1. <html>
  2. <head>
  3.  
  4. </head>
  5. <body bgcolor="aqua">
  6. <center><i><font size="10">Formularz<br><br></font></i></center>
  7.  
  8. <form action="" method="post">
  9.  
  10. Temat zadania<br /><input required type="text" name="temat" maxlength="50" size="50" /><br /><br /><br />
  11.  
  12. Data zadania<br /> <input name="data" required type="date" min="2018-01-30" max="2025-12-31"/><br /><br />
  13.  
  14. <input type="submit" value="Dodaj" name="dodaj" /><br /><br /><br />
  15.  
  16. </form>
  17. <?php
  18. $tablica=file('zadania');
  19.  
  20. asort($tablica);
  21.  
  22. if($_POST['dodaj']=='Dodaj')
  23. {
  24. $temat= $_POST['temat'];
  25. $data= $_POST['data'];
  26.  
  27. file_put_contents('zadania',$data.';'.$temat.chr(10),FILE_APPEND);
  28. }
  29.  
  30. ?>
  31.  
  32. <table border="2" bgcolor="white" id="tblSort">
  33. <tr>
  34. <th>linia</th><th width="150" bgcolor="yellow" class="SSort">Data</th> <th width="500" bgcolor="lime">Zadanie</th><th width="100">Usuń</th>
  35. </tr>
  36. <?php
  37. foreach($tablica as $klucz=>$linia)
  38. {
  39. $dane=explode(';',$linia);
  40. echo '<tr><td>'.$klucz.'</td><td>'.$dane[0].'</td><td>'.$dane[1].'</td><td>'.$kasacja.'</td></tr>';
  41.  
  42. }
  43. ?>
  44.  
  45. </table>
  46.  
  47. </body>
  48. </html>

nospor
Cytat
Czy jest możliwość by w kolumnie "Usuń" dać przycisk usuwający dany wiersz lub umożliwiający jego edycje?
Jest taka mozliwosc.

ps: przenosze
BloodMower
A czy mógłbyś podać zarys takiego kodu lub przykład z nim?
viking
Zrób najlepiej js/ajaksem/fetch api. Dodawaj guziki przy każdym rekordzie i żądanie do serwera z id kasowanego.
Przykładowo: https://prophp.pl/advice/show/17/jak_przygo...dan_xhr_json%3F
BloodMower
Niestety słabo się orientuje w samych guzikach
viking
Guzikiem może być cokolwiek a/input czy nawet span. Najłatiwej dodać mu atrybut data-id="n" i po nim kasować.
BloodMower
A mógłby ktoś powiedzieć jaką komendą moge dodać guzik do tabeli?
nospor
Dokladnie taka sama jak wyswietlasz juz teraz tekst w tabeli. Guzik to na dobra sprawe tez tekst ino ze specjalnego formatu dzieki czemu na stronie wyglada jak guzik
BloodMower
Tylko gdy chce go "włożyć" do tabeli to mi strone wywala
nospor
To pokaz jak to robisz. Dzis piatek, szklane kule w serwisie
BloodMower
  1. <table border="2" bgcolor="white" id="tblSort">
  2. <tr>
  3. <th>linia</th><th width="150" bgcolor="yellow" class="SSort">Data</th> <th width="500" bgcolor="lime">Zadanie</th><th width="100">Usuń</th>
  4. </tr>
  5. <?php
  6. foreach($tablica as $klucz=>$linia)
  7. {
  8. $dane=explode(';',$linia);
  9. echo '<tr><td>'.$klucz.'</td><td>'.$dane[0].'</td><td>'.$dane[1].'</td><td>'.<input type="button" value="Usuń" alt="wyślij">.'</td></tr>';
  10.  
  11.  
  12.  
  13. }
  14. ?>
  15.  
  16. </table>
nospor
czemu uwazasz ze guzik ma byc poza tekstem? Mowilm ci ze to taki sam tekst jak kazdy inny i ma byc tak samo w echo jak kazdy inny....

echo '<tr><td>'.$klucz.'</td><td>'.$dane[0].'</td><td>'.$dane[1].'</td><td><input type="button" value="Usuń" alt="wyślij"></td></tr>';
BloodMower
Dopiero zacząłem przygode z PHP-em i wielu rzeczy nie rozumiem
nospor
Lektura obowiazkowa
http://php.net/manual/en/language.types.string.php

Nie idz dalej poki tego nie przerobisz bo to nie ma sensu. Umiejetnosci poslugiwania sie tekstami i zmiennymi to naprawde podstawy podstaw
BloodMower
Dziękuje, postaram się przerobić tą lekture lecz to jest mi potrzebne więc nic z tym nie zrobie
nospor
Cytat
lecz to jest mi potrzebne więc nic z tym nie zrobie
Nie rozumiem. Skoro jest ci to potrzebne to czemu sie tego wpierw nie nauczysz? Chyba ze mowisz o naglym zaliczeniu na wczoraj i teraz poprostu szukasz gotowca. To by wiele wyjasnialo.
BloodMower
Jestem od kilku dni na praktykach, prowadzący wytłumaczył tylko tablice, a ten skrypt który dałem na początku to zadanie które mamy zrobić za pomocą swojej wiedzy i internetu. Dlatego tutaj przyszedłem gdyż jestem praktycznie zielony w tych sprawach
nospor
No, to tym bardziej link co ci podalem wypadaloby wkuc. No bez takich podstaw ty nic nie zrobisz wiecej.
BloodMower
A czy miałbyś coś w języku polskim, bo z angielskim jeśli chodzi o czytanie to krucho
nospor
To nie "Wladca pierscienia" ze masz znac angielski. Tam masz glownie same przyklady z kodem php, ktore pokazuja jak sie zachowuja dane rzeczy. Znajomosc angielksiego tam to naprawde ograniczona jest do minimum. Pierwszy lepszy translator ci powie co tam napisane
BloodMower
A czy mógłbyś podać mi kod usuwający jedną linijkę kodu, gdyż narazie utknąłem w momencie gdy nacisne guzik usuwa mi tą samą liczbe z pola data w każdej kolumnie
Oto kod
  1.  
  2.  
  3. <html>
  4. <head>
  5.  
  6. </head>
  7. <body bgcolor="aqua">
  8. <center><i><font size="10">Formularz<br><br></font></i></center>
  9.  
  10. <form action="" method="post">
  11.  
  12. Temat zadania<br /><input required type="text" name="temat" maxlength="50" size="50" /><br /><br /><br />
  13.  
  14. Data zadania<br /> <input name="data" required type="date" min="2018-01-30" max="2025-12-31"/><br /><br />
  15.  
  16. <input type="submit" value="Dodaj" name="dodaj" /><br /><br /><br />
  17.  
  18. </form>
  19. <?php
  20. $tablica=file('zadania');
  21.  
  22. asort($tablica);
  23.  
  24. if($_POST['dodaj']=='Dodaj')
  25. {
  26. $temat= $_POST['temat'];
  27. $data= $_POST['data'];
  28.  
  29. file_put_contents('zadania',$data.';'.$temat.chr(10),FILE_APPEND);
  30. header('Location: <a href="http://dtworek.poxi.pl/&#39%3b%29;" target="_blank">http://dtworek.poxi.pl/');</a>
  31. }
  32. ?>
  33.  
  34. <table border="2" bgcolor="white" id="tblSort">
  35. <tr>
  36. <th>linia</th><th width="150" bgcolor="yellow" class="SSort">Data</th> <th width="500" bgcolor="lime">Zadanie</th><th width="100">Usuń</th>
  37. </tr>
  38. <?php
  39. if(isset($_GET['usun']))
  40. {
  41. $contents = file_get_contents('./zadania');
  42. $contents = str_replace($_GET['usun'], '', $contents);
  43. file_put_contents('./zadania', $contents);
  44. unset($klucz);
  45. }
  46. foreach($tablica as $klucz=>$linia)
  47. {
  48. $dane=explode(';',$linia);
  49. echo '<tr><td>'.$klucz.'</td><td>'.$dane[0].'</td><td>'.$dane[1].'</td><td>'.'<a href="/?usun='.$klucz.'"><button>usun</button></a>'.'</td></tr>';
  50.  
  51.  
  52.  
  53. }
  54.  
  55. ?>
  56.  
  57. </table>
  58.  
  59. </body>
  60. </html>
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.