Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Edycja Insert Into
Forum PHP.pl > Forum > Przedszkole
prostowniczek
INSERT INTO config(home) VALUES ('Witamy na stronie');

Mam problem z napisaniem skryptu który edytuje mi ''Witamy na stronie'' na taki jaki chce. Nie chce tego robic przez sql, gdyż tworze panel administratora, tylko tego mi brakuje.
El Nino9
  1. $update = mysql_query("UPDATE tabela SET kolumna='$nazwa'")
  2. or die ("blad");

chodzi Ci o cos takiego?
INSERT INTO nie sluzy do edytowania rekordow, tylko do ich dodawania
prostowniczek
Tak wiem, ale jak już dodałem wpis to chciałbym go edytować przez php, np przez plik admin.php. Mam już połączenie z bazą, brakuje mi tylko formularza ze skryptem.
Korab
Może zapisz go sobie w pliku napis.txt i dołączaj przez include()?
prostowniczek
@up

zal mi tego pana
El Nino9
Edytujesz przez formularz. najpierw poprzez SELECT wyswietlasz w polu formularza,
nastepnie po kliknieciu submit edytujesz rekord poprzez UPDATE
co w tym trudnego i z czym sobie konkretnie nie radzisz?
prostowniczek
no właśnie z tym co mi napisałeś
aachi
El Nino9 Dobrze Ci mówi. Powinieneś użyć UPDATE, a nie INSERT.

Czyli zamiast:
INSERT INTO config(home) VALUES ('Witamy na stronie');
powinieneś użyć:
UPDATE config SET home='Inny tekst';

Edit: Czekaj a może Ci chodzi o to, że chcesz zamienić fragment stringa na inny? Jeśli tak to spróbuj: str_replace, albo substr_replace...
prostowniczek
dobra powiem w skrócie, chciałbym gotowca, wiem, że to marne szanse na to ale może jednak ktoś, łączenie z baza zrobię sam
El Nino9
dostałeś wskazówki, zastosuj się do nich i wykaż odrobinę inicjatywy.
Skoro Tobie nie chce zagłębić się w temat, to dlaczego komuś miałoby się chcieć pisać Ci gotowca?
prostowniczek
  1. <?php
  2.  
  3. include 'db.php';
  4.  
  5. $query = "SELECT * FROM config";
  6. $result = mysql_query($query)
  7. or die("Query failed");
  8.  
  9. while ($row = mysql_fetch_array($result)) {
  10. echo "<TR><TD>" . $row["home"] .
  11. "</TD></TR>\n";
  12. }
  13.  
  14. if(isset($_GET['home']) && $_GET['home']=='edytuj' && isset($_GET['home]))
  15. {
  16. $update = mysql_query("UPDATE config SET kolumna='$home'")
  17. or die ("blad");
  18.  
  19. echo '<b>Edycja treści strony głównj.</b><br>';
  20. echo '<form method="POST" action="home.php?config=wyedytuj&home='.$wiersz['home'].'">
  21. <table border="0" width="100%">
  22. <tr>
  23. <td>Nowa treść:</td>
  24. <td><input type="text" name="home" size="64" value="'.$wiersz['home'].'"></td>
  25. </tr>
  26. <tr>
  27. <td> </td>
  28. <td><input type="submit" value="EDYTUJ"></td>
  29. </tr>
  30. </table>
  31. </form>';
  32. }
  33. elseif(isset($_GET['home']) && $_GET['home']=='wyedytuj' && isset($_GET['home']))
  34. {
  35. $home=$_POST['home'];
  36.  
  37. mysql_query("UPDATE news SET home='$home'");
  38. echo 'Pomyślnie wyedytowałem Strona glowna';
  39.  
  40. }
  41.  
  42. mysql_free_result($result);
  43. mysql_close($polaczenie);
  44.  
  45. ?>


mam taki kod ale on nie działa
kpt_lucek
1.Ogólnie to zamiast:
  1. include 'db.php';

dałbym:
  1. require("db.php");


2.
  1. if(isset($_GET['home']) && $_GET['home']=='edytuj' && isset($_GET['home]))

Zwróć uwagę na to iż teoretycznie
  1. isset($_GET['home'])
masz dwa razy, lecz przyjrzyj się dokładnie ->(sam duplikat już mi nie pasuje).

Podpowiedź:
  1. isset($_GET['home])



3. Nie widzę abyś się łączył w owym kodzie z bazą danych, lecz na pewno zamykasz połączenie.

4.
  1. $update = mysql_query("UPDATE config SET kolumna='$home'")

zalecam używanie " ` ", to nie boli a unikniemy problemów:
  1. $update = mysql_query("UPDATE `config` SET `kolumna`='$home'")




5.
  1. elseif(isset($_GET['home']) && $_GET['home']=='wyedytuj' && isset($_GET['home']))

Analogicznie do pkt. #2



6.
  1. mysql_query("UPDATE news SET home='$home'");

Analogicznie do pkt. #4

prostowniczek
  1. <?php
  2. require("db.php");
  3. or die('Nie udało się wybrać bazy danych...');
  4. $query = "SELECT * FROM config";
  5. $result = mysql_query($query)
  6. or die("Query failed");
  7.  
  8. while ($row = mysql_fetch_array($result)) {
  9. echo "<TR><TD>" . $row["home"] .
  10. "</TD></TR>\n";
  11. }
  12.  
  13. if(isset($_GET['home'])=='edytuj')
  14. {
  15. $update = mysql_query("UPDATE `config` SET `kolumna`='$home'")
  16. or die ("blad");
  17.  
  18. echo '<b>Edycja treści strony głównj.</b><br>';
  19. echo '<form method="POST" action="home.php?home=wyedytuj">
  20. <table border="0" width="100%">
  21. <tr>
  22. <td>Nowa treść:</td>
  23. <td><input type="text" name="home" size="64" value="'.$wiersz['home'].'"></td>
  24. </tr>
  25. <tr>
  26. <td> </td>
  27. <td><input type="submit" value="EDYTUJ"></td>
  28. </tr>
  29. </table>
  30. </form>';
  31. }
  32. elseif(isset($_GET['home'])=='wyedytuj')
  33. {
  34. $home=$_POST['home'];
  35.  
  36. mysql_query("UPDATE news SET home='$home'");
  37. echo 'Pomyślnie wyedytowałem Strona glowna';
  38.  
  39. }
  40.  
  41. mysql_close($polaczenie);
  42.  
  43. ?>


Poprawiłem tak jak powiedziałeś, dodałem łączenie z bazą lecz wywala mi, że nie mogę się połączyć.
nospor
Zapoznaj się wpierw z tym tematem:
Temat: Jak poprawnie zada pytanie
zastosuj do wszystkich podanych tam porad bo teraz to wygląda jak zabawa w kotka i myszkę.
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.