Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]Nie działa edycja rekordów
patryk9200
post 10.02.2009, 17:58:18
Post #1





Grupa: Zarejestrowani
Postów: 319
Pomógł: 4
Dołączył: 7.02.2009
Skąd: pless

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


////usunięto/////

Ten post edytował patryk9200 3.03.2009, 17:53:10
Powód edycji: poprawiłem bbCode (ociu)
Go to the top of the page
+Quote Post
pEbE
post 10.02.2009, 18:05:16
Post #2





Grupa: Zarejestrowani
Postów: 106
Pomógł: 3
Dołączył: 21.03.2006
Skąd: Sosnowiec

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


Raz argument "co" jest przekazywany przez GET, raz przez POST...
Go to the top of the page
+Quote Post
drzalek
post 10.02.2009, 18:25:12
Post #3





Grupa: Zarejestrowani
Postów: 170
Pomógł: 18
Dołączył: 6.03.2007

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


  1. <?php
  2. $query = "UPDATE index_banery SET kod='".$_POST['kod']."', link='".$_POST['link']."', numer='".$_POST['numer']."'";
  3.       $query.= " kod='".$_POST['kod']."', link='".$_POST['link']."', numer='" .$_POST['numer']. "' WHERE id='". $_POST['id']."';";
  4. ?>


chyba trochę tego za dużo smile.gif
Go to the top of the page
+Quote Post
drzalek
post 10.02.2009, 18:33:26
Post #4





Grupa: Zarejestrowani
Postów: 170
Pomógł: 18
Dołączył: 6.03.2007

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


Nie wiem, może ja jestem już zmęczony, ale dla mnie takie zapytanie do bazy wygląda co najmniej dziwnie:
  1. <?php
  2. $query = "UPDATE index_banery SET kod='".$_POST['kod']."', link='".$_POST['link']."', ustawieniawl='".$_POST['ustawieniawl']."'";
  3.       $query.= " kod='".$_POST['kod']."', link='".$_POST['link']."', ustawieniawl='" .$_POST['ustawieniawl']. "' WHERE id='". $_GET['id']."';";
  4. ?>


ja bym to zrobił tak
  1. <?php
  2. $query="UPDATE index_banery SET kod='".$_POST['kod']."', link='".$_POST['link']."', ustawieniawl='".$_POST['ustawieniawl']."' WHERE id='". $_GET['id']."'";
  3. ?>
Go to the top of the page
+Quote Post
pEbE
post 10.02.2009, 18:38:00
Post #5





