Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> [MySQL][PHP]Edycja rekordu w bazie danych
berti28
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 4.02.2014

Ostrzeżenie: (20%)
X----


Witam wszystkich

Mam taki problem mam bazę danych a w niej rekord o nazwie "wymarzony" zawartość tego rekordu pojawia się na stronie www, użytkownik ma swój panel administracyjny.
Chciałbym aby była możliwość żeby użytkownik w tym formularzu na swoim panelu administracyjnym:
  1. <form action="zmien.php" method="post">
  2. <dt>Opisz swój dom marzeń:</dt>
  3. <dt><textarea cols="30" rows="8" name="wymarzony"></textarea></dt>
  4. <input type="submit" value="zmień" />

Mógł zmienić zawartość rekordu wymarzony a zmiana pojawiłaby się na stronie www. Możecie mnie poinstruować? Szukałem w necie informacji ale nic nie znalazłem.
Z góry dziękuje za pomoc.
pozdrawiam
Powód edycji: [Kshyhoo]: bb-code
Go to the top of the page
+Quote Post
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


A z czym jest konkretnie problem? Skoro pobierasz dane to tak samo tylko inne zapytanie.
Go to the top of the page
+Quote Post
Niree
post
Post #3





Grupa: Zarejestrowani
Postów: 220
Pomógł: 18
Dołączył: 5.02.2016
Skąd: Polska

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


Tak jak powiedział @viking.

Skoro pobierasz konkretny rekord i wyświetlasz go na stronie, to potem w tym zmień.php dajesz mysql UDPATE ... WHERE id = '$wczesniejpobranazmienna['id']'
Go to the top of the page
+Quote Post
berti28
post
Post #4





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 4.02.2014

Ostrzeżenie: (20%)
X----


Ze strony gra.php wypełniony jest formularz i wysyłany do pliku zmien.php

W pliku zmien.php pisze taki skrypt:
  1. <?php
  2. // łączymy się z bazą danych
  3. $connection = @mysql_connect('localhost', 'root', '')
  4. or die('Brak połączenia z serwerem MySQL');
  5. $db = @mysql_select_db('test', $connection)
  6. or die('Nie mogę połączyć się z bazą danych');
  7. $wymarzony = $_Post['wymarzony'];
  8. $query="update mieszkanko set WHERE id='$wymarzony['id']";
  9.  
  10. ?>

No i niestety błąd się pojawia. Jak to być mogło ładniej zrobione? Żeby użytkownik w pliku gra mógł zmienić dane?
Powód edycji: [Kshyhoo]: bb-code
Go to the top of the page
+Quote Post
kapslokk
post
Post #5





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


  1. $wymarzony = $_Post['wymarzony'];
  2. $query="update mieszkanko set WHERE id='$wymarzony['id']";

$_POST raczej, a nie $_Post. Wielkosc liter ma znaczenie.

Sprawdz sobie skladnie update... Po SET musisz wypisac jakie pola chcesz zaktualizowac i jakie wartosci im przypisac.
Poza tym w $wymarzony masz string ktory wpiszesz w <dt><textarea cols="30" rows="8" name="wymarzony"></textarea></dt> a nie tablice, wiec czemu chcesz sie odwolywac do ['id'] ?

Ten post edytował kapslokk 22.12.2016, 10:10:16
Go to the top of the page
+Quote Post
berti28
post
Post #6





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 4.02.2014

Ostrzeżenie: (20%)
X----


Powiem jeszcze raz o tym temacie "Chce żeby w bazie danych zmieniono wpis w rekordzie "wymarzony" jest tam napisany opis domu, chce żeby użytkownik za pomocą tego formularza w pliku gra.php:
  1. <form action="zmien.php" method="post">
  2. <dt>Opisz swój dom marzeń:</dt>
  3. <dt><textarea cols="30" rows="8" name="wymarzony"></textarea></dt>
  4. <input type="submit" value="zmien" />
  5.  
  6. Zmienić opis w bazie w pliku zmien.php jest taki skrypt:
  7. <?php
  8. // łączymy się z bazą danych
  9. $connection = @mysql_connect('localhost', 'root', '')
  10. or die('Brak połączenia z serwerem MySQL');
  11. $db = @mysql_select_db('test', $connection)
  12. or die('Nie mogę połączyć się z bazą danych');
  13. $wymarzony = $_post['wymarzony'];
  14. $query="update mieszkanko set WHERE id='$wymarzony'['id']";
  15.  
  16. ?>

Jak zrobić żeby zmieniono wpis i wyświetlił się komunikat np. zmieniono wpis. Powiem szczerze raczkuje w tym temacie, będę bardzo a to bardzo wdzięczny za pomoc.
Powód edycji: [Kshyhoo]: bb-code
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




To ze jestes poczatkujacy w temacie nie zwalnia cie w zaden sposob od czytania co inni pisza
kapslokk podal ci co robisz zle a ty poraz kolejny wklejasz kod ktory nie uwzglednia jego uwag.

ps: I zacznij w koncu uzywac BBCODE
Go to the top of the page
+Quote Post
Niree
post
Post #8





Grupa: Zarejestrowani
Postów: 220
Pomógł: 18
Dołączył: 5.02.2016
Skąd: Polska

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


Podaj przykładowy rekord, który masz w bazie.
Go to the top of the page
+Quote Post
arturpiotrowski
post
Post #9





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 6.12.2016

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


W twoim zapytaniu $query nie przypisałeś co chcesz aktualizować... znaczy jakie pola...
poza tym

w twoim kodzie do zmiennej $wymarzony próbujesz przypisać tylko wartość z pola textarea formularza
jak rozumiem id updejtowanego rekordu bierzesz z paska adresu poprzez $_GET['id'] ?
Kod
...

$id = $_GET['id'];
$wymarzony = $_POST['wymarzony'];
$query="update mieszkanko set pole_w_tabeli=$wymarzony WHERE id=$id"

'pole_w_tabeli' zmień na nazwę swojego pola w tabeli, to jest to pole które ma zmieniać wartość na tą z formularza

Ten post edytował arturpiotrowski 22.12.2016, 23:07:54
Go to the top of the page
+Quote Post
berti28
post
Post #10





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 4.02.2014

Ostrzeżenie: (20%)
X----


Prawie opanowałem mianowicie jak mam taki kod:
$wymarzony=$_POST['wymarzony'];
$artur = 'UPDATE mieszkanko SET wymarzony="'.$wymarzony.'"';

$ok = mysql_query($artur);
if ($ok == true) {
echo"Dane zmienione";
}
?>

To zmienia mi wpis w polu "wymarzony" u wszystkich użytkowników bazy danych ale ja chce tylko tak że użytkownik na swoim profilu może zmienić swoje pole za pomocą formularza i tylko jego wpis na jego polu będzie się wyświetlał a nie u wszystkich użytkowników.
Jak to zrobić?
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #11





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Wątek zamykam do czasu, aż Waść nauczy się używania bb-code, czego nie czyni mimo ciągłego upominania...

PS. poproszę PW.
Go to the top of the page
+Quote Post

Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.09.2025 - 16:52