Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][sql]Problem z zapisem do bazy
Zimon
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 7.08.2006

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


mam mały problem z dodaniem do bazy danch nie wiem gdzie jest błąd w każdym bądź razie dane z formularza są przekazywane globalnie i przez funkcję zmieniającą wpis w bazie sa odczytane prawidłowo, nie chce nationas się wykonać wpis do bazy i nie wiem czemu

plik admin/option.adm.php
  1. <?php
  2. $katalog = 'theme';
  3. function option_form()
  4. {
  5. global $katalog, $title_, $key_word_, $describe_, $footer_, $theme_;
  6.  
  7. $dir = $katalog.'/';
  8. $d = dir( $dir );
  9. while (false !== ($entry = $d->read()))
  10. {
  11.  if( is_dir( $dir.$entry ) && $entry != '.' && $entry != '..' ) 
  12.  {
  13. $fileArray[] = $entry;
  14.  }
  15. }
  16. $d->close();
  17.  
  18. $query = "SELECT * FROM config WHERE cfg='1'";
  19. $result = mysql_query($query);
  20. $r = mysql_fetch_assoc($result);
  21. $title = $r['title'];
  22. $footer = $r['footer'];
  23. $describe = $r['describe'];
  24. $key_word = $r['key_word'];
  25. $theme = $r['theme'];
  26.  
  27. echo '
  28. <br>
  29. <fieldset>
  30. <form action="admin.php?mod=option&action=change" method="POST" name="zmiana">
  31. <legend>Pozostałe ustawienia</legend>
  32. <table width="100% align="center">
  33. <tr>
  34. <td width="45%" align="right" valign="top" size="30">Tytuł strony</td>
  35. <td width="55%" align="left"><input type="text" name="title_" value="'.$title.'"></td>
  36. </tr>
  37. <tr>
  38. <td width="45%" align="right" valign="top" size="30">Stopka strony</td>
  39. <td width="55%" align="left"><input type="text" name="footer_" value="'.$footer.'"></td>
  40. </tr>
  41. <tr>
  42. <td width="45%" align="right" valign="top">Słowa kluczowe</td>
  43. <td width="55%" align="left"><input type="text" size="30" name="key_word_" value="'.$key_word.'"></td>
  44. </tr>
  45. <tr>
  46. <td width="45%" align="right" valign="top">Opis</td>
  47. <td width="55%" align="left"><input type="text" size="30" name="describe_" value="'.$describe.'"></td>
  48. </tr>
  49. <tr>
  50. <td width="45%" align="right" valign="top">Skórka</td>
  51. <td width="55%" align="left">
  52. <SELECT name="theme_">';
  53.  foreach ($fileArray as $name)
  54.  { 
  55. if ($name == $theme) {$e = 'SELECTED';}
  56. '<OPTION VALUE="'.$name.'" '.$e.'>'.$name;
  57.  }
  58. echo  
  59.  '</SELECT></td>
  60. </tr>
  61. <tr>
  62. <td width="45%" align="right" valign="top"></td>
  63. <td width="55%" align="left"><input type="submit" value="zmień"></td>
  64. </tr>
  65. </table>
  66. </form>
  67. </fieldset>
  68.  
  69. ';
  70. }
  71.  
  72. function option_change()
  73. {
  74. global $title_, $key_word_, $describe_, $footer_, $theme_;
  75. if ($title_ == '' || $key_word_ == '' || $describe_ == '' || $footer_ == '' || $theme_ == '')
  76. {
  77. echo '<strong>Błąd: musisz wypełnic wszystkie pola</strong>';
  78. }
  79.  
  80. $query = "UPDATE config SET title='$title_', key_word='$key_word_', describe='$describe_', footer='$footer_', theme='$theme_' WHERE cfg='1'";
  81. $result = mysql_query($query) or die ('aaaaaaa'.mysql_error());
  82. /*header("Location: admin.php?mod=others");
  83. exit;*/
  84. }
  85. ?>


fragment pliku admin.php
  1. <?php
  2. if ($_GET['mod']=='option')
  3. {
  4.  include_once('admin/option.adm.php');
  5.  option_form();
  6.  if($_GET['action']=='change')
  7.  {
  8.  option_change();
  9.  }
  10. }
  11. ?>
Go to the top of the page
+Quote Post
lopik
post
Post #2





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 7.07.2006

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


  1. $query = "UPDATE config SET title='".$title_."', key_word='".$key_word_."', describe='".$describe_."', footer='".$footer_."', theme='".$theme_."' WHERE cfg='1'";


Ten post edytował lopik 23.11.2006, 17:21:17
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Cytat
problem, pilne

No chyba zartujesz.
Zamykam i czekam na PW na propozycje poprawnego tytulu.

// Tytul poprawiony -- otwieram
Go to the top of the page
+Quote Post
Zimon
post
Post #4





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 7.08.2006

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


Cytat(lopik @ 23.11.2006, 17:20:49 ) *
  1. $query = "UPDATE config SET title='".$title_."', key_word='".$key_word_."', describe='".$describe_."', footer='".$footer_."', theme='".$theme_."' WHERE cfg='1'";


z tym jest tak samo

znalazłem jeden bład sam nie domknąłem jedego "
a teraz wyświetla się komunikat
  1. <?php
  2. Something is wrong in your syntax obok 'describe='asdasd', footer='sdasdsadasdasdkie prawa zastrzeżone <' w linii 1
  3. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




"describe" to slowo zastrzezone w mysql:
http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

albo wiec zmien kolumne na inna , albo nazwe kolumny weź w `
`describe`
Go to the top of the page
+Quote Post
Zimon
post
Post #6





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 7.08.2006

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


wielkie dzięki zadziałało skórę mi uratowaliście

przepraszam za ten wybryk z duplikowaniem tematów ale naprawdę mi się spieszyło

mam znowu problem z zapisem do bazy danych
  1. <?php
  2. function menu_move()
  3. {
  4. $id = $_GET['id'];
  5. $a = $_GET['action'];
  6.  
  7. $query = "SELECT pos FROM menu WHERE id='$id'";
  8. $result = mysql_query($query);
  9. $r = mysql_fetch_assoc($result);
  10. $pos = $r['pos'];
  11.  
  12. if($a == 'up') {$pos2 = $pos - 1;}
  13. elseif ($a == 'down'){$pos2 = $pos + 1;}
  14.  
  15. $query ="SELECT * FROM menu WHERE pos = '$pos2'";
  16. $result = mysql_query($query);
  17. $r = mysql_fetch_assoc($result);
  18. $pos3 = $r['pos'];
  19. $id3 = $r['id'];
  20.  
  21.  
  22. $query ="UPDATE menu SET pos = '$pos2' WHERE id='$id'";
  23. $result = mysql_query($query);
  24.  
  25. $query ="UPDATE menu SET pos = '$pos3' WHERE id='$id3'";
  26. $result = mysql_query($query);
  27.  
  28. header("Location: admin.php?mod=menu");
  29.  
  30. }
  31. ?>


funkcja ta powinna zamieniać pozycjami dwa wpisy ale niestyety tego nie robi
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




jak na moj gust powinno byc tak:
  1. <?php
  2. $query ="UPDATE menu SET pos = '$pos2' WHERE id='$id'";
  3. $result = mysql_query($query);
  4.  
  5. $query ="UPDATE menu SET pos = '$pos' WHERE id='$id3'";
  6. $result = mysql_query($query);
  7. ?>

ale mam corke na kolanach i ciutke mi przeszkadza w skupieniu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

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: 23.08.2025 - 02:12