Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]zmiana zapisu do pliku na zapis do bazy
Kamil90
post
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:
(IMG:http://img102.imageshack.us/img102/723/15640311an6.jpg)


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
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. (IMG:http://forum.php.pl/style_emoticons/default/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)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 05:41