С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 21.07.2010
Сообщений: 44
1

Редирект с отработкой кода

22.10.2010, 12:35. Показов 1084. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня на странице выполняется код, если переменные существуют - выполняется вывод данных, если не существуют - надо сделать переадресацию на другой сайт.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$result_proverka = mysql_query ("SELECT id_news FROM new WHERE active=1",$db);
$row_proverka=mysql_fetch_row($result_proverka);
if (empty($row_proverka))
{
 
 header ("Location: https://parc63.kontur.ru/");
        exit;
 
 }
 
 
 else {
формируем данные которые потом в боди выводим циклом
}
замена empty на isset тоже не дала ничего. Упорно идет поиск данных и вывод ошибки что они не найдены.

Добавлено через 27 минут
В принципе я поняла в чем может быть проблема - у меня после кода идет сама страница штмл в ней еще код пхп. Наверное нужно его вставить в блок выполнения цикла "формируем данные которые потом в боди выводим циклом".

Если я правильно поняла, то как мне вывести верстку страницы целиком в теге пхп?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2010, 12:35
Ответы с готовыми решениями:

Проблемма с отработкой ShellExecute
Привет всем. Есть такая проблемма. Я выбираю при помощи OpenDialog файл. Потом по ходу программы,...

Не могу разобраться с отработкой циклов
Есть код:#include <iostream> #include <stdio.h> #include <conio.h> #include <string.h> #define...

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

Не могу разобраться с отработкой рекурсивной функции
Доброго времени суток. Имеется функция находящая в первом массиве количество повторения второго...

