Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Php + Mysql] Podmiana rekordu w tabeli, J.w
kimu
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 25.06.2007

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


Edytuje jeden rekord "tekst" z tabeli, a dokładnie jeden element "treść" (tekst składa się z id, tytuł, tekst (treść), wyswietleń, kat). Sam wpis z tekstem dodawany jest tym skryptem:

  1. <?php
  2. $_POST['tresc'] = mysql_real_escape_string($_POST['tresc']);
  3. $sql = "INSERT INTO tekst VALUES(0, '".$_POST['tytul']."', '".$_POST['tresc']."', 0, '".$_GET['id']."');";
  4. $wykonaj = mysql_query($sql);
  5. $error = mysql_error($sql);
  6.  
  7. if($wykonaj){
  8. echo 'Dodano';
  9. } else {
  10. echo 'Coś poszło nie tak- nie udało się dodać';
  11. }
  12. ?>


Edycja samej treści natomiast w ten sposób:

  1. <?php
  2. $sql = 'SELECT * FROM `tekst` WHERE id = '.$_GET['id'].'';
  3. $wykonaj = mysql_query($sql);
  4.  
  5. while($wiersz = mysql_fetch_array($wykonaj)) {
  6. echo "<h5>".$wiersz['tytul']." </h5><br>
  7. <textarea name=\"tresc\" rows=30 cols=70 style=\"background-color: #C5CDCE;\">".$wiersz['tekst']."</textarea><br><br><br>";
  8. }
  9. ?>


Co teraz powinienem dodać w skypcie edytującym aby po kliknięciu "wyślij" rekordy się podmieniały (zachowójąc ten sam numer id, ilość wyświetleń itd.)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Fixus
post
Post #2





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


eh nie wiem za bardzo co ci doradzić bo tak to pogmatwałeś, że za bardzo nie kminie...ale jeśli dobrze to zrozumiałem to tekst który masz w <textarea></textarea> chcesz zedytować...
więc wystarczy ci UPDATE
Go to the top of the page
+Quote Post
kimu
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 25.06.2007

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


Mógłbyś mi pokazać dokładnie co mam zmienić ? Chodzi mi dokładnie o podmienienie tego co znajduje się w "textarea" z danym rekordem (tresc) w bazie danych.
Go to the top of the page
+Quote Post
Fixus
post
Post #4





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


no ładujesz starą wartość do <textarea>..użytkownik nadpisuje i wysyła formularz...w drugim pliku przechwytujesz to i robisz aktualiacje.
UWAGA! Proponuje ci dodać przed/po <textarea>:
Kod
$id = $_GET['id'];
echo "<input type='hidden' name='tresc_id' value = '$id' />";


no i teraz w pliku do którego leci formularz robisz:
Kod
$id = $_POST['tresc_id'];
$tekst = $_POST['tresc'];
$sql = "UPDATE tekst SET tekst = '$tekst' WHERE id = 'id'";
$result = mysql_query($sql);


ps. ale nasrałeś z tymi nazwami tabeli i rekordów i pól formularza...tekst, treść - prawie nie można połapać się co i jak, ale to powinno działać. Zwracaj na takie rzeczy uwagę bo to przydatne
Go to the top of the page
+Quote Post
kimu
post
Post #5





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 25.06.2007

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


Plik z polem do edycji (textarea) wygląda tak:

  1. <?php
  2.  
  3. $sqla = "SET CHARSET latin2";
  4. mysql_query($sqla);
  5.  
  6. $sql = 'SELECT * FROM `tekst` WHERE id = '.$_GET['id'].'';
  7. $wykonaj = mysql_query($sql);
  8.  
  9. $id = $_GET['id'];
  10.  
  11. while($wiersz = mysql_fetch_array($wykonaj)) {
  12. echo "<input type='hidden' name='tresc_id' value = '$id' />";
  13.  
  14. echo "<h5>".$wiersz['tytul']." </h5><br><form action=\"wpis3.php?id=".$_GET['id']."\" method=\"POST\">
  15. <textarea name=\"tresc\" rows=30 cols=70 style=\"background-color: #C5CDCE;\">".$wiersz['tekst']."</textarea><br><input type=\"submit\" value=\"Wyslij\"><br><br><br>";
  16.  
  17. }
  18. ?>


Plik do którego wysylany jest formularz (wpis3.php):

  1. <?php
  2. $id = $_POST['tresc_id'];
  3. $tekst = $_POST['tresc'];
  4. $sql = "UPDATE tekst SET tekst = '$tekst' WHERE id = 'id'";
  5. $result = mysql_query($sql);
  6. ?>


Niestety jednak nic w tekstach się nie zmienia. Co robie źle ? ;-)

Ten post edytował kimu 8.09.2007, 15:15:43
Go to the top of the page
+Quote Post
Fixus
post
Post #6





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


1. skoro używasz metody POST to po co przekazujesz id w linku?
2. sprawdź czy nie pomyliłeś się w nazwach tabel, pól itp bo są prawie identyczne
Go to the top of the page
+Quote Post
kimu
post
Post #7





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 25.06.2007

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


Słuchaj, czy mógłbyś napisać do mnie na gg: 4941754. Zaglądnąłbyś do mojej bazy danych bo ja wsumie tez cos nie moge sie połapać (plus to że jestem laikiem).
Go to the top of the page
+Quote Post
Fixus
post
Post #8





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


nie mam na to chwilowo czasu...
sprawdź takie rzeczy jak:
1. czy jak pobierasz wartość pola to wyświetla się
2. sprawdź czy w zapytaniu nie mylisz nazwy tabeli i pól.
3. daj
Kod
echo $sql;
- skopiuj to co ci zwraca i przepuść przez phpMyAdmin albo skorzystaj z funkcji mysql_error(), mysql_errno()
Go to the top of the page
+Quote Post
kimu
post
Post #9





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 25.06.2007

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


mysql_error():

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in /home/h/a/k/hakara/www/1/wpis3.php on line 93

Kiedy daje w pliku "wpis3.php" echo $tekst to tekst się wyświetla dobrze, już zmieniony.

Ten post edytował kimu 8.09.2007, 17:24:04
Go to the top of the page
+Quote Post
Fixus
post
Post #10





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


teraz weź skopiuj to co zwraca $sql ( echo $sql; ) i wrzuć przez phpMyAdmin....o ile się nie mylę podajesz złą nazwę pola
Go to the top of the page
+Quote Post
kimu
post
Post #11





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 25.06.2007

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


Coś się nie chce dodać, tzn. po wysłaniu wyświetla się brak strony. Jakbyś mógł napisać do mnie jak będziesz miał chwilkę czasu, byłym niezmiernie wdzięczny ;-)
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 Aktualny czas: 21.08.2025 - 18:29