Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Updatowanie rekordów
Forum PHP.pl > Forum > Przedszkole
CryWolf
Witam!
Zakładam sobie taką stronkę dla testów i mam problem. Dodałem w PHPMYADMIN tabelę "portal" oraz kolumnę news typu LongText(500). Także wpisałem Insert into portal values ('news'); Potem na stronie skorzystałem z polecenia SELECT i rekord się wyświetla. Chodzi mi o to, że stworzyłem formularz, że to co wpisze to zaaktualizuję się jako ten rekord i, że news na stronie będzie inny.

  1. <?php
  2.  
  3.  
  4.  
  5. if ($_GET[tekst] == TRUE) {
  6.  
  7.  
  8. XXXXXXXXXXXXXXXXXXXXX
  9.  
  10.  
  11. }
  12.  
  13. else { echo "
  14.  
  15. <FORM ACTION="controlpanel.php" METHOD="get">
  16.  
  17. Wpisz coś: <INPUT TYPE="text" NAME="tekst"><br />
  18.  
  19. <INPUT TYPE="submit" VALUE="Uaktualnij">
  20.  
  21. </FORM>";
  22.  
  23. }
  24.  
  25.  
  26.  
  27. ?>



Co powinno być tu gdzie są te X?
Wydaje mi się, że update ale nie wiem jak to napisać albo czy wogóle kod jest poprawny?
Z góry dzięki
andy84
to jest do przerobienia oczywiscie ale ja kozystam z tego :: do updatowania rekordow

  1. <?php
  2. $id=$_GET['id'];
  3. include("config.inc.php");
  4. mysql_connect($host,$user,$password);
  5. @mysql_select_db($database) or die ("Unable to select database");
  6. $query="SELECT * FROM home WHERE id='$id'";
  7. $result=mysql_query($query);
  8. $num=mysql_num_rows($result);
  9. $i=0;
  10. while ($i < $num) {
  11. $content = mysql_result($result,$i,"content");
  12. ?>
  13. <form action="update.php" method="post">
  14. <input type="hidden" name="up_id" value="<? echo "$id"; ?>" />
  15. <textarea name="up_content" cols="70" rows="30"><? echo "$content"?></textarea>
  16. <input name="Update" type="submit" class="style1" id="Submit" />
  17. </form>
  18. <?
  19. $i++;
  20. }
  21. ?>


a tu plik update do tego:
  1. <?php
  2. $up_id = $_POST['up_id'];
  3. $up_content = $_POST['up_content'];
  4. include ("config.inc.php");
  5. $linka = mysql_connect($host,$user,$password);
  6. @mysql_select_db($database, $linka) or die( "Unable to select database");
  7. $query = "UPDATE home SET content='$up_content' WHERE id='$up_id'";
  8. mysql_query($query);
  9. echo "Data updated succesfuly !";
  10. ?>


oczywiscie mozna to dowolnie pozmieniac smile.gif
CryWolf
Hmm, a można tak jakoś prościej bo jestem nowicjuszem w tych sprawach. Najlepiej, żeby pasowało jakoś to do mojego kodu. Ten co podałeś jest dla mnie trochę za trudny. Aha i czy nie dałoby rady dla ułatwienia zrobić tego w jednym pliku, żeby tylko tu zmienić kod?
JaRoPHP
Nie pokazałeś struktury tabeli, więc trudno jest napisać poprawny UPDATE (UPDATE bez warunku WHERE zamieni wszystkie rekordy). Również w podanym przez Ciebie ~CryWolf kodzie nie widzę, aby w formularzu był gdziekolwiek identyfikator rekordu.

Kod mógłby wyglądać tak (na pewno wymaga przeróbek!):
  1. <?php
  2. if (!empty($_GET[tekst])) {
  3. // zakładam, że jest już nawiązane połączenie z bazą danych, oraz wybrana baza
  4. $query = "UPDATE portal SET news = " . $_GET[tekst]; // powinien być jeszcze warunek WHERE
  5. mysql_query($query);
  6. }
  7. ?>

Więcej o instrukcji UPDATE: UPDATE Syntax.
CryWolf
Połączenie z bazą jest już wcześniej nawiązane.
Baza danych: muonline-mysql
Tabela: portal
Kolumny: news,numer
W polu news jest wartość newsik
W polu numer jest wartość 1

Nie wiem czy o to Ci z tą bazą chodzi. Tak w ogóle to chodzi mi o to tongue.gif , żeby z pozycji strony zmienić Newsa z poprzedniego na nowy stosując UPDATE. Tylko to jest w bazie. Do tego co pisałeś to jaki warunek w takim wypadku zostosować? Jak ma wyglądać poprawny kod? Jakby co oba rekordy na stronie wyświetlają się.
Z góry dziekuję

Przepraszam za post pod postem ale bardzo mi zależy na odpowiedzi.
mrjozo
  1. <?php
  2.  
  3.  
  4.  
  5. if (!empty($_POST['tekst'])) {
  6.  
  7. $query = "UPDATE portal SET news = " . $_POST['tekst'] . " WHERE numer = ". $_POST['numer']; 
  8. mysql_query($query);
  9.  
  10. echo "zaktualizowano";
  11.  
  12. }
  13.  
  14. else { echo "
  15.  
  16. <form action="controlpanel.php" method="post">
  17.  
  18. Wpisz coś: <input type="text" name="tekst"><br />
  19.  
  20. <input type="submit" name="aktualizacja" value="Uaktualnij">
  21.  
  22. <input type="hidden" name="numer" value="1">
  23.  
  24. </form>";
  25.  
  26. }
  27.  
  28.  
  29.  
  30. ?>


tam gdzie jest input hidden podajes numerek do newsa ktory chcesz zmienic
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.