11
Почетный модератор
11531 / 4325 / 449
Регистрация: 12.06.2008
Сообщений: 12,428
22.10.2010, 12:51 2
Нужно просто
PHP
1
2
3
if ($row_proverka)
{
...
Добавлено через 1 минуту
И вообще не слишком оптимально просто ради проверки запрашивать все данные из таблицы (я так понимаю, что active там у многих в единице). Желательно в конец SQL запроса добавить LIMIT 1, что бы MySQL не искал много записей, а останавливался после первой.
0
1 / 1 / 0
Регистрация: 21.07.2010
Сообщений: 44
22.10.2010, 13:13  [ТС] 3
Цитата Сообщение от Humanoid Посмотреть сообщение
Нужно просто
PHP
1
2
3
if ($row_proverka)
{
...
Добавлено через 1 минуту
И вообще не слишком оптимально просто ради проверки запрашивать все данные из таблицы (я так понимаю, что active там у многих в единице). Желательно в конец SQL запроса добавить LIMIT 1, что бы MySQL не искал много записей, а останавливался после первой.
Немного не поняла. У меня в базе: айди новости, текст, дата создания и активность. Т.е. если новость не актуальна админ ее отрубает. 1- активна, 2 - не активна. Т.е. заведомо не активная новость в выборке не участвует. Остальные активные отбираются и дальше происходит их обработка.

п.с. в mysql есть тип поля чекбокс? А то я привыкла в аксессе ставить чекбоксы и не найдя похожего выкрутилась сделав поле int. Ну и потом в админку для новости на активность присвою полю 1, на сброс - 2. Хз правильно ли делаю...
0
Почетный модератор
11531 / 4325 / 449
Регистрация: 12.06.2008
Сообщений: 12,428
22.10.2010, 13:37 4
Цитата Сообщение от RedCat Посмотреть сообщение
Т.е. заведомо не активная новость в выборке не участвует. Остальные активные отбираются и дальше происходит их обработка.
Даже если активных новостей мало, то всё равно лучше поставить
SQL
1
SELECT id_news FROM NEW WHERE active=1 LIMIT 1
для уменьшения используемых ресурсов... ведь, тебе тут важно просто узнать, существует ли хотя бы одна активная новость или нет?

Цитата Сообщение от RedCat Посмотреть сообщение
п.с. в mysql есть тип поля чекбокс?
Нет. У MySQL нет своего графического интерфейса, поэтому и чекбоксов быть не может.

Цитата Сообщение от RedCat Посмотреть сообщение
А то я привыкла в аксессе ставить чекбоксы и не найдя похожего выкрутилась сделав поле int. Ну и потом в админку для новости на активность присвою полю 1, на сброс - 2. Хз правильно ли делаю...
В принципе, да... но лично я советую использовать для этого не INT, а TINYINT... INT занимает в таблице 4 байта... а тебя там интересует всего один бит. Т.е. будет зря теряться место на диске и в оперативной памяти. Тип TINYINT занимает всего 1 байт. Хотя, он может иметь всего 255 значений (от -127 до 127), но тебе нужно только 2 значения
И обычно таким полям присваивают не 1 или 2... а 0 или 1. Потом проверять будет проще в PHP:
уже не
PHP
1
if ($value==2)
а
PHP
1
if ($value)
0
Заблокирован
22.10.2010, 13:45 5
Цитата Сообщение от RedCat Посмотреть сообщение
п.с. в mysql есть тип поля чекбокс? А то я привыкла в аксессе ставить чекбоксы и не найдя похожего выкрутилась сделав поле int. Ну и потом в админку для новости на активность присвою полю 1, на сброс - 2. Хз правильно ли делаю...
Какой миленький костыль ^_^
Разумеется, кто чекбоксы в акцессе ставит, тот про нормализацию БД знать не может.
Так что я просто оставлю это здесь: К. Дж. Дейт. Введение в системы баз данных.
0
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
22.10.2010, 13:54 6
Цитата Сообщение от RedCat Посмотреть сообщение
в mysql есть тип поля чекбокс?
как альтернативное решение:
ENUM('1', '2')
хотя думаю TINYINT будет действительно получше ибо будет побыстрее ибо он - число

Добавлено через 6 минут
Цитата Сообщение от Troublemaker Посмотреть сообщение
Какой миленький костыль ^_^
да впринципе нифига не костыль. как говориться нафига козе баян.. для такой цели отлично подойдет tinyint либо enum
0
Заблокирован
22.10.2010, 13:56 7
Цитата Сообщение от GalaX Посмотреть сообщение
как альтернативное решение:
ENUM('1', '2')
хотя думаю TINYINT будет действительно получше ибо будет побыстрее ибо он - число
Смотрим на нормальную СУБД:
8.6. Boolean Type (http://www.postgresql.org/docs... olean.html)

И почему не использовать фиксированные бинарные блобы размером в пару мегабайт со значениями "АКТИВНАЯ НОВОСТЬ" и "НЕАКТИВНАЯ НОВОСТЬ" - по говнокодности одинаково.
да впринципе нифига не костыль. как говориться нафига козе баян.. для такой цели отлично подойдет tinyint либо enum
Какая буква в слове "нормализация" не понятна??
0
Почетный модератор
11531 / 4325 / 449
Регистрация: 12.06.2008
Сообщений: 12,428
22.10.2010, 14:05 8
Цитата Сообщение от GalaX Посмотреть сообщение
хотя думаю TINYINT будет действительно получше ибо будет побыстрее ибо он - число
ENUM тоже число... просто там каждому номеру присвоена какая-то строка. Но хранится в таблице в виде однобайтового числа.
0
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
22.10.2010, 16:30 9
Цитата Сообщение от Humanoid Посмотреть сообщение
ENUM тоже число... просто там каждому номеру присвоена какая-то строка. Но хранится в таблице в виде однобайтового числа
мм.. точно! знал же это, но смотря на то, что он записан в строковые типы, перепутал малясь

Troublemaker, если не трудно, тыкни меня носом в то место, где написано что bool лучше enum.
места они занимают одинаковое - 1 байт, по скорости (если поиск по ним делать) тоже одинаковые, разница - в bool два варианта, в enum 255 (при 1-ом байте, 2 байта - 65535)

Добавлено через 2 минуты
Цитата Сообщение от Troublemaker Посмотреть сообщение
Какая буква в слове "нормализация" не понятна??
ах да, забыл написать, дык где тут денормализация?
0
Заблокирован
22.10.2010, 16:35 10
Цитата Сообщение от GalaX Посмотреть сообщение
Troublemaker, если не трудно, тыкни меня носом в то место, где написано что bool лучше enum.
места они занимают одинаковое - 1 байт, по скорости (если поиск по ним делать) тоже одинаковые, разница - в bool два варианта, в enum 255 (при 1-ом байте, 2 байта - 65535)
Да какая разница сколько оно занимает? Семантика куда более существенней.
И даже это не главная мысль, ты можешь использовать хоть enum, хоть int - это неважно, это всего лишь вариации неоптимального решения.

ах да, забыл написать, дык где тут денормализация?
Да прямо в твоем enum
0
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
22.10.2010, 16:49 11
Цитата Сообщение от Troublemaker Посмотреть сообщение
Да прямо в твоем enum
ну я так понял в названии (семантике)
Цитата Сообщение от Troublemaker Посмотреть сообщение
Семантика куда более существенней.
мне конечно семантика тоже нравица, но я не ярый ее приверженец в случаях когда и без нее не хуже
вообщем, думаю тут бесполезно это обсуждать ибо вступает в силу дело вкуса
0
1 / 1 / 0
Регистрация: 21.07.2010
Сообщений: 44
22.10.2010, 19:01  [ТС] 12
Цитата Сообщение от Troublemaker Посмотреть сообщение
Какой миленький костыль ^_^
Разумеется, кто чекбоксы в акцессе ставит, тот про нормализацию БД знать не может.
Так что я просто оставлю это здесь: К. Дж. Дейт. Введение в системы баз данных.
Чем обоснуете? Не один экзамен сдавали по бд, а уж нормализация излюбленный вопрос нашего завкафедрой и никто не говорил подобного.
0
22.10.2010, 19:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.10.2010, 19:01
Помогаю со студенческими работами здесь

В какой части кода прописать редирект на главную страницу
Здравствуйте! Есть код главной страницы сайта на ней выводятся все статьи с постраничной...

winconsole - get signed long, ввод целого знакового с отработкой удаления символа
Вобщем, вотъ, по просьбам трудящихся. Учитывая то, что быдломерзкий crt_scanf() изволит вводить...

Нужно создать редирект сайта случайным образом, Случайный редирект на 1 из 3 сайтов
Мне нужно написать код или скрипт чтобы при переходе на сайт сразу происходил редирект на 1 из 3...

Нужно создать редирект сайта случайным образом, Случайный редирект на 1 из 3 сайтов
Мне нужно написать код или скрипт чтобы при переходе на сайт сразу происходил редирект на 1 из 3...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru