Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP] [MYSQL] Przesłanie wartości do edycji w nowym oknie
staker
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.04.2011

Ostrzeżenie: (0%)
-----


Witam

Mam pewien problem z automatycznym pobraniem id z tabeli. Tabela jest pobierana z bazy i wyświetlana na stronie. Następnie chciałbym mieć możliwość edycji wybranego rekordu. Stworzyłem przycisk z linkiem do osobnego pliku formularza w którym odbywa się edycja. Sama edycja działa, niestety mam problem z przesłaniem wartości id bezpośrednio do samego formularza, tak by nie wpisywać go ponownie w polu. Wygląda to tak


fragment w formularzu [edit.php]
  1. <td style="width: 583px;">NR ID:&nbsp; <input name="id" value='$_POST[$row['id']]'></td>



fragment tabeli
  1. echo "<td class=tabval><b>".htmlspecialchars($row['id'])."</b></td>";
  2. echo "<td class=tabval>".htmlspecialchars($row['kodf'])."&nbsp;</td>";
  3. echo "<td class=tabval>".htmlspecialchars($row['nazwafir'])."&nbsp;</td>";
  4. echo "<td class=tabval>".htmlspecialchars($row['stanu'])."&nbsp;</td>";
  5. [.........]
  6.  
  7. // KOLOR STANU
  8.  
  9. if ($row['stanu']=="przekazano")
  10. {
  11. echo "<td class=tabval><span class=yellow>edytuj</span></a></td>";
  12. echo "<td class=tabval></td>";
  13. echo '<td class=tabval><form action="edit.php" method="post" target="_blank">
  14. <input type="submit" value="Edytuj">
  15. </form></td>';
  16. echo "</tr>";
  17. $i++;
  18. }
  19.  
  20. if ($row['stanu']=="usunieto")
  21. {
  22. echo "<td class=tabval><span class=green>stan OK</span></a></td>";
  23. echo "<td class=tabval></td>";
  24. echo "</tr>";
  25. $i++;
  26. }


Próbowałem już na wiele sposobów i albo mi wysyła jakieś śmieci, albo wywala błąd w linii

Ten post edytował staker 15.04.2011, 09:41:19
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
auto-all
post
Post #2





Grupa: Zarejestrowani
Postów: 49
Pomógł: 7
Dołączył: 2.04.2011
Skąd: Wawa

Ostrzeżenie: (0%)
-----


  1. <td style="width: 583px;">NR ID:  <input type="hidden" name="id" value='$_POST[$row['id']]'></td>
Albo inaczej zrozumiałem wymagania

Ten post edytował auto-all 15.04.2011, 10:27:01
Go to the top of the page
+Quote Post
matino
post
Post #3





Grupa: Zarejestrowani
Postów: 175
Pomógł: 30
Dołączył: 9.08.2007

Ostrzeżenie: (0%)
-----


1) Przede wszystkim atrybut <form> musi obejmować cały rząd tabeli
2) Dla każdego rzędu ustawiasz input hidden z id pobranym z bazy
  1. <table...>
  2. <tr>
  3. <form...>
  4. <td>....<input type="hidden" name="id" value="<?php echo $result['id'] ?>" />.....
  5. </form>
  6. </tr>
Go to the top of the page
+Quote Post
staker
post
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.04.2011

Ostrzeżenie: (0%)
-----


Chodzi o to, że muszę wysłać tylko jedną wartość ID (po kliknięciu na przycisk edytuj) w wierszu który chcę edytować, czyli

  1. if ($row['stanu']=="przekazano")
  2. {
  3. echo "<td class=tabval><span class=yellow>edytuj</span></a></td>";
  4. echo "<td class=tabval></td>";
  5. echo '<td class=tabval><form action="edit.php" method="post" target="_blank">
  6. <input type="submit" value="Edytuj">
  7. </form></td>';
  8. echo "</tr>";
  9. $i++;
  10. }


nie bardzo rozumiem jak to mam do tego podpiąć?

W samym jak to nazwałem formularzu (bardziej stronie edycji), chodzi tylko o to by wpisał mi wartość wybranego ID, by nie wpisywać tego ręcznie (po id odczytuje mi które pole w tabeli w bazie ma edytować)
Go to the top of the page
+Quote Post
kadlub
post
Post #5





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

Ostrzeżenie: (0%)
-----


  1.  
  2. <form action="edit.php?id=$jakieś twoje id"

może tak
Go to the top of the page
+Quote Post
staker
post
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.04.2011

Ostrzeżenie: (0%)
-----


a jak pobrać w samym oknie??

  1. <td style="width: 583px;">NR ID:&nbsp; <input name="id" value='$_POST['id']'></td>


Go to the top of the page
+Quote Post
kadlub
post
Post #7





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

Ostrzeżenie: (0%)
-----


w pliku edit.php robisz
echo $_GET['id'];
i ci sie wyświetla to id które przesłałeś w ten sposób
<form action="edit.php?id=$jakieś twoje id"
Go to the top of the page
+Quote Post
staker
post
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.04.2011

Ostrzeżenie: (0%)
-----


Undefined index id in edit.php :/
Go to the top of the page
+Quote Post
kadlub
post
Post #9





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

Ostrzeżenie: (0%)
-----


pokaż jak to robisz bo cos mi sie nie podoba
pokaż ten fragment tabeli z tym formularzem z którego chcesz wysłać te id
i ten fragment z piku edit.php gdzie chcesz go wstawić
Go to the top of the page
+Quote Post
staker
post
Post #10





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.04.2011

Ostrzeżenie: (0%)
-----


ID i wszystkie inne informacje czytam bezpośrednio z bazy... Więcej plików poszło na priv

Ten post edytował staker 15.04.2011, 13:10:39
Go to the top of the page
+Quote Post
matino
post
Post #11





Grupa: Zarejestrowani
Postów: 175
Pomógł: 30
Dołączył: 9.08.2007

Ostrzeżenie: (0%)
-----


A tak w ogóle to nie lepiej zamiast form i submit podać link do strony z edycją?
  1. <a href="<?php echo 'edit.php?id=' . $id ?>">Edytuj</a>

W pliku edit.php odczytujesz id przez
  1. $_GET['id']
Go to the top of the page
+Quote Post
staker
post
Post #12





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.04.2011

Ostrzeżenie: (0%)
-----


Już sobie poradziłem (IMG:style_emoticons/default/smile.gif)

  1. <td style="width: 583px;">NR ID:&nbsp; <? $c = $_POST['war'];
  2. echo "<input type=text name=id value=$c";


  1.  
  2. $war=$row['id'];
  3.  
  4. echo '<form action="edit.php?id=$war" method="post" target="_blank"><td class=tabval>
  5. <input type="hidden" name="war" value="'.$war.'">
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.09.2025 - 11:21