Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] Edycja 2 dwoch plikach
piotrooo89
post 4.05.2008, 12:34:29
Post #1


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Czesc!
Chce zrobić sobie edycje danych w następujący sposób:

  1. <?php
  2. $sql=@mysql_query('SELECT * FROM nazwy');
  3.  
  4. echo '<table border="0" class="wyswietl">
  5. <tr>
  6. <td class="naglowek"><h4>Numer</h4></td>
  7. <td class="naglowek"><h4>Nazwa</h4></td>
  8. </tr>';
  9.  
  10. while($linia=mysql_fetch_array($sql))
  11. {
  12. echo '<tr onMouseover=this.bgColor="#00FFFF" onMouseout=this.bgColor="#FFFACD">
  13. <td class="reszta">' . $linia['nr'] . '</td>
  14. <td class="reszta">' . $linia['nazwa'] . '</td>
  15. <td class="reszta"><a href="' . $_SERVER['PHP_SELF'] . '?usunnazwe=' .$linia['id']. '">USUŃ</a></td>
  16. <td class="reszta"><a href="edytuj/edytuj_nazwe.php?edytujnazwe=' .$linia['id']. '">EDYTUJ!</a></td>
  17. </tr>';
  18. }
  19. echo '</table>';
  20. ?>

to jest pierwszy plik i tu ładnie mi przekazuje za pomocą $_GET ?edytujnazwe=' .$linia['id']. '

problem pojawia sie dopiero w drugim pliku
  1. <?php
  2. include('mysql.inc');
  3. $id=$_GET['edytujnazwe'];
  4.  if ( (isset($_POST['nazwa'])) or (isset($_POST['nr'])) )
  5.  {
  6.  $nazwa=$_POST['nazwa'];
  7.  $nr=$_POST['nr'];
  8.  
  9.  
  10.  $query = "UPDATE zbory SET nazwa='$nazwa', nr='$nr' WHERE id='$id'";
  11.  mysql_query($query);
  12.  }
  13. ?>


i nie moge tego zedytować siedze nad tym troche i nie bardzo rozumiem o co chodzi :/ być może jakiś prosty błąd


--------------------
Go to the top of the page
+Quote Post
erix
post 4.05.2008, 12:47:29
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Skąd mają się w skrypcie wziąć dane w $_POST, jak nie masz tam żadnego formularza? tongue.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
piotrooo89
post 4.05.2008, 12:53:24
Post #3


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Mam formularz wyżej nie wklejałem bo wydawał mi sie niepotrzebny.

  1. <form name="edytujnazwe" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  2. <table border="0">
  3. <tr>
  4. <td class="naglowek">Wpisz nową nazwe: </td>
  5. <td class="reszta"><input type="text" name="nazwa" /></td>
  6. </tr>
  7. <tr>
  8. <td class="naglowek">Wpisz nowy numer: </td>
  9. <td class="reszta"><input type="text" name="nr" /></td>
  10. </tr>
  11. <tr>
  12. <td><input type="submit" value="EDYTUJ!" /></td>
  13. </tr>
  14. </table>
  15. </form>


a tu jest reszta:
  1. <?php
  2. include('mysql.inc');
  3. $id=$_GET['edytujnazwe'];
  4.  if ( (isset($_POST['nazwa'])) or (isset($_POST['nr'])) )
  5.  {
  6.  $nazwa=$_POST['nazwa'];
  7.  $nr=$_POST['nr'];
  8.  
  9.  
  10.  $query = "UPDATE nazwy SET nazwa='$nazwa', nr='$nr' WHERE id='$id'";
  11.  mysql_query($query);
  12.  }
  13. ?>


ale problem jest tylko w przekazaniu tego za pomocą $_GET bo on mi potrzebny do klauzuli where. i nie wiem jak sie do tego zabrać.


//
Edit
Wie ktoś o co kaman?

Ten post edytował piotrooo89 4.05.2008, 15:23:27


--------------------
Go to the top of the page
+Quote Post
Czaroo
post 4.05.2008, 17:14:48
Post #4





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 1.05.2005

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


skoro
  1. <form name="edytujnazwe" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">


a chcesz

  1. <?php
  2. $id=$_GET['edytujnazwe'];
  3. ?>


to może formularz byłoby dobrze też mieć w get?


////albo całość pozmieniaj na post bo tak to część w tym, a część w tym...no chyba, że coś źle patrze
////// do tego skoro tylko <form name="edytujnazwe", a żaden input tego nie ma, to skąd będzie to $_GET['edytujnazwe']? ręcznie wpisujesz czy jak?

Ten post edytował Czaroo 4.05.2008, 17:27:59
Go to the top of the page
+Quote Post
piotrooo89
post 4.05.2008, 21:07:21
Post #5


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Patrz uważnie

  1. <?php
  2. <td class="reszta"><a href="edytuj/edytuj_nazwe.php?edytujnazwe=' .$linia['id']. '">EDYTUJ!</a></td>
  3. ?>


W pierwszym moim poście to jest i ja przesyłam to z innego pliku i chce żeby w pliku do edycji było napisane id tego rekordu który chce edytować. Być może sproboję to na $_GET pozamieniać może poskutkuje.


--------------------
Go to the top of the page
+Quote Post
Pride
post 4.05.2008, 21:44:39
Post #6





Grupa: Zarejestrowani
Postów: 139
Pomógł: 11
Dołączył: 31.01.2005
Skąd: Bydgoszcz

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


Nie wiem czy dobrze cie zrozumiałem bo masz kawałki kodu w każdym poscie ale....
Chcesz po prost zrobić tak aby przy edycji edytował rekord o ID z poprzedniej listy? Hmm ja osobiście używam do tego
  1. <?php
  2. <input type="hidden" name="id" value="' .$linia['id']. '" />
  3. ?>
I w tedy przy bazie zamast tego $id (skad ci się to bierze 0.o) ustaw $_POST['id'] i po problemie.
Swoją drogą...
  1. <?php
  2. $nazwa=$_POST['nazwa'];
  3. $nr=$_POST['nr'];
  4. ?>

Po co?

Ten post edytował Pride 4.05.2008, 21:45:38


--------------------
Kto pyta - nie błądzi, kto szuka - znajduje.
Go to the top of the page
+Quote Post
kociupk
post 4.05.2008, 21:53:34
Post #7





Grupa: Zarejestrowani
Postów: 97
Pomógł: 1
Dołączył: 29.03.2006

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


zamien ten kawalek kodu
$query = "UPDATE nazwy SET nazwa='$nazwa', nr='$nr' WHERE id='$id'";
na ten i powinno dzialac
  1. <?php
  2. $query = "UPDATE nazwy SET nazwa='".$nazwa."', nr='".$nr."' WHERE id='".$id."'";
  3. ?>
Go to the top of the page
+Quote Post
piotrooo89
post 5.05.2008, 08:02:57
Post #8


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




No wiec już wszystko odpaliłem Pride dzięki za wszkazówke zrobiłem to tak:

linijka która wysyła

  1. <?php
  2. <a href="edytuj/edytuj_nazwe.php?edytujnazwe=' .$linia['id']. '">EDYTUJ</a>
  3. ?>


a teraz pole w którym przechowywane jest id:

  1. <input type="hidden" name="id" value="<?php echo $_GET['edytujnazwe']; ?>" />


Dzięki Rkingsmiley.png


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

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:40