Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Update
Forum PHP.pl > Forum > Przedszkole
conix
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
kossa
W formularzu nie masz nigdzie ID - nie przekazujesz jej do zapytania sql.

Łukasz
szpakoo
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\">
conix
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
szpakoo
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
conix
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
Cysiaczek
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 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.