Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][sql]Problem z zapisem do bazy
Forum PHP.pl > Forum > Przedszkole
Zimon
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. ?>
lopik
  1. $query = "UPDATE config SET title='".$title_."', key_word='".$key_word_."', describe='".$describe_."', footer='".$footer_."', theme='".$theme_."' WHERE cfg='1'";
dr_bonzo
Cytat
problem, pilne

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

// Tytul poprawiony -- otwieram
Zimon
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. ?>
nospor
"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`
Zimon
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
nospor
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 winksmiley.jpg
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.