Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: добавление и удаление блока

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
chelezo
Отправлено: 19 Марта, 2015 - 13:04:47
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




Помогите разобраться пожалуйста. в БД создаються записи с одинаковыми ID что приводит к бардаку и перепутыванием данных

код страницы добавления блока и удаления
(добавление работает но всегда ставит 1 ID, удаление не отрабатываеться вообще)

CODE (htmlphp):
скопировать код в буфер обмена
  1. $db_staging = 'ru_news_new_submenu';                           
  2.  
  3. $count_id_news_new = mysql_result(mysql_query("SELECT count(id) FROM ru_news_new"),0);
  4. for($i=0; $i<$count_news_new; $i++)
  5. {
  6.         if (isset($_POST{'del_block_'.$i})) {
  7.         $id = $_POST{'id_del_block_'.$i};
  8.        
  9.         $tst = mysql_query("DELETE FROM ru_news_new WHERE id = '".$id."'", $db);
  10.         }
  11. }
  12.  
  13. $count_news_new = mysql_result(mysql_query("SELECT count(id) FROM ru_news_new"),0);
  14. $res_news_new = mysql_query("SELECT * FROM ru_news_new ORDER BY id ASC", $db);
  15.  
  16. <div id="content">     
  17.          <div class="content_width">
  18.                   <?
  19.                                   echo'<div id="div_btn_add_new_block"><button onclick="adm_news_new_add_new_block();"><img src="images/plus.png" /> Добавить новый блок</button></div>';
  20.                                   if (!$res_news_new) {echo"Ошибка запроса <br>".mysql_error();} else
  21.                                   while ($news_new = mysql_fetch_array($res_news_new)) { $array_news_new[] = $news_new; }
  22.                                   for ($i=$count_news_new-1; $i>=0; $i--)
  23.                                   {
  24.                                   $block_no = $i+1;
  25.                                   echo'
  26.                                   <form action="adm_news_new.php" method="post" enctype="multipart/form-data">
  27.                                           <div class="left_title" style="cursor:pointer" onclick="adm_news_new_title('.$array_news_new[$i]["id"].');">
  28.                                                 '.$array_news_new[$i]["title"].'
  29.                                           </div>
  30.                                          
  31.                                           <div class="text_content" style="cursor:pointer" onclick="adm_news_new_text('.$array_news_new[$i]["id"].');">
  32.                                                 '.$array_news_new[$i]["text"].'
  33.                                           </div>
  34.                                          
  35.                                           <input type="hidden" name="id_del_block_'.$i.'" value="'.$array_news_new[$i]["id"].'"/>
  36.                                           <button type="submit" name="del_block_'.$i.'" style="margin-top:20px;"><img src="images/btn_del.png" title="Удалить '.$block_no.'-й блок" style="cursor:pointer;"/></button>
  37.                                           <div class="clear" style="height:25px"></div>
  38.                                          
  39.                                   </form>
  40.                                   ';
  41.                                   }
  42.                           ?>
  43.          </div>  
  44.     </div>
  45.  
 
 Top
RickMan
Отправлено: 19 Марта, 2015 - 13:25:29
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




А почему у вас могут быть записи с одинаковым id? И получему по дефолту 1?
http://www[dot]mysql[dot]ru/docs/man/exa[dot][dot][dot]O_INCREMENT[dot]html - почитайте это...
 
 Top
chelezo
Отправлено: 19 Марта, 2015 - 14:46:55
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




вот код кнопки добавления блока
CODE (htmlphp):
скопировать код в буфер обмена
  1. $max_id_id_news_new = mysql_result(mysql_query("SELECT max(id) FROM ru_news_new"),0);
  2. $id = $max_id_news_new+1;
  3. $title='Новый заголовок';
  4. $text='Новый текст';
  5. mysql_query ("INSERT INTO ru_news_new (id,title,text) VALUES ('".$id."','".$title."','".$text."')", $db);
  6. ?>
  7.  

(Добавление)
RickMan пишет:
А почему у вас могут быть записи с одинаковым id? И получему по дефолту 1?
http://www[dot]mysql[dot]ru/docs/man/exa[dot][dot][dot]O_INCREMENT[dot]html - почитайте это...


ето не мой код. Мне в нем надо разобраться и уже голову сламал над етим никак немогу понять в чем трабл?! Весь остальной сайт перелопатил и понял как работает. А тут нифига понять немогу.
 
 Top
RickMan
Отправлено: 19 Марта, 2015 - 14:56:56
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Сделайте поле id autoincrement и удалите это дерь**ще. В insert запросе не должно учавствовать поле id, оно должно само задаваться mysql'ом.

(Отредактировано автором: 19 Марта, 2015 - 14:57:17)

 
 Top
chelezo
Отправлено: 19 Марта, 2015 - 18:17:05
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




RickMan пишет:
Сделайте поле id autoincrement и удалите это дерь**ще. В insert запросе не должно учавствовать поле id, оно должно само задаваться mysql'ом.

Я Вас очень сильно прошу выделите в коде то что нужно заменить. Я начинающий но возложили на меня работы ппц простою Буду очень благодарен.
И вопрос как тогда php сможет узнать какое поле НУЖНО удалить?? И какое добавить!?!?

(Отредактировано автором: 19 Марта, 2015 - 18:19:53)

 
 Top
DelphinPRO
Отправлено: 19 Марта, 2015 - 21:27:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




вот так добавляете данные.
PHP:
скопировать код в буфер обмена
  1. //$max_id_id_news_new = mysql_result(mysql_query("SELECT max(id) FROM ru_news_new"),0);
  2. //$id = $max_id_news_new+1;
  3. $title='Новый заголовок';
  4. $text='Новый текст';
  5. mysql_query ("INSERT INTO ru_news_new (title,text) VALUES ('$title','$text')", $db);


Перед этим идете в PMA и полю ID в таблице назначаете атрибут AUTO_INCREMENT. Тогда оно будет автоматически увеличиваться при каждой новой вставке.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
chelezo
Отправлено: 20 Марта, 2015 - 08:47:38
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




Спасибо помогло. Теперь на сайте порядок )). Осталась одна проблема, не удаляются блоки.
 
 Top
chelezo
Отправлено: 20 Марта, 2015 - 15:03:38
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




Думаю загвоздка тут
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  for ($i=$count_news_new-1; $i>=0; $i--)
  3.                                   {
  4.                                   $block_no = $i+1;
  5.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB