Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Update
conix
post 19.03.2008, 22:25:42
Post #1





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 8.02.2008

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


Witam,
mam problem, jak zwykle. Chce aby dana tabela ktora zawiera:
ID, newsy, data itd.
aktualizowała dwie pozycje, które sie nie uzupelniaja przy uzupelnianiu id, newsy, data itd.

No i mam, formularz:
  1. <form action=\"dodano.php\" method=\"post\">
  2. <br /><br />Nick: <input type=\"text\" name=\"nick\" /><br>
  3. Treść:<textarea name=\"tresc_k\" rows=\"5\" cols=\"50\"></textarea><p><P><center>
  4.  
  5. <br /><br /><input type=\"submit\" value=\"Dodaj\" /></form>

oraz dodano.php
  1. <?php
  2. $id=$_GET['id'];
  3. $nick = $_POST['nick'];
  4. $tresc_k = $_POST['tresc_k'];
  5. $edytuj = "UPDATE newsy SET nick = '$nick', tresc_k = '$tresc_k' WHERE id='$id'";
  6. mysql_query($edytuj) or die(mysql_error());
  7. echo'dodano';
  8. ?>

Problem w tym ze dane nie dopisuja sie


--------------------
Jeśli pomogłem kliknij na Pomógł
Jeśli nie pomogłem kliknij na Pomógł
Go to the top of the page
+Quote Post
kossa
post 19.03.2008, 22:34:47
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


W formularzu nie masz nigdzie ID - nie przekazujesz jej do zapytania sql.

Łukasz


--------------------
Go to the top of the page
+Quote Post
szpakoo
post 19.03.2008, 22:36:01
Post #3





Grupa: Zarejestrowani
Postów: 122
Pomógł: 16
Dołączył: 19.04.2007

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


coś mi sie wydaje że chyba jak wykonuje formularz w pliku dodano.php to brakuje w nim id do którego się odwołujesz w
  1. <?php
  2. $id=$_GET['id'];
  3. ?>

no wiec skoro nie ma takiej zmiennej $id to zapytanie sie nie wykonuje smile.gif
Tam gdzie masz:
  1. <form action=\"dodano.php\" method=\"post\">

popraw na np:
  1. <form action=\"dodano.php?id=4\" method=\"post\">


--------------------
Go to the top of the page
+Quote Post
conix
post 19.03.2008, 22:40:48
Post #4





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 8.02.2008

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


Dobra. Zle. Zle to robiłem. Teraz inaczej smile.gif
Jak zrobic cos takiego ze jak jestem na stronie cos.php?id=2
to zeby do bazy wbilo te 2
Mam:
  1. <?php
  2. $edytuj = "Insert into newsy_k values('$nick', '$tresc_k', '$id')";
  3. ?>

Ale co zrobic zeby $id miala wartosc 2?
Wystarczy pobrac przez $GET?

Ok, mam cos takiego:
  1. <?php
  2. $edytuj = "Insert into newsy_k values( '$nr', '$nick', '$tresc_k')";
  3. ?>

Ale niewiem co zrobic zeby zamiast $nr byla 2 ze strony
cos.php?id=2


--------------------
Jeśli pomogłem kliknij na Pomógł
Jeśli nie pomogłem kliknij na Pomógł
Go to the top of the page
+Quote Post
szpakoo
post 19.03.2008, 22:46:56
Post #5





Grupa: Zarejestrowani
Postów: 122
Pomógł: 16
Dołączył: 19.04.2007

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


zapewne pole id w bazie masz jako auto_increment a to oznacza że nie masz szansy na wstawienie tam wartości jakiej chcesz tylko mysql sam sobie wstawi w tej kolumnie wartość o 1 większą od największej w tym polu. tzn możesz wstawić wartość jaką chcesz tylko że ta wartość którą chcesz wstawić musi być większa od największej już istniejacej smile.gif


--------------------
Go to the top of the page
+Quote Post
conix
post 20.03.2008, 09:46:28
Post #6





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 8.02.2008

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


W bazie mam dwie tabele, jesdna to newsy a druga news_k
W tabeli newsy mam id z auto_increment ale w newsy_k zamiast id mam: nr bez auto_increment
No i chce zeby po kliknieciu na czytaj.php?id=x ( id bierze z newsy) twieralo mi danego newsa. Ok to mam. Ale mam problem z tym ze jak chce dodac komentarz, to zeby on sie przypisal do id tego newsa.

Niewiem jak to dokladniej tylumaczyc, moze ktos wymieni w pkt. jak powinien wygladac system komentarzy do newsow. Byc moze robie zle.
pozdro


--------------------
Jeśli pomogłem kliknij na Pomógł
Jeśli nie pomogłem kliknij na Pomógł
Go to the top of the page
+Quote Post
Cysiaczek
post 20.03.2008, 09:53:53
Post #7





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Wystarczy odrobine się zastanowić.

1. Każdy news ma swój unikalny identyfikator
2. Każdy komentarz należy do jednego newsa

Jak najłatwiej je powiązać? Poprzez identyfikator newsa. Takie właśnie pole powinna zawierać tabela "komentarze" (news_id). To po takim polu rozpoznajesz przynależność.
Jak wymusić, aby komentarz się dodał z odpowiednim identyfikatorem newsa? Przekaż ten identyfikator w ukrytym polu formularza.

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
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: 13.08.2025 - 23:06