Я к этому попозже вернусь) Вопросы по AJAXу ! Не могу победить хоть убей перезагрузку страницы! Уже поставил arcticmodal, а толку ноль. У меня уже все работает, кроме этого АЯКСА }( Добавлено спустя 8 минут 3 секунды: Подскажите пожалуйста что за что отвечает? и сработает ли такой URL? Код (PHP): $(".arcticmodal").click(function(){ var data = ""; $.arcticmodal({ type: 'ajax', url: "/plugins/amproduct_edit/check.php?q='.$data['product_id'].'", ajax: { type: 'POST', data: {'data':data} } }); }); Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
если ты правильно оформил код php и $data['product_id'] заменился на значение переменной, то наверное да. в браузере загляни в исходный текст страницы, не осталось ли там этого мусора? phpfaq.ru/debug
А скажите что такое Код (PHP): var data = ""; Туда ведь что то вписать нужно? вот мой рабочий варик с кодировкой, а все остальные не работают. Код (PHP): $con = mysqli_connect('localhost','name123','pass678','db_bd'); $con->set_charset("utf8"); причем в хидере тоже обязательно прописать кодировку
Решил забросить идею с ajaxом(( Придется выводить 3-4 почти пустые страницы с двумя строками. Получается ну очень не красиво. Всем спасибо огромное за помощь!!!
C горем пополам осилил на 2/3. Осталась перезагрузка по нажатию "submit" пока не могу найти подходящего материала! И проблема в базе. Есть в таблице поле с именем "name_ru-RU" так вот все манипуляции с этим полем ('INSERT', 'UPDATE', 'DELITE') приводят к ошибке типа "недопустимое имя". А переименовывать его ни как нельзя, перестанет работать магаз!
но... я же явно сказал какие кавычки нужны... уж если не моё сообщение прочитать, то мануал по скуэлю прочитать можно было...
Спасибо добрый человек!!! Пришлось в гугле набирать чтоб узнать что такое грависы) Теперь запись проходит, но каракули пишет. Щя буду с кодировкой разбираться. P.S. Учителя нет хорошего, а тяга есть) Добавлено спустя 19 минут 1 секунду: А как такой вид Код (PHP): mysqli_query($update_sql) or die("Ошибка вставки" . mysqli_error()); привести к такому??? Код (PHP): if (!$con) { die('Could not connect: ' . mysqli_error($con)); } Вот мой кусок кода, но выдает ошибку Код (PHP): $update_sql = "UPDATE products SET product_price='".$update_price."', product_quantity='".$update_quantity."', `name_ru-RU`='".$update_name."' WHERE product_id='".$product_id."' "; mysqli_query($update_sql) or die("Ошибка" . mysqli_error()); echo '<div class="show_info_text">Запись успешно обновлена!<br />[url="#"]Вернутся к редактированию[/url]</div>'; Добавлено спустя 16 минут 4 секунды: АЛИЛУЯ ! Код (PHP): $update_sql = "UPDATE products SET product_price='".$update_price."', product_quantity='".$update_quantity."', `name_ru-RU`='".$update_name."' WHERE product_id='".$product_id."' "; if (!$update_sql) { die("Ошибка" . mysqli_error($update_sql));} mysqli_query($con,$update_sql); echo '<div class="show_info_text">Запись успешно обновлена!<br />[url="#"]Вернутся к редактированию[/url]</div>';
мануал блин почитать. у тебя выражение может возвращать какой-то результат который может быть рассмотрен как логическая истина/ложь. выражения можно сочетать через логический операторы. при этом по сути оставляется без внимания итоговый результат. иными словами: у тебя есть некоторое "выражение" на результат которого тебе наплевать. это выражение состоит из двух выражений с логикой "или" то есть будет истинно если хотя бы одна из частей "выражения" находится в состоянии истины. первая часть "выражения" - выполнение запроса к субд. вернет фолс (логическая ложь) если сам запрос обломался. или вернет ресурс результата запроса если всё ок. ресурс - логически истинен. вторая часть "выражения" - вывод сообщения об ошибке, связанной с последним запросом. возвращает полную строку если ошибка была - а это логически истинный результат, или пустую строку если ошибок не было - а это логическая ложь. соединяем всё вместе. если запрос не выполнился то первая часть "выражения" будет ложной и для решения итогового состояния "выражения" будет выполнена вторая часть "выражения" - вывод ошибки. а с учетом обрамления в die - еще и завершение работы пхп-машины. если же напротив запрос прошел без ошибок то в первой части "выражения" будет логически истинное значение - ресурс результата запроса - и этого логически истинного значения уже достаточно для возврата как результат выполнения "выражения". вторая часть - где смерть - попросту и не будет выполнена. логика "или" всегда идет то первого логически истинного результата. теперь про твой о приведении одного вида к другому. подтяни блин скил программиста!!! ты вообще не понимаешь что делаешь, от чего и рожаешь конструкции как на первой странице этого топика. всё чо те нужно для превращения "такого" вида в "такой" - положить куда-то результат выполнения запроса, потом проверить логическое состояние этой переменной, и выполнить вторую часть выражения, если оно логически ложное. а в "таком" (втором) виде у тебя жесткая ошибка. ты проверяешь переменную с именем кон. может быть я дурак но кажется там у тебя ресурс соединения лежит. да, об этом говорит еще и тот факт что ты эту переменную подставляешь в соответствующих аргументах соответствующих функций. и логически ложным оно будет только если не подключилось. а этот момент нужно проверять до выполнения запросов с использованием этого соединения. и если соединения нет то глупо ждать что вернется последняя ошибка по этому соединению. то есть написан полный бред.
Как я понимаю весь сыр-бор и за этого Код (PHP): mysqli_query($con,$update_sql); но любое изменение или удаление этой конструкции, приводит либо к ошибке, либо к выводу успешной записи! Но при такой успешной записи, запись в базу не осуществляется. Судя по моему примеру, если я правильно понимаю. Условие If .... die .... служат для того, чтоб либо продолжать скрипт, либо остановить и вывести ошибку. Если продолжаем, то записываем вот это mysqli_query($con,$update_sql); в базу.
ты вообще не вообще понимаешь что пишешь? какая алилуя? ща я тебе расскажу очередной твой фейл. первая строка: объявление длинной строки. по всей видимости это будет текст запроса к субд. вторая строка: если в переменной не-важно-какой лежит логически ложное значение... а что у нас там лежит? длинная строка запроса! а длинная строка емнип это логически истинное значение. то есть этот условный блок никогда и не выполнится............................................. но мы продолжаем третья строка. умереть выведя сообщение о последней ошибке сеанса с субд. функция ожидает аргументом что? правильно. ресурс соединения. но мы адепты попова, поэтому мы пихаем туда нашу длиииииную строку запроса. будет фейл. вернее фейла не будет потому что уже выше сказано почему. четвертая строка. к ней мы всегда приходим. выше же сказано почему. так вот. в ней-то мы и выполняем запрос с заданным текстом. а далее нас ждет еще одна чудесная строка, пятая: совершенно вне зависимости от успешности или провальности выполненного запроса сообщит нам "ура! наш говнокод всегда сообщает об успехе, потому что мы его написали так, что иных вариантов и не дано!". действительно ура. и да, аллилуйя. но ляпать ошибки это видимо твоё кредо.
Да ляпать ошибки это мое! Потому что знаний нет. Убрал условие if, die все работает! Спасибо за замечание. Я так понимаю если я покажу весь свой код, меня найдут и закидают камнями)))
ну аллилуйю тебе браузер подсветит, если нормальными пользоваться. а в остальном - каких знаний нет ты понимаешь? тебе алгоритмизация нужна. программирование это реализация алгоритма лексемами какого-то языка. когда у тебя через жопу понимание алгоритма то не важно на каком языке ты пишешь. напишешь ты одинаково плохо. а если с алгоритмами дружить - не важно на каком языке писать программы. ты будешь понимать что и для чего. а ты пока не понимаешь.
зато ты будешь знать свои ошибки, поправишь их и выложишь ещё раз. Вот тогда тебя уже закидают розами.