Иногда не записываются или не обновляются данные в БД. Подскажите?

 
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2916
Собственно столкнулся с одной проблемкой в плане работы с БД - при добавлении информации или обновлении ее не всегда данные обновляются или добавляются. Речь не про ИЦМС, а про фактически самопис одного человека.

Ранее все работало стабильно, но последний месяц чтото вот проблемки возникают. При этом например новости добавляются отлично, а вот данные в некоторые другие таблицы проблематично. Сначало думал, что может связано с размером INT или MEDIUMINT

но изменив все на максимум, проблема не решилась

Подскажите куда копать или что смотреть?

Было бы просто, когда проблема возникала бы постоянно, а здесь через раз-два.
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2916
т.е например добавляю фильм в афишу, пытаюсь добавить сеансы, а они не записываются вообще! удаляю фильм, создаю запись снова и вдруг сеансы начинают добавляться... и так постоянно на рандом.
Реклама
cms
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 248
Так вам не смогут помочь. Нужен доступ к базе и файлам движка
Разработка сайтов под ключ. Разработка дополнений. | skype: maga-ingdesign | email: [email protected] | Отзывы | Мой хостинг-провайдер | Магомед
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2916
хотя бы домыслы какие могут быть?
Посетитель
small user social cms
Медаль
Сообщений: 447
Домыслы? Самое простое - попытка записать текстовые символы в поля INT. Если не так, то без доступа к телу не разобраться.
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2916
вот выдержка основы файла добавления сессий

Код PHP:
  1.  
  2. if (isset($_GET['status'])) {
  3. if ($_GET['status'] == "sn") {
  4.  
  5. if (isset($_GET['org'])) {
  6.  
  7. if ($_GET['org'] == '0') {
  8. $message = '<strong style="color: red">Не выбрано учреждение!</strong>';
  9. } else {
  10. $data = dbarray($result = dbquery("SELECT name FROM ".DB_PREFIX."afisha_organisation WHERE id='".$_GET['org']."'"));
  11. $message = '<strong style="color: green">Сеансы для «'.$data['name'].'» добавлены</strong>';
  12. }
  13. }
  14. }
  15. if ($message) { echo "<div class='admin-message'>".$message."</div>\n"; }
  16. }
  17.  
  18.  
  19. if (isset($_POST['saved'])) {
  20.  
  21. $org_id = intval($_POST['org_id']);
  22. $data = dbarray($result = dbquery("SELECT name FROM ".DB_PREFIX."afisha_organisation WHERE id='".$_POST['org_id']."'"));
  23. $org_name = $data['name'];
  24. $content_name = $_POST['content_name'];
  25. $contenttype = $_POST['contenttype'];
  26.  
  27. $search[] = array();
  28. $start = array();
  29. $end = array();
  30.  
  31. for ($q = 0; $q < $_POST['opt']; $q++) {
  32.  
  33. $datestamp = $_POST['datestamp'][$q];
  34. $start_sessions = $end_sessions = '';
  35.  
  36. $morning1 = trim(stripinput($_POST['morning1'][$q])); if ($morning1) { $search[$q][] = $morning1; }
  37. $morning2 = trim(stripinput($_POST['morning2'][$q])); if ($morning2) { $search[$q][] = $morning2; }
  38. $morning3 = trim(stripinput($_POST['morning3'][$q])); if ($morning3) { $search[$q][] = $morning3; }
  39. $morning4 = trim(stripinput($_POST['morning4'][$q])); if ($morning4) { $search[$q][] = $morning4; }
  40. $morning5 = trim(stripinput($_POST['morning5'][$q])); if ($morning5) { $search[$q][] = $morning5; }
  41. $morning6 = trim(stripinput($_POST['morning6'][$q])); if ($morning6) { $search[$q][] = $morning6; }
  42.  
  43. $day1 = trim(stripinput($_POST['day1'][$q])); if ($day1) { $search[$q][] = $day1; }
  44. $day2 = trim(stripinput($_POST['day2'][$q])); if ($day2) { $search[$q][] = $day2; }
  45. $day3 = trim(stripinput($_POST['day3'][$q])); if ($day3) { $search[$q][] = $day3; }
  46. $day4 = trim(stripinput($_POST['day4'][$q])); if ($day4) { $search[$q][] = $day4; }
  47. $day5 = trim(stripinput($_POST['day5'][$q])); if ($day5) { $search[$q][] = $day5; }
  48. $day6 = trim(stripinput($_POST['day6'][$q])); if ($day6) { $search[$q][] = $day6; }
  49. $day7 = trim(stripinput($_POST['day7'][$q])); if ($day7) { $search[$q][] = $day7; }
  50. $day8 = trim(stripinput($_POST['day8'][$q])); if ($day8) { $search[$q][] = $day8; }
  51.  
  52. $evening1 = trim(stripinput($_POST['evening1'][$q])); if ($evening1) { $search[$q][] = $evening1; }
  53. $evening2 = trim(stripinput($_POST['evening2'][$q])); if ($evening2) { $search[$q][] = $evening2; }
  54. $evening3 = trim(stripinput($_POST['evening3'][$q])); if ($evening3) { $search[$q][] = $evening3; }
  55. $evening4 = trim(stripinput($_POST['evening4'][$q])); if ($evening4) { $search[$q][] = $evening4; }
  56. $evening5 = trim(stripinput($_POST['evening5'][$q])); if ($evening5) { $search[$q][] = $evening5; }
  57. $evening6 = trim(stripinput($_POST['evening6'][$q])); if ($evening6) { $search[$q][] = $evening6; }
  58. $evening7 = trim(stripinput($_POST['evening7'][$q])); if ($evening7) { $search[$q][] = $evening7; }
  59. $evening8 = trim(stripinput($_POST['evening8'][$q])); if ($evening8) { $search[$q][] = $evening8; }
  60.  
  61. $night1 = trim(stripinput($_POST['night1'][$q])); if ($night1) { $search[$q][] = $night1; }
  62. $night2 = trim(stripinput($_POST['night2'][$q])); if ($night2) { $search[$q][] = $night2; }
  63. $night3 = trim(stripinput($_POST['night3'][$q])); if ($night3) { $search[$q][] = $night3; }
  64. $night4 = trim(stripinput($_POST['night4'][$q])); if ($night4) { $search[$q][] = $night4; }
  65. $night5 = trim(stripinput($_POST['night5'][$q])); if ($night5) { $search[$q][] = $night5; }
  66. $night6 = trim(stripinput($_POST['night6'][$q])); if ($night6) { $search[$q][] = $night6; }
  67.  
  68. if ($org_id != 0 && (
  69. $morning1 || $morning2 || $morning3 || $morning4 || $morning5 || $morning6 ||
  70. $day1 || $day2 || $day3 || $day4 || $day5 || $day6 || $day7 || $day8 ||
  71. $evening1 || $evening2 ||$evening3 || $evening4 || $devening5 ||
  72. $evening6 ||$evening7 || $evening8 ||
  73. $night1 ||$night2 || $night3|| $night4 ||$night5 || $night6)) {
  74.  
  75.  
  76. $start[$q] = array_shift($search[$q]);
  77. $end[$q] = array_pop($search[$q]);
  78.  
  79. $startdate = explode(":", $start[$q]);
  80. $hours_start = $startdate['0'];
  81. $minutes_start = $startdate['1'];
  82. $start_sessions = mktime(intval($hours_start),intval($minutes_start),0,date('m', $datestamp),date('d', $datestamp),date('Y', $datestamp));
  83. if(in_array($hours_start, array('00','01','02','03','04','05'))) $start_sessions += 86400;
  84.  
  85. $enddate = explode(":", $end[$q]);
  86. $hours_end = $enddate['0'];
  87. $minutes_end = $enddate['1'];
  88. $end_sessions = mktime(intval($hours_end),intval($minutes_end),0,date('m', $datestamp),date('d', $datestamp),date('Y', $datestamp));
  89. if(in_array($hours_end, array('00','01','02','03','04','05'))) $end_sessions += 86400;
  90.  
  91.  
  92. $result = dbquery("INSERT INTO ".DB_PREFIX."afisha_sessions (item_id, contenttype, org_id, org_name, content_name, datestamp, morning1, morning2, morning3, morning4, morning5, morning6, day1, day2, day3, day4, day5, day6, day7, day8, evening1, evening2, evening3, evening4, evening5, evening6, evening7, evening8, night1, night2, night3, night4, night5, night6, start_sessions, end_sessions) VALUES ('".intval($_GET['id'])."', '$contenttype', '$org_id', '$org_name', '$content_name', '$datestamp', '$morning1', '$morning2', '$morning3', '$morning4', '$morning5', '$morning6', '$day1', '$day2', '$day3', '$day4', '$day5', '$day6', '$day7', '$day8', '$evening1', '$evening2', '$evening3', '$evening4', '$evening5', '$evening6', '$evening7', '$evening8', '$night1', '$night2', '$night3', '$night4', '$night5', '$night6', '$start_sessions', '$end_sessions')");
  93.  
  94. }
  95. }
  96.  
  97.  
  98. $orgcount = dbcount("(id)", DB_PREFIX."afisha_sessions", "item_id='".intval($_GET['id'])."'");
  99. if ($orgcount != 0) {
  100. $result = dbquery("SELECT org_id FROM ".DB_PREFIX."afisha_sessions WHERE item_id='".intval($_GET['id'])."'");
  101. $s = 0;
  102. while ($data = dbarray($result)) {
  103. $s++;
  104. $organisation .= $data['org_id'];
  105. if ($s < $orgcount) $organisation .= ".";
  106. }
  107. }
  108.  
  109. $result = dbquery("UPDATE ".DB_PREFIX."afisha_contents SET organisation='$organisation' WHERE id='".intval($_GET['id'])."'");
  110.  
  111. redirect(FUSION_SELF.$aidlink."&id=".intval($_GET['id'])."&org=".$org_id."&status=sn");
  112. }
  113.  
  114.  
  115. opentable('Добавить сеансы');
  116. add_to_title(' - Добавить сеансы');
  117. $global->adminLink();
  118.  
  119. $result = dbquery("SELECT * FROM ".DB_PREFIX."afisha_contents WHERE id='".intval($_GET['id'])."'");
  120.  
  121. if (dbrows($result)) {
  122.  
  123. $data = dbarray($result);
  124.  
  125. echo '<h1 style="font-size: 1.3em;">'.$data['name'].'</h1>';
  126.  
  127. $this_day = strftime('%d', $data['startdate']);
  128. $this_month = strftime('%m', $data['startdate']);
  129. $day = mktime(0, 0, 0, $this_month, $this_day);
  130.  
  131.  
  132.  
  133. if (!isset($_GET['org'])) $_GET['org'] = 0;
  134.  
  135. $org_name = 'не выбрано';
  136. $org_id = '';
  137.  
  138. echo '<form name="inputform" method="post" action="'.FUSION_SELF.$aidlink."&id=".intval($_GET['id']).'">
  139. <div style="margin-bottom: 10px;">
  140. <label for="org_id">Учреждение:</label>
  141. <select name="org_id" id="org_id" class="textbox">
  142. <option value="0"'.($_GET['org'] == 0 ? '' : ' selected="selected"').'>-- Выбрать из списка --</option>';
  143.  
  144. while (list($key, $value) = each($global->culture_list2)) {
  145. echo '<optgroup label="'.$value.'">';
  146. $result1 = dbquery("SELECT id, name FROM ".DB_PREFIX."afisha_organisation WHERE organisation='".$key."' ORDER BY sorder");
  147. while ($data1 = dbarray($result1)) {
  148. echo '<option value="'.$data1['id'].'"'.($_GET['org'] != $data1['id'] ? '' : ' selected="selected"').'>'.$data1['name'].'</option>';
  149. }
  150. }
  151.  
  152. echo '</optgroup>
  153. </select>
  154. </div>';
  155.  
  156. echo '<input type="hidden" name="content_name" value="'.$data['name'].'" />
  157. <input type="hidden" name="contenttype" value="'.$data['contenttype'].'" />
  158. <input type="hidden" name="first_day" value="'.$data['first_day_session'].'" />
  159. <input type="hidden" name="last_day" value="'.$data['last_day_session'].'" />
  160. <input type="hidden" name="last_night" value="'.$data['last_night_session'].'" />
  161. <table width="100%" border="0" cellpadding="0" cellspacing="1" align="center" class="tbl-border sessions">
  162. <tr>
  163. <td class="tbl2" width="1%" rowspan="2" align="center" valign="top"><strong>Дата</strong></td>
  164. <td class="tbl2" colspan="4" align="center" valign="top"><strong>Начало сеансов (время формата 00:00)</strong></td>
  165. </tr>
  166. <tr>
  167. <td class="tbl2" width="25%" align="center" valign="top"><strong>Утро</strong></td>
  168. <td class="tbl2" width="25%" align="center" valign="top"><strong>День</strong></td>
  169. <td class="tbl2" width="25%" align="center" valign="top"><strong>Вечер</strong></td>
  170. <td class="tbl2" width="25%" align="center" valign="top"><strong>Ночь</strong></td>
  171. </tr>';
  172.  
  173. $opt = 0;
  174.  
  175. while ($day < ($data['enddate'])) {
  176.  
  177.  
  178. echo '<tr style="background: #CC99FF">
  179. <td class="tbl1" valign="top" align="center" style="white-space:nowrap;">'.date("d.m.Y", $day).'
  180. <input type="hidden" name="datestamp['.$opt.']" value="'.$day.'" /></td>
  181. <td class="tbl1" align="center" valign="top" style="white-space:nowrap;">
  182. <p>
  183. <input type="text" name="morning1['.$opt.']" class="textbox picker" style="width: 40px;" />
  184. <input type="text" name="morning2['.$opt.']" class="textbox picker" style="width: 40px;" />
  185. <input type="text" name="morning3['.$opt.']" class="textbox picker" style="width: 40px;" />
  186. </p>
  187. <p>
  188. <input type="text" name="morning4['.$opt.']" class="textbox picker" style="width: 40px;" />
  189. <input type="text" name="morning5['.$opt.']" class="textbox picker" style="width: 40px;" />
  190. <input type="text" name="morning6['.$opt.']" class="textbox picker" style="width: 40px;" />
  191. </p>
  192. </td>
  193. <td class="tbl1" align="center" valign="top" style="white-space:nowrap;">
  194. <p>
  195. <input type="text" name="day1['.$opt.']" class="textbox picker" style="width: 40px;" />
  196. <input type="text" name="day2['.$opt.']" class="textbox picker" style="width: 40px;" />
  197. <input type="text" name="day3['.$opt.']" class="textbox picker" style="width: 40px;" />
  198. <input type="text" name="day4['.$opt.']" class="textbox picker" style="width: 40px;" />
  199. </p>
  200. <p>
  201. <input type="text" name="day5['.$opt.']" class="textbox picker" style="width: 40px;" />
  202. <input type="text" name="day6['.$opt.']" class="textbox picker" style="width: 40px;" />
  203. <input type="text" name="day7['.$opt.']" class="textbox picker" style="width: 40px;" />
  204. <input type="text" name="day8['.$opt.']" class="textbox picker" style="width: 40px;" />
  205. </p>
  206. </td>
  207. <td class="tbl1" align="center" valign="top" style="white-space:nowrap;">
  208. <p>
  209. <input type="text" name="evening1['.$opt.']" class="textbox picker" style="width: 40px;" />
  210. <input type="text" name="evening2['.$opt.']" class="textbox picker" style="width: 40px;" />
  211. <input type="text" name="evening3['.$opt.']" class="textbox picker" style="width: 40px;" />
  212. <input type="text" name="evening4['.$opt.']" class="textbox picker" style="width: 40px;" />
  213. </p>
  214. <p>
  215. <input type="text" name="evening5['.$opt.']" class="textbox picker" style="width: 40px;" />
  216. <input type="text" name="evening6['.$opt.']" class="textbox picker" style="width: 40px;" />
  217. <input type="text" name="evening7['.$opt.']" class="textbox picker" style="width: 40px;" />
  218. <input type="text" name="evening8['.$opt.']" class="textbox picker" style="width: 40px;" />
  219. </p>
  220. </td>
  221. <td class="tbl1" align="center" valign="top" style="white-space:nowrap;">
  222. <p>
  223. <input type="text" name="night1['.$opt.']" class="textbox picker" style="width: 40px;" />
  224. <input type="text" name="night2['.$opt.']" class="textbox picker" style="width: 40px;" />
  225. <input type="text" name="night3['.$opt.']" class="textbox picker" style="width: 40px;" />
  226. </p>
  227. <p>
  228. <input type="text" name="night4['.$opt.']" class="textbox picker" style="width: 40px;" />
  229. <input type="text" name="night5['.$opt.']" class="textbox picker" style="width: 40px;" />
  230. <input type="text" name="night6['.$opt.']" class="textbox picker" style="width: 40px;" />
  231. </p>
  232. </td>
  233. </tr>';
  234. $opt++;
  235. $day += 86400;
  236.  
  237. }
  238.  
  239. if ($data['enddate'] < $data['startdate']) echo '<tr><td class="tbl1" colspan="6" align="center" valign="top">Неправильно выбран промежуток проката!</td>
  240. </tr>';
  241.  
  242. echo '</table>';
  243. echo '<input type="hidden" name="opt" value="'.$opt.'" />';
  244. if ($opt >= 1) {
  245. echo '<input name="saved" type="submit" value="Сохранить" class="button" /> <span class="small">(*Сохраняются строки, где выбрано хотя бы одно из значений!)</span>';
  246. } else {
  247. echo 'Нет информации.';
  248. }
  249. echo '</form>';
  250. } else {
  251. redirect(DIR.'admin/index.php'.$aidlink);
  252. }
  253. closetable();
  254.  
  255. echo '<script type="text/javascript">
  256. jQuery(function(){
  257. jQuery("#org_id").validate({
  258. expression: "if (VAL!=0) return true; else return false;",
  259. message: "Необходимо выбрать учреждение!"
  260. });
  261. });
  262. $(document).ready(function(){
  263. $(\'input.picker\').timepicker({});
  264. });
  265. </script>';
может некую транзакцию надо делать?
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2916
как вообще проверить, передаются какие то данные или нет? БД вообще не обновляет данные
Посетитель
small user social cms
Медаль
Сообщений: 447
Добавьте в скрипт вывод ошибок
Код PHP:
  1. echo "Ошибка базы данных. MySQL пишет:", mysql_error();
и посмотрите, на что ругается Мускл.
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 555
yury:

$result = dbquery("INSERT INTO ".DB_PREFIX."afisha_sessions (item_id, contenttype, org_id, org_name, content_name, datestamp, morning1, morning2, morning3, morning4, morning5, morning6, day1, day2, day3, day4, day5, day6, day7, day8, evening1, evening2, evening3, evening4, evening5, evening6, evening7, evening8, night1, night2, night3, night4, night5, night6, start_sessions, end_sessions) VALUES ('".intval($_GET['id'])."', '$contenttype', '$org_id', '$org_name', '$content_name', '$datestamp', '$morning1', '$morning2', '$morning3', '$morning4', '$morning5', '$morning6', '$day1', '$day2', '$day3', '$day4', '$day5', '$day6', '$day7', '$day8', '$evening1', '$evening2', '$evening3', '$evening4', '$evening5', '$evening6', '$evening7', '$evening8', '$night1', '$night2', '$night3', '$night4', '$night5', '$night6', '$start_sessions', '$end_sessions')");

эта строчка добавляет инфу в БД, в переменной $result лежит результат выполнения. Если проблема собственно в добавлении - можно следующей строкой вывести этот результат, ну примерно так

Код PHP:
  1. if ($result) {echo 'Успешно добавили запись';}
  2. else {echo 'Не удалось добавить запись';}
оптимизирую помаленьку
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2916
видимо пишет-не удалось добавить запись.

вот так прописал уведомления:

Код PHP:
  1. if (isset($_GET['status'])) {
  2. if ($_GET['status'] == "sn") {
  3. $message = 'Сеансы изменены!';
  4. }
  5. if ($message) { echo "<div class='admin-message'>".$message."</div>\n"; }
  6. }else {echo 'Не удалось добавить запись';
  7. echo "Ошибка базы данных. MySQL пишет:", mysql_error();}
MySQL ошибок не пишет. оставил пустое место после двоеточия
Редактировалось: 2 раз (Последний: 5 августа 2012 в 00:11)
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2916
если быть точнее то вот этот файл в первую очередь меня беспокоит:

Код PHP:
  1.  
  2. if (!checkrights("AFI") || !defined("iAUTH") || $_GET['aid'] != iAUTH) { die("Access Denied"); }
  3. if (!isset($_GET['id']) || !isnum($_GET['id'])) { redirect(DIR.'admin/index.php'.$aidlink); }
  4.  
  5. add_to_head ('<script language="JavaScript" src="'.DIR.'js/jquery.timePicker.js" type="text/JavaScript"></script>');
  6.  
  7. if (isset($_GET['status'])) {
  8. if ($_GET['status'] == "sn") {
  9. $message = 'Сеансы изменены!';
  10. }
  11. if ($message) { echo "<div class='admin-message'>".$message."</div>\n"; }
  12. }else {echo 'Не удалось добавить запись';
  13. echo "Ошибка базы данных. MySQL пишет:", mysql_error();}
  14.  
  15.  
  16.  
  17. if (isset($_POST['saved'])) {
  18.  
  19. $search[] = array();
  20. $start = array();
  21. $end = array();
  22.  
  23.  
  24. for ($q = 0; $q < $_POST['opt']; $q++) {
  25.  
  26. $datestamp = $_POST['datestamp'][$q];
  27. $start_sessions = $end_sessions = '';
  28.  
  29. $morning1 = trim(stripinput($_POST['morning1'][$q])); if ($morning1) { $search[$q][] = $morning1; }
  30. $morning2 = trim(stripinput($_POST['morning2'][$q])); if ($morning2) { $search[$q][] = $morning2; }
  31. $morning3 = trim(stripinput($_POST['morning3'][$q])); if ($morning3) { $search[$q][] = $morning3; }
  32. $morning4 = trim(stripinput($_POST['morning4'][$q])); if ($morning4) { $search[$q][] = $morning4; }
  33. $morning5 = trim(stripinput($_POST['morning5'][$q])); if ($morning5) { $search[$q][] = $morning5; }
  34. $morning6 = trim(stripinput($_POST['morning6'][$q])); if ($morning6) { $search[$q][] = $morning6; }
  35.  
  36. $day1 = trim(stripinput($_POST['day1'][$q])); if ($day1) { $search[$q][] = $day1; }
  37. $day2 = trim(stripinput($_POST['day2'][$q])); if ($day2) { $search[$q][] = $day2; }
  38. $day3 = trim(stripinput($_POST['day3'][$q])); if ($day3) { $search[$q][] = $day3; }
  39. $day4 = trim(stripinput($_POST['day4'][$q])); if ($day4) { $search[$q][] = $day4; }
  40. $day5 = trim(stripinput($_POST['day5'][$q])); if ($day5) { $search[$q][] = $day5; }
  41. $day6 = trim(stripinput($_POST['day6'][$q])); if ($day6) { $search[$q][] = $day6; }
  42. $day7 = trim(stripinput($_POST['day7'][$q])); if ($day7) { $search[$q][] = $day7; }
  43. $day8 = trim(stripinput($_POST['day8'][$q])); if ($day8) { $search[$q][] = $day8; }
  44.  
  45. $evening1 = trim(stripinput($_POST['evening1'][$q])); if ($evening1) { $search[$q][] = $evening1; }
  46. $evening2 = trim(stripinput($_POST['evening2'][$q])); if ($evening2) { $search[$q][] = $evening2; }
  47. $evening3 = trim(stripinput($_POST['evening3'][$q])); if ($evening3) { $search[$q][] = $evening3; }
  48. $evening4 = trim(stripinput($_POST['evening4'][$q])); if ($evening4) { $search[$q][] = $evening4; }
  49. $evening5 = trim(stripinput($_POST['evening5'][$q])); if ($evening5) { $search[$q][] = $evening5; }
  50. $evening6 = trim(stripinput($_POST['evening6'][$q])); if ($evening6) { $search[$q][] = $evening6; }
  51. $evening7 = trim(stripinput($_POST['evening7'][$q])); if ($evening7) { $search[$q][] = $evening7; }
  52. $evening8 = trim(stripinput($_POST['evening8'][$q])); if ($evening8) { $search[$q][] = $evening8; }
  53.  
  54. $night1 = trim(stripinput($_POST['night1'][$q])); if ($night1) { $search[$q][] = $night1; }
  55. $night2 = trim(stripinput($_POST['night2'][$q])); if ($night2) { $search[$q][] = $night2; }
  56. $night3 = trim(stripinput($_POST['night3'][$q])); if ($night3) { $search[$q][] = $night3; }
  57. $night4 = trim(stripinput($_POST['night4'][$q])); if ($night4) { $search[$q][] = $night4; }
  58. $night5 = trim(stripinput($_POST['night5'][$q])); if ($night5) { $search[$q][] = $night5; }
  59. $night6 = trim(stripinput($_POST['night6'][$q])); if ($night6) { $search[$q][] = $night6; }
  60.  
  61.  
  62. if (isset($_POST['delete'][$q])) {
  63.  
  64. $result = dbquery("DELETE FROM ".DB_PREFIX."afisha_sessions WHERE id='".$_POST['sess_id'][$q]."'");
  65.  
  66. } else if (
  67. $morning1 || $morning2 || $morning3 || $morning4 || $morning5 || $morning6 ||
  68. $day1 || $day2 || $day3 || $day4 || $day5 || $day6 || $day7 || $day8 ||
  69. $evening1 || $evening2 ||$evening3 || $evening4 || $devening5 || $evening6 ||$evening7 || $evening8 ||
  70. $night1 ||$night2 || $night3|| $night4 ||$night5 || $night6) {
  71.  
  72.  
  73. $start[$q] = array_shift($search[$q]);
  74. $end[$q] = array_pop($search[$q]);
  75.  
  76. $startdate = explode(":", $start[$q]);
  77. $hours_start = $startdate['0'];
  78. $minutes_start = $startdate['1'];
  79. $start_sessions = mktime(intval($hours_start),intval($minutes_start),0,date('m', $datestamp),date('d', $datestamp),date('Y', $datestamp));
  80. if(in_array($hours_start, array('00','01','02','03','04','05'))) $start_sessions += 86400;
  81.  
  82. $enddate = explode(":", $end[$q]);
  83. $hours_end = $enddate['0'];
  84. $minutes_end = $enddate['1'];
  85. $end_sessions = mktime(intval($hours_end),intval($minutes_end),0,date('m', $datestamp),date('d', $datestamp),date('Y', $datestamp));
  86. if(in_array($hours_end, array('00','01','02','03','04','05'))) $end_sessions += 86400;
  87.  
  88.  
  89.  
  90. $result = dbquery("UPDATE ".DB_PREFIX."afisha_sessions SET
  91. morning1='$morning1',
  92. morning2='$morning2',
  93. morning3='$morning3',
  94. morning4='$morning4',
  95. morning5='$morning5',
  96. morning6='$morning6',
  97. day1='$day1',
  98. day2='$day2',
  99. day3='$day3',
  100. day4='$day4',
  101. day5='$day5',
  102. day6='$day6',
  103. day7='$day7',
  104. day8='$day8',
  105. evening1='$evening1',
  106. evening2='$evening2',
  107. evening3='$evening3',
  108. evening4='$evening4',
  109. evening5='$evening5',
  110. evening6='$evening6',
  111. evening7='$evening7',
  112. evening8='$evening8',
  113. night1='$night1',
  114. night2='$night2',
  115. night3='$night3',
  116. night4='$night4',
  117. night5='$night5',
  118. night6='$night6',
  119. start_sessions='$start_sessions',
  120. end_sessions='$end_sessions' WHERE id='".$_POST['sess_id'][$q]."'");
  121.  
  122.  
  123. }
  124. }
  125.  
  126.  
  127.  
  128. $orgcount = dbcount("(id)", DB_PREFIX."afisha_sessions", "item_id='".intval($_GET['id'])."'");
  129. if ($orgcount != 0) {
  130. $result = dbquery("SELECT org_id FROM ".DB_PREFIX."afisha_sessions WHERE item_id='".intval($_GET['id'])."'");
  131. $s = 0;
  132. while ($data = dbarray($result)) {
  133. $s++;
  134. $organisation .= $data['org_id'];
  135. if ($s < $orgcount) $organisation .= ".";
  136. }
  137. }
  138.  
  139. $result = dbquery("UPDATE ".DB_PREFIX."afisha_contents SET organisation='$organisation' WHERE id='".intval($_GET['id'])."'");
  140.  
  141. redirect(FUSION_SELF.$aidlink."&id=".intval($_GET['id'])."&status=sn");
  142.  
  143. }
  144.  
  145.  
  146. opentable('Редактировать сеансы');
  147. add_to_title(' - Редактировать сеансы');
  148. $global->adminLink();
  149.  
  150. $result = dbquery("SELECT * FROM ".DB_PREFIX."afisha_contents WHERE id='".intval($_GET['id'])."'");
  151.  
  152. if (dbrows($result)) {
  153.  
  154. $data = dbarray($result);
  155.  
  156. echo '<h1 style="font-size: 1.3em;">'.$data['name'].'</h1>';
  157.  
  158. $result1 = dbquery("SELECT id, name FROM ".DB_PREFIX."afisha_organisation ORDER BY sorder");
  159.  
  160. $opt = 0;
  161.  
  162. echo '<form name="inputform" method="post" action="'.FUSION_SELF.$aidlink."&id=".intval($_GET['id']).'">
  163. <table width="100%" border="0" cellpadding="0" cellspacing="1" align="center" class="tbl-border sessions">
  164. <tr>
  165. <td class="tbl2" width="0%" align="center" valign="top"><strong>Дата</strong></td>
  166. <td class="tbl2" width="1%" align="center" valign="top"><strong>Удалить</strong></td>
  167. <td class="tbl2" width="25%" align="center" valign="top"><strong>Утро</strong></td>
  168. <td class="tbl2" width="25%" align="center" valign="top"><strong>День</strong></td>
  169. <td class="tbl2" width="25%" align="center" valign="top"><strong>Вечер</strong></td>
  170. <td class="tbl2" width="25%" align="center" valign="top"><strong>Ночь</strong></td>
  171. </tr>';
  172.  
  173. while ($data1 = dbarray($result1)) {
  174.  
  175. if (dbcount("(id)", DB_PREFIX."afisha_sessions", "item_id='".intval($_GET['id'])."' AND org_id='".$data1['id']."'"))
  176. echo '<tr>
  177. <td class="tbl2" colspan="6"><h2 style="font-size: 1.1em; color: green; margin: 0;">'.$data1['name'].'</h2></td>
  178. </tr>';
  179.  
  180. $result2 = dbquery("SELECT * FROM ".DB_PREFIX."afisha_sessions WHERE item_id='".intval($_GET['id'])."' AND org_id='".$data1['id']."' ORDER BY datestamp");
  181.  
  182. if (dbrows($result2)):
  183.  
  184. while ($data2 = dbarray($result2)) {
  185.  
  186. echo '<tr>
  187. <td class="tbl1" align="center" valign="top" style="white-space: nowrap;">'.date("d.m.Y", $data2['datestamp']).'
  188. <input type="hidden" name="datestamp['.$opt.']" value="'.$data2['datestamp'].'" /></td>
  189. <td class="tbl1" align="center" valign="top" style="white-space: nowrap;">
  190. <input type="checkbox" name="delete['.$opt.']" value="yes" />
  191. <input type="hidden" name="sess_id['.$opt.']" value="'.$data2['id'].'" />
  192. </td>
  193. <td class="tbl1" align="center" valign="top">
  194. <p>
  195. <input type="text" name="morning1['.$opt.']" value="'.$data2['morning1'].'" class="textbox picker" style="width: 40px;" />
  196. <input type="text" name="morning2['.$opt.']" value="'.$data2['morning2'].'" class="textbox picker" style="width: 40px;" />
  197. <input type="text" name="morning3['.$opt.']" value="'.$data2['morning3'].'" class="textbox picker" style="width: 40px;" />
  198. </p>
  199. <p>
  200. <input type="text" name="morning4['.$opt.']" value="'.$data2['morning4'].'" class="textbox picker" style="width: 40px;" />
  201. <input type="text" name="morning5['.$opt.']" value="'.$data2['morning5'].'" class="textbox picker" style="width: 40px;" />
  202. <input type="text" name="morning6['.$opt.']" value="'.$data2['morning6'].'" class="textbox picker" style="width: 40px;" />
  203. </p>
  204. </td>
  205. <td class="tbl1" align="center" valign="top">
  206. <p>
  207. <input type="text" name="day1['.$opt.']" value="'.$data2['day1'].'" class="textbox picker" style="width: 40px;" />
  208. <input type="text" name="day2['.$opt.']" value="'.$data2['day2'].'" class="textbox picker" style="width: 40px;" />
  209. <input type="text" name="day3['.$opt.']" value="'.$data2['day3'].'" class="textbox picker" style="width: 40px;" />
  210. <input type="text" name="day4['.$opt.']" value="'.$data2['day4'].'" class="textbox picker" style="width: 40px;" />
  211. </p>
  212. <p>
  213. <input type="text" name="day5['.$opt.']" value="'.$data2['day5'].'" class="textbox picker" style="width: 40px;" />
  214. <input type="text" name="day6['.$opt.']" value="'.$data2['day6'].'" class="textbox picker" style="width: 40px;" />
  215. <input type="text" name="day7['.$opt.']" value="'.$data2['day7'].'" class="textbox picker" style="width: 40px;" />
  216. <input type="text" name="day8['.$opt.']" value="'.$data2['day8'].'" class="textbox picker" style="width: 40px;" />
  217. </p>
  218. </td>
  219. <td class="tbl1" align="center" valign="top">
  220. <p>
  221. <input type="text" name="evening1['.$opt.']" value="'.$data2['evening1'].'" class="textbox picker" style="width: 40px;" />
  222. <input type="text" name="evening2['.$opt.']" value="'.$data2['evening2'].'" class="textbox picker" style="width: 40px;" />
  223. <input type="text" name="evening3['.$opt.']" value="'.$data2['evening3'].'" class="textbox picker" style="width: 40px;" />
  224. <input type="text" name="evening4['.$opt.']" value="'.$data2['evening4'].'" class="textbox picker" style="width: 40px;" />
  225. </p>
  226. <p>
  227. <input type="text" name="evening5['.$opt.']" value="'.$data2['evening5'].'" class="textbox picker" style="width: 40px;" />
  228. <input type="text" name="evening6['.$opt.']" value="'.$data2['evening6'].'" class="textbox picker" style="width: 40px;" />
  229. <input type="text" name="evening7['.$opt.']" value="'.$data2['evening7'].'" class="textbox picker" style="width: 40px;" />
  230. <input type="text" name="evening8['.$opt.']" value="'.$data2['evening8'].'" class="textbox picker" style="width: 40px;" />
  231. </p>
  232. </td>
  233. <td class="tbl1" align="center" valign="top">
  234. <p>
  235. <input type="text" name="night1['.$opt.']" value="'.$data2['night1'].'" class="textbox picker" style="width: 40px;" />
  236. <input type="text" name="night2['.$opt.']" value="'.$data2['night2'].'" class="textbox picker" style="width: 40px;" />
  237. <input type="text" name="night3['.$opt.']" value="'.$data2['night3'].'" class="textbox picker" style="width: 40px;" />
  238. </p>
  239. <p>
  240. <input type="text" name="night4['.$opt.']" value="'.$data2['night4'].'" class="textbox picker" style="width: 40px;" />
  241. <input type="text" name="night5['.$opt.']" value="'.$data2['night5'].'" class="textbox picker" style="width: 40px;" />
  242. <input type="text" name="night6['.$opt.']" value="'.$data2['night6'].'" class="textbox picker" style="width: 40px;" />
  243. </p>
  244. </td>
  245. </tr>';
  246. $opt++;
  247.  
  248. }
  249.  
  250. $button = '<input name="saved" type="submit" value="Сохранить" class="button" /> <span class="small">(*Редактируются строки, где выбрано хотя бы одно из значений!)</span>';
  251.  
  252.  
  253. endif;
  254. }
  255.  
  256. echo '</table><input type="hidden" name="opt" value="'.$opt.'" />';
  257. if ($opt > 0) echo '<input name="saved" type="submit" value="Сохранить" class="button" /> <span class="small">(*Редактируются строки, где выбрано хотя бы одно из значений!)</span>';
  258. echo '</form>';
  259.  
  260. } else {
  261. redirect(DIR.'admin/index.php'.$aidlink);
  262. }
  263. closetable();
  264.  
  265. echo '<script type="text/javascript">
  266. $(document).ready(function(){
  267. $(\'input.picker\').timepicker({});
  268. });
  269. </script>';
он отвечает за удаление и редактирование сеансов
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 555
yury:

видимо пишет-не удалось добавить запись.

вот так прописал уведомления:

Код PHP:
  1. if (isset($_GET['status'])) {
  2. if ($_GET['status'] == "sn") {
  3. $message = 'Сеансы изменены!';
  4. }
  5. if ($message) { echo "".$message."\n"; }
  6. }else {echo 'Не удалось добавить запись';
  7. echo "Ошибка базы данных. MySQL пишет:", mysql_error();}
MySQL ошибок не пишет. оставил пустое место после двоеточия

ээээ, ну в данном контексте mysql_error() всегда будет возвращать пустоту - там запросов то и не было. Это надо выводить ПОСЛЕ запроса на добавление записи, а не просто вверху файла. А добавление - это insert... - вот после него и надо проверять результат.

Может до самого запроса и не доходит.. а может входные данные некорректные и он реально возвращает ошибку.
оптимизирую помаленьку
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2916
ставил после UPDATE

Код PHP:
  1. $result = dbquery("UPDATE ".DB_PREFIX."afisha_sessions SET
  2. morning1='$morning1',
  3. morning2='$morning2',
  4. morning3='$morning3',
  5. morning4='$morning4',
  6. morning5='$morning5',
  7. morning6='$morning6',
  8. day1='$day1',
  9. day2='$day2',
  10. day3='$day3',
  11. day4='$day4',
  12. day5='$day5',
  13. day6='$day6',
  14. day7='$day7',
  15. day8='$day8',
  16. evening1='$evening1',
  17. evening2='$evening2',
  18. evening3='$evening3',
  19. evening4='$evening4',
  20. evening5='$evening5',
  21. evening6='$evening6',
  22. evening7='$evening7',
  23. evening8='$evening8',
  24. night1='$night1',
  25. night2='$night2',
  26. night3='$night3',
  27. night4='$night4',
  28. night5='$night5',
  29. night6='$night6',
  30. start_sessions='$start_sessions',
  31. end_sessions='$end_sessions' WHERE id='".$_POST['sess_id'][$q]."'");
  32.  
вообще не выдает ничего, просто обновляет страницу и сеансы остаются без изменений. Раньше все работало
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.