Grupa: Zarejestrowani
Postów: 106
Pomógł: 3
Dołączył: 21.03.2006
Skąd: Sosnowiec

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


  1. <?php
  2. if ($_GET['co'] == 'dodaj') {
  3.   if ($_POST['kod'] && $_POST['ustawieniawl'] && $_POST['link']) {
  4.       $query = "INSERT INTO index_banery SET kod='$_POST[kod]', ustawieniawl='$_POST[ustawieniawl]', link='$_POST[link]'";
  5.       mysql_query ($query);
  6.   }
  7. } elseif ($_GET['co'] == 'popraw') {
  8.   if ($_POST['kod'] && $_POST['link'] && $_POST['numer']) {
  9.       $query = "UPDATE index_banery SET kod='$_POST[kod]', link='$_POST[link]', numer='$_POST[numer]' WHERE id='$_POST[id]'";
  10.       mysql_query ($query);
  11.    }
  12. }
  13. elseif ($_GET['co']=='edytuj') {
  14.   $query = "SELECT * FROM index_banery WHERE id='$_GET[id]'";
  15.   $wynik = mysql_query ($query);
  16.   $rekord = mysql_fetch_assoc ($wynik);
  17.   print_r( $rekord );
  18. }
  19. elseif ($_GET['co']=='skasuj') {
  20.   mysql_query("DELETE FROM index_banery WHERE id='$_GET[id]'");
  21. ?>


1. Przyjrzyj się i sprawdz czy na pewno wszystkie dane z formularza sa odpowiednio przesyłane
2. Co Ci dokladnie nie dziala? Na moj rozum poprawilem w usuwaniu nr='$_GET[id]' na id='$_GET[id]' (jak to jest wart. int to mozesz bez cudzysłowu)
3. Poczytaj troszkę o mysql_real_escape_string albo chociaz addslashes
Go to the top of the page
+Quote Post
matixrr
post 10.02.2009, 21:58:52
Post #6





Grupa: Zarejestrowani
Postów: 207
Pomógł: 44
Dołączył: 14.04.2007

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


Przeciez rekordy sa przetrzymywane w tabeli a kazda tabela ma inna strukture wiec nie wiem jak sobie wyobrazasz taki spkrypt 'uniwersalny' :|

Daj moze screena tabeli to ulatwi prace...


--------------------
Pomogłem? Zmotywuj mnie do dalszej pracy i kliknij magiczny przycisk:

Go to the top of the page
+Quote Post
patryk9200
post 10.02.2009, 22:16:06
Post #7





Grupa: Zarejestrowani
Postów: 319
Pomógł: 4
Dołączył: 7.02.2009
Skąd: pless

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


a więc tak:
tabela nazywa się index_banery
Go to the top of the page
+Quote Post
matixrr
post 10.02.2009, 23:01:41
Post #8





Grupa: Zarejestrowani
Postów: 207
Pomógł: 44
Dołączył: 14.04.2007

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


Nie wiem czy o to chodzi no ale co szkodzi sprobowac:
  1. <?php
  2. $query="SELECT * FROM index_banery WHERE id='{$_GET['id']}'";
  3. $result= mysql_query($query);
  4. $row = mysql_fetch_array($result, MYSQL_ASSOC);
  5. echo '<form action="banery_admin.php" method="post">
  6. <table align="center" border="0">
  7. <tr>
  8. <td align="right">Id:</td>
  9. <td><input type="text" name="id" value="'.$row['id'].'" size="30" disabled>
  10. </td>
  11. </tr>
  12. <tr>
  13. <td align="right">numer:</td>
  14. <td><input type="text" name="numer" value="'.$row['numer'].'" size="30">
  15. </td>
  16. </tr>
  17. <tr>
  18. <td align="right">kod:</td>
  19. <td><input type="text" name="kod" value="'.$row['kod'].'" size="30">
  20. </td>
  21. </tr>
  22. <tr>
  23. <td><input type="submit" name="submit" value="Zmien">
  24. <input type="reset" name="Reset" value="Wyczyść">
  25. </td></tr>
  26. </table>
  27. </form>';
  28. if(isset($_POST['submit']))
  29. {
  30. $id = $_POST['id'];
  31. $numer = $_POST['numer'];
  32. $kod = $_POST['kod'];
  33. $query = "UPDATE index_banery SET numer='$numer', kod='$kod' WHERE id='$id'";
  34. $result=mysql_query($query);
  35. }
  36. ?>

To tylko fragment kodu i aby zadzialal musisz przekazac id smile.gif

Ten post edytował matixrr 10.02.2009, 23:02:27


--------------------
Pomogłem? Zmotywuj mnie do dalszej pracy i kliknij magiczny przycisk:

Go to the top of the page
+Quote Post
patryk9200
post 10.02.2009, 23:22:32
Post #9





Grupa: Zarejestrowani
Postów: 319
Pomógł: 4
Dołączył: 7.02.2009
Skąd: pless

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


wszystko ładnie cacy... tylko nie wiem dlaczego ale skrypt nie aktualizuje danych, a pobiera je poprawnie....
Go to the top of the page
+Quote Post
drzalek
post 10.02.2009, 23:33:47
Post #10





Grupa: Zarejestrowani
Postów: 170
Pomógł: 18
Dołączył: 6.03.2007

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


Spróbuj jeszcze wymienić fragment kodu:
  1. <?php
  2. $query = "UPDATE index_banery SET numer='$numer', kod='$kod' WHERE id='$id'";
  3. ?>


na:

  1. <?php
  2. $query = "UPDATE index_banery SET numer='".$numer."', kod='".$kod."' WHERE id='".$id."'";
  3. ?>


Lub jeszcze ewentualnie sprawdź czy użytkownik bazy ma ustawione uprawnienia do UPDATE
Go to the top of the page
+Quote Post
Caus
post 11.02.2009, 01:00:39
Post #11





Grupa: Zarejestrowani
Postów: 23
Pomógł: 3
Dołączył: 5.02.2009

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


  1. <?
  2. $id = $_POST['id'];
  3. $ustawieniawl = $_POST['ustawieniawl'];
  4. $kod = $_POST['kod'];
  5. $query = "UPDATE index_banery SET ustawieniawl='$ustawieniawl', kod='$kod' WHERE id=$id";
  6. $result=mysql_query($query) or die("Tu jest błąd".mysql_error());
  7. ?>


Jeżeli tylko to nie dziala powinno zadziałać - a jak nie działa w tym momencie to wywali errora biggrin.gif

Ave
Go to the top of the page
+Quote Post
drzalek
post 11.02.2009, 01:12:29
Post #12





Grupa: Zarejestrowani
Postów: 170
Pomógł: 18
Dołączył: 6.03.2007

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


Powinieneś móc to zobaczyć tam gdzie tworzysz użytkownika bazy danych
Go to the top of the page
+Quote Post
patryk9200
post 11.02.2009, 16:58:57
Post #13





Grupa: Zarejestrowani
Postów: 319
Pomógł: 4
Dołączył: 7.02.2009
Skąd: pless

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


Tu jest błądUnknown column '$id' in 'where clause'

wyskoczył mi taki bład... o co chodzi?
Go to the top of the page
+Quote Post
Caus
post 11.02.2009, 17:20:28
Post #14





Grupa: Zarejestrowani
Postów: 23
Pomógł: 3
Dołączył: 5.02.2009

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


  1. <?
  2. $id = $_POST['id'];
  3. $id = (int)$id;
  4. $ustawieniawl = $_POST['ustawieniawl'];
  5. $kod = $_POST['kod'];
  6. $query = "UPDATE index_banery SET ustawieniawl='$ustawieniawl', kod='$kod' WHERE id='$id'";
  7. $result=mysql_query($query) or die("Tu jest błąd".mysql_error());
  8. ?>


Szukaj błędów z tym smile.gif

Ave

Ten post edytował Caus 11.02.2009, 17:20:46
Go to the top of the page
+Quote Post
Caus
post 12.02.2009, 00:19:39
Post #15





Grupa: Zarejestrowani
Postów: 23
Pomógł: 3
Dołączył: 5.02.2009

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


staraj sie uzywac zmiennych varchar, zamiast text - ale to tylko moja mala rada smile.gif

Ave
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: 8.06.2024 - 04:12