Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]zmiana zapisu do pliku na zapis do bazy
Kamil90
post 22.01.2009, 14:00:27
Post #1





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 17.02.2008
Skąd: Toruń

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


Witam.
Stworzyłem tabele z trzema polami ID, NAZWA i SEGMENT. ID jest kluczem i przydzielany jest automatycznie, NAZWA to bedzie nazwa kategorii a SEGMENT to będzie Główny SEGMENT do którego będzie należała kategoria. Mam 3 segmenty: Teledyski, Filmiki, Gry Online. Oto tabela "TELE" z bazy mysql:



Wcześniej plik teledyski.php kategorie zapisywał do pliku, tym razem chciałbym żeby zapisywał mi do bazy mysql, miałby zapisywać zmienną "nazwa" do bazy, natomiast "segment" byłby zapisywany jako stała "teledyski", id tworzy się automatycznie. Moj kod php wygląda tak:
  1. <?php
  2. include '../tele.php';
  3.  
  4. switch ($_GET['x'])
  5. {
  6. case 'new':
  7.  if ($_POST['category'])
  8.  {
  9.    $h = fopen('../tele.php', 'w+');
  10.    $filmiki = array_merge($tele, array(stripslashes($_POST['category'])));
  11.    fwrite($h, "<?phpr\n$tele = " . parse_array($tele) . ";r\n?>");
  12.    fclose($h);
  13.  
  14.    echo '<div style="margin-bottom: 20px;">Kategoria dodana.</div>';
  15.  }
  16.  else
  17.  {
  18. ?>
  19.  
  20. <form action="index.php?page=teledyski&amp;x=new" method="post">
  21. <div style="margin-bottom: 20px;">Nazwa kategorii: <input type="text" name="category" size="30" /> <input type="submit" value="Dodaj"></div>
  22. </form>


Co musze zmienić żeby zapisywał mi do bazy?

edit:
doszedłem do wnioski że wystarczy chyba zmienić tylko ten kod:
  1. $h = fopen('../tele.php', 'w+');
  2.    $filmiki = array_merge($filmiki, array(stripslashes($_POST['category'])));
  3.    fwrite($h, "<?phpr&#092;n$filmiki = " . parse_array($filmiki) . ";r\n?>");
  4.    fclose($h);


edit:
ułożyłem taki kod ale niestety teraz wogole nic sie nie wyświetla :/
  1. <?php
  2. switch ($_GET['x'])
  3. {
  4. case 'new':
  5.  if ($_POST['category'])
  6.  {
  7. (mysql_query('insert into `tele` (`nazwa`) values ('' . mysql_value($_POST['category']) . '')'))
  8.    echo '<div style="margin-bottom: 20px;">Kategoria dodana.</div>';
  9.  }
  10.  else
  11.  {
  12. ?>


Ten post edytował Kamil90 22.01.2009, 15:30:29


--------------------
Jak dobrze, że ktoś pomyślał i stworzył takie forum :)
Go to the top of the page
+Quote Post
erix
post 22.01.2009, 18:49:28
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie dziw się, bo nie istnieje taka funkcja, jak mysql_value. winksmiley.jpg
Poza tym, wywali Ci błąd składni SQL, gdyż podajesz tylko jedną kolumnę, a trzy są wymagane. (nie masz auto_increment na id, a segment nie może być pusty)


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Kamil90
post 22.01.2009, 19:21:16
Post #3





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 17.02.2008
Skąd: Toruń

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


myślałem nad tym kodem i ułożyłem coś takiego:
  1. <?php
  2.  
  3. $segment = "teledyski";
  4. switch ($_GET['x'])
  5. {
  6. case 'new':
  7.  if ($_POST['category'])
  8.  {
  9.  
  10. mysql_query('insert into `tele` (`nazwa`, `segment`) values ('' . ($_POST['tytul']) . '','' . $segment . ''));
  11.  
  12.  
  13.    echo '<div style="margin-bottom: 20px;">Kategoria dodana.</div>;
  14.  }
  15.  else
  16.  {
  17. ?>
  18.  
  19. <form action="index.php?page=teledyski&amp;x=new" method="post">
  20. <div style="margin-bottom: 20px;">Nazwa kategorii: <input type="text" name="category" size="30" /> <br>
  21. <input type="submit" value="Dodaj"></div>
  22. </form>

niestety coś musi brakować w tej linijce:
  1. <?php
  2. mysql_query('insert into `tele` (`nazwa`, `segment`) values ('' . ($_POST['tytul']) . '','' . $segment . &#092;'));
  3. ?>

bo wogóle mi nie wyświetla pola do wpisania i wogóle sad.gif


edit: już to mam smile.gif więc nie potrzebuje już pomocy w tym temacie

Ten post edytował Kamil90 22.01.2009, 19:41:05


--------------------
Jak dobrze, że ktoś pomyślał i stworzył takie forum :)
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 Wersja Lo-Fi Aktualny czas: 19.06.2025 - 02:46