PHP.SU

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

Страниц (23): « 1 2 [3] 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 339
alnik-75 Отправлено: 31 Декабря, 2015 - 10:04:32 • Тема: UPDATE на основании выборки из другой таблицы • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 62
Viper пишет:
Так а в чем вопрос-то собственно?


Можно одним запросом сделать так, что если в таблице ads_foto нет записи с конкретным id_ads, то в таблицу
ads в ячейку foto ыбло внесено изменение foto = ""?
alnik-75 Отправлено: 30 Декабря, 2015 - 23:46:43 • Тема: UPDATE на основании выборки из другой таблицы • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 62
Уважаемые форумчане!!

С наступающим Новым годом!!

Прошу оказать содействие в решении следующего вопроса.

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. UPDATE ads
  3. SET foto=(
  4.         SELECT foto
  5.         FROM ads_foto
  6.         WHERE ads.id = ads_foto.id_ads AND ads_foto.id_ads = 8
  7.         )
  8. LIMIT 1
  9.  
  10.  


С помощью этого запроса в поле foto таблицы ads вносится изменения на основании полученных данных из таблицы ads_foto. Если есть фото к объявлению (таблица ads_foto) , то в таблицу ads вносится соответствующая запись. Связь ads.id = ads_foto.id_ads.

Можно одним запросом сделать так, что если в таблице ads_foto нет записи с конкретным id_ads, то в таблицу
ads в ячейку foto ыбло внесено изменение foto = ""?


Данная ячейка изначально может быть, как заполненной , так и пустой.

Надеюсь, что объяснил понятно.

Заранее выражаю благодарность за оказанное содействие
alnik-75 Отправлено: 24 Ноября, 2015 - 19:40:35 • Тема: Непонятные действия при отработке функции • Форум: JavaScript & VBScript

Ответов: 8
Просмотров: 971
да, запрос отправляется дважды.

У меня такое ощущение, что это происходит из-за того, что внутри функции стоит обработчик события click на кнопку подтверждения удаления
(Добавление)
alnik-75 пишет:
да, запрос отправляется дважды.

У меня такое ощущение, что это происходит из-за того, что внутри функции стоит обработчик события click на кнопку подтверждения удаления

поменял :
CODE (javascript):
скопировать код в буфер обмена
  1.  $('#button_yes').click(function(){

на
CODE (javascript):
скопировать код в буфер обмена
  1. $('#button_yes').one('click',function(){

и все наладилось
alnik-75 Отправлено: 24 Ноября, 2015 - 16:11:07 • Тема: Непонятные действия при отработке функции • Форум: JavaScript & VBScript

Ответов: 8
Просмотров: 971
andrewkard пишет:
alnik-75 пишет:
При следующем удалении уже добавляются два класса info_success и info_warning.

сколько запросов уходит в данном случае?

как бы один. Я тоже про это думал. Класс info_warning добавляется при возникшей ошибке, т.е. можно предположить, что имели место два запроса. При втором запросе объявления уже нет, т.к. оно было удалено при первом и поэтому выдает ошибку, но дело в том, что текст инфосообщения такой, который должен быть при удачном удалении
alnik-75 Отправлено: 24 Ноября, 2015 - 11:03:08 • Тема: Непонятные действия при отработке функции • Форум: JavaScript & VBScript

Ответов: 8
Просмотров: 971
DeepVarvar пишет:
А я говорю про "перед показом".
Еще не забудь предыдущий таймер сбросить.
Там же асинхронка.

весь прикол заключается в том, что во всех опеисанных случаях должен активироваться класс info_success. Откуда берется info_warning неизвестно
alnik-75 Отправлено: 24 Ноября, 2015 - 09:50:00 • Тема: Непонятные действия при отработке функции • Форум: JavaScript & VBScript

Ответов: 8
Просмотров: 971
в том и тело после отработки все классы приводятся в исходное положение
CODE (javascript):
скопировать код в буфер обмена
  1.  info_msg.addClass('display_none').removeClass('table info_'+tip);
alnik-75 Отправлено: 23 Ноября, 2015 - 23:50:34 • Тема: Непонятные действия при отработке функции • Форум: JavaScript & VBScript

Ответов: 8
Просмотров: 971
Уважаемые форумчане!
Нужен Ваш совет.
js функция удаления объявления:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. function delete_declar(id){
  4.         var pw=$('#delete_modal'),fm=$('#fon_modal'),wait=2900;
  5.         $(".ads_list:not(#ad_"+id+")").fadeTo(300,0.2);
  6.         objectAlignment(pw);
  7.         modalWindowFadeIn(pw,fm);
  8.         $('#button_yes').click(function(){
  9.                 modalWindowFadeOut(pw,fm);
  10.                 $.ajax({
  11.                         url:"/ajax-requests/deleteAds/",
  12.                         type:"POST",
  13.                         data:{id_ads:id},
  14.                         success:function(data){
  15.                                 if(data=="success"){
  16.                                         createInfoMessage("success","Объявление успешно удалено!",wait);
  17.                                         $("#ad_"+id).fadeOut(500).remove();
  18.                                         setTimeout(function(){
  19.                                 $(".ads_list:not(#ad_"+id+")").fadeTo(500,1);
  20.                                         },wait+300);
  21.                                 }
  22.                                 else{
  23.                                         $(".ads_list:not(#ad_"+id+")").fadeTo(300,1);
  24.                                         createInfoMessage("warning");
  25.                                 }
  26.                         },
  27.                         error:function(){
  28.                                 $(".ads_list:not(#ad_"+id+")").fadeTo(300,1);
  29.                                 createInfoMessage("warning");
  30.                         }
  31.                 });
  32.         });
  33.         $('#button_no').click(function(){
  34.                 $(".ads_list:not(#ad_"+id+")").fadeTo(300,1);
  35.                 modalWindowFadeOut(pw,fm);
  36.         });
  37. }
  38. // всплывающее информационное окно
  39. function createInfoMessage(tip,text,time){
  40.         text=text||'Произошла ошибка! Пожалуйста, перезагрузите страницу и повторите операцию';
  41.         time=time||4500;
  42.         var info_msg=$('#info_msg'),msg_text=$('#msg_text');
  43.         msg_text.text(text);
  44.         info_msg.css({'margin-top':-info_msg.height()/2,'width':screen.width,'opacity':0})
  45.                      .removeClass('display_none')
  46.                      .addClass('table info_'+tip)
  47.                      .animate({opacity:1},300,function(){
  48.                           info_msg.delay(time).animate({opacity:0},500,function(){
  49.                               info_msg.addClass('display_none').removeClass('table info_'+tip);
  50.                               msg_text.text('');
  51.                          });
  52.                     });
  53. }
  54.  


Кратко о работе. Аяксом отправляется id объявления в обработчик.
При успешной обработке объявление исчезает и появляется инфо окно - функция createInfoMessage. Она принимает три параметра (тип уведомления, текст и время показа.
Тип определяет цвет фона окошка (success, warning). Вот эта строка, в которой инфоокну добавляется класс (info_success или info_warning) (4 СТРОКА)
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. info_msg.css({'margin-top':-info_msg.height()/2,'width':screen.width,'opacity':0})
  3.                      .removeClass('display_none')
  4.                      .addClass('table info_'+tip)
  5.                      .animate({opacity:1},300,function(){
  6.                           info_msg.delay(time).animate({opacity:0},500,function(){
  7.                               info_msg.addClass('display_none').removeClass('table info_'+tip);
  8.                               msg_text.text('');
  9.                          });
  10.                     });
  11.  


После скрытия окна класс и текст удаляются.
Проблема. При удалении первого объявления инфоокно правильное (передается success) и, соответственно, добавляется правильный класс info_success. При следующем удалении уже добавляются два класса info_success и info_warning.

СПРАШИВАЕТСЯ - КАКОГО ЧЕРТА?

зАРАНЕЕ, СПАСИБО
alnik-75 Отправлено: 29 Октября, 2015 - 15:00:35 • Тема: Правильная вставка CSS в PHP • Форум: Вопросы новичков

Ответов: 14
Просмотров: 674
а чего во второй строке отсутствует класс?
alnik-75 Отправлено: 29 Октября, 2015 - 11:56:05 • Тема: Правильная вставка CSS в PHP • Форум: Вопросы новичков

Ответов: 14
Просмотров: 674
au_23 пишет:
alnik-75 пишет:
кавычки смотри


что в кавычках проблема я понял.... а что за проблема не понятно )))

значение переменной в двойные кавычки заключи
alnik-75 Отправлено: 29 Октября, 2015 - 10:26:45 • Тема: Правильная вставка CSS в PHP • Форум: Вопросы новичков

Ответов: 14
Просмотров: 674
кавычки смотри
alnik-75 Отправлено: 29 Октября, 2015 - 09:37:15 • Тема: Правильная вставка CSS в PHP • Форум: Вопросы новичков

Ответов: 14
Просмотров: 674
Круто ты , конечно, придумал.

Это ж для примера.


PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.             $style = '
  4.                .link a {
  5.                     display: block;
  6.                     text-align: center;
  7.                     height: 100%;
  8.                 }
  9.            ';
  10.  ?>
  11.  
alnik-75 Отправлено: 19 Октября, 2015 - 20:38:14 • Тема: Удаление записей из нескольких таблиц • Форум: Вопросы новичков

Ответов: 4
Просмотров: 266
Добрый вечер!!

Немного усложняется задача. Имеется таблица users (id-идентификатор). Данная таблица связана только с таблицей declarations (в которой есть поле id_user)/ Как уже писал выше, в свою очередь таблица declarations связано с другими таблицами посредством id_ads (идентификатор объявления).

Задача удалить одним запросом запись о пользователе . При наличии объявлений и фото к ним удалить записи в других таблицах, указанных в первом посте.

Заранее благодарю
alnik-75 Отправлено: 18 Октября, 2015 - 23:42:52 • Тема: Удаление записей из нескольких таблиц • Форум: Вопросы новичков

Ответов: 4
Просмотров: 266
Здравствуйте, уважаемые форумчане!!!

Нужна Ваша консультация!

Есть таблица с объявлениями - declarations (идентификатор объявлений - id).

Задача- удалить, например, какое-то конкретное объявление.

Помимо этой таблицы, имеются другие таблицы, связи которых с таблицей declarations осуществляется через поля id_ads.
- foto_ads; // фото к объявлениям
- ads_views; // просмотры объявлений
- ads_violations; // жалобы на объявления
- reset_views // сведения об обнулении счетчиков просмотров объявлений.

Как уже сказал выше в каждой из этих таблиц имеются поля - id_ads, связывающие их с основной таблицей.

Когда все создавал, то удалял путем запросов DELETE к каждой из этих таблиц.

Хочу сделать более оптимизировано с помощью одного запроса. Погуглил и вот, что получилось:

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2.  
  3.    DELETE declarations, foto_ads, ads_views, ads_violations, reset_views // указываю все таблицы, включая и основную - declarations
  4.    FROM declarations
  5.        LEFT JOIN foto_ads
  6.          ON foto_ads.id_ads = declarations.id
  7.        LEFT JOIN ads_views
  8.          ON ads_views.id_ads = declarations.id
  9.        LEFT JOIN ads_violations
  10.          ON ads_violations.id_ads = declarations.id
  11.        LEFT JOIN reset_views
  12.          ON reset_views .id_ads = declarations.id  
  13.   WHERE declarations.id = 1000;
  14.  
  15.  


Вопрос: правильный ли синтаксис? и нужно ли после оператора DELETE указывать, помимо связанных с главной таблицей declarations, и саму эту главную таблицу? Или ее нужно указывать только после конструкции FROM ?

Заранее выражаю благодарность за оказанное содействие..
alnik-75 Отправлено: 18 Октября, 2015 - 10:31:55 • Тема: Как сделать переменную глобальной? • Форум: Вопросы новичков

Ответов: 5
Просмотров: 233
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3.  
  4. echo test ($var);
  5. function test($var) {
  6.  global $my_var;
  7. //echo $my_var; второй вариант
  8. }
  9.  
  10.  
alnik-75 Отправлено: 13 Октября, 2015 - 19:47:26 • Тема: Повторная отправка формы • Форум: Программирование на PHP

Ответов: 2
Просмотров: 934
лично я при обработке данных из формы с помощью функции не возвращаю результаты ее работы, а применяю header ("Location:........

Страниц (23): « 1 2 [3] 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB