Ru-Board.club
← Вернуться в раздел «Web-программирование»

» MySql/PHP: общие вопросы

Автор: SVlV
Дата сообщения: 22.05.2009 00:20
Подскажите пожалуйста как все исправить..очень надо... спасибо.
Автор: Cheery
Дата сообщения: 22.05.2009 00:21
SVlV

Цитата:
Подскажите пожалуйста как все исправить..очень надо

вы издеваетесь? вам сказали - ИЩИТЕ В КОДЕ ФУНКЦИЮ HTMLENTITIES - она преобразует текст в такие коды
ее можно заменить на htmlspecialchars

Автор: SVlV
Дата сообщения: 22.05.2009 00:22
спасибо
Автор: Aquariuscrimea
Дата сообщения: 22.05.2009 09:53
Подскажите что делаю не так в системе баннеро показа.
Готовые скрипты не подходят по причине что нужно вставить зависимость показа от рубрик.

Меня смущает большое количество запросов к Mysql. Имеем 5 баннеров.
У меня получается что для вывода каждого типа баннера делается отдельный запрос к БД.
Потом нужно еще обновить в БД о кол-во показанных баннеров, итого 10 запросов для каждой страницы добавляется, что по-моему не допустимо.

Почему не получается сделать 1 запрос для вывода всех баннеров?
Пробывал:

Код: SELECT * FROM banners
$query=mysql_query($sql);
while (($row=mysql_fetch_array($query))AND($row[Тип баннера]==''1)) {
выводим баннер первого типа }
Автор: Cheery
Дата сообщения: 22.05.2009 18:58
Aquariuscrimea

Цитата:
Меня смущает большое количество запросов к Mysql. Имеем 5 баннеров.
У меня получается что для вывода каждого типа баннера делается отдельный запрос к БД.
Потом нужно еще обновить в БД о кол-во показанных баннеров, итого 10 запросов для каждой страницы добавляется, что по-моему не допустимо.

Почему не получается сделать 1 запрос для вывода всех баннеров?

вы требуете от нас телепатических способностей.. не указав структуру таблиц
Автор: Aquariuscrimea
Дата сообщения: 23.05.2009 16:33

Код:
CREATE TABLE IF NOT EXISTS `banners` (
`file` varchar(30) NOT NULL, название файла баннера
`place` enum('0','1','2','3','4') NOT NULL, тип баннера (сверху, снизу, сбоку)
`rubric` int(4) NOT NULL, (раздел)
`frequency` enum('0','1') NOT NULL, (частота, 100% показа или 50%)
`from` date NOT NULL, (дата от какого числа показывать)
`link` varchar(100) NOT NULL, (ссылка)
`clicks` int(6) NOT NULL, (кол-во кликов)
Автор: Cheery
Дата сообщения: 23.05.2009 19:37
Aquariuscrimea
ну и добавляйте.. выбор банеров - один запрос.. обновление показов - тоже один
SELECT * FROM tablename WHERE rubric='номер' ORDER BY rand() LIMIT 5

обновить показы.. если подумать, то можно и следующим запросом.. и можно и
UPDATE tablename SET clicks=clicks+1 WHERE id IN(id1,id2,id3,id4,id5)

список id составляется по данным первого запроса
Автор: israel_rider
Дата сообщения: 23.05.2009 22:44
Вот такой вопрос, плиз. На локальном хостинге на моём компе работа с базой данных идёт без сбоев. А тот же скрипт на хостинге.... Когда идёт несколько запросов к базе данных подряд.... такое ощущение, что база.... не успевает отвечать, что ли..... На месте даннах на страничке пустое место. Иногда.
Вопрос. Стоит ли покапаться в руководстве на предмет указания приоретета команд? Или проблема вообще не из этой области?
Автор: Cheery
Дата сообщения: 23.05.2009 22:46
israel_rider

Цитата:
А то же скрипт на хостинге

все зависит от количества запросов.. типа подключения.. shared хостинг или нет.
не вы же один нагрузку создаете для базы
Автор: israel_rider
Дата сообщения: 23.05.2009 22:50
Да да! Во именно! В процесе долгих плясок с бубном у меня тоже сложилось аналогичное предположение.
Поэтому то я и задал вопрос. Стоит ли покапаться в мануале на предмет добавления в запрос каких то параметров, которые попросят сервер подождать, что ли, запустить запрос ещё раз, если он с первого раза не отвечает.
Автор: Cheery
Дата сообщения: 23.05.2009 22:56
israel_rider

Цитата:
Стоит ли покапаться в мануале на предмет добавления в запрос каких то параметров, которые попросят сервер подождать, что ли, запустить запрос ещё раз, если он с первого раза не отвечает

я же сказал - мало информации. для начала разберитесь в чем дело, а потом думайте об оптимизации.
Автор: israel_rider
Дата сообщения: 23.05.2009 23:04
Блин!
"Количество запросов"! "Тип подключения"! "shared хостинг или нет"!
Я и слов то таких не знаю! В учебнике про это не написано! А если начать всё это вбивать в Гугл, вообще утону....
Плиз, а есть где то инфа, в одном месте, компактно.... Что бы хоть как то можно было разобраться?
Автор: israel_rider
Дата сообщения: 30.06.2009 20:25
Пипл, помогите пожалуйста!
Скопируйте мне, если у кого есть готовый, кусок РНР кода, который выполняет все проверки безопасности, когда я организовываю для посетителей на сайте загрузку фотографий через НТМЛ форму. Чтобы злобный хакер вместо фотки не послал бы мне какой нибудь подлый скрипт.... Или ещё что нибудь в этом роде....
Автор: Cheery
Дата сообщения: 30.06.2009 23:21
israel_rider

Цитата:
все проверки безопасности, когда я организовываю для посетителей на сайте загрузку фотографий через НТМЛ форму

при чем тут mysql??
Безопасное программирование на PHP
Автор: israel_rider
Дата сообщения: 01.07.2009 00:08
Кста, Cheery... А как на счёт того, что в той теме, куда ты меня послал, последнее сообщение датируется аж январём 2006?
Автор: Cheery
Дата сообщения: 01.07.2009 00:09
israel_rider

Цитата:
А как на счёт того, что в той теме, куда ты меня послал, последнее сообщение датируется аж январём 2006?

никак - продолжаем ТУ тему, раз к данной вопрос не имеет отношения.
+ личные вопросы - в ПМ
Автор: skillu
Дата сообщения: 07.10.2009 16:52
почему исполнение следующего кода:
<?php
$db = mysql_connect ("localhost", "dog","123")) {

mysql_select_db ("books", $db);

$result = mysql_query
            ("
                SELECT SUM( id_book )
                FROM `book`;
             ");
$myrow = mysql_fetch_array ($result);
print_r($myrow);
?>

Выдает результат следующего типа:
Array
(
[0] => 120
[SUM( id_book )] => 120
)

так и должно быть ? почему значения дублируются, но с разными ключами ?
Автор: andead
Дата сообщения: 07.10.2009 17:52
skillu
http://www.php.ru/manual/function.mysql-fetch-array.html
Автор: Vofka
Дата сообщения: 07.10.2009 18:00

Цитата:
ак и должно быть ?

да

если напрягает "дублеж" юзай mysql_fetch_assoc вместо mysql_fetch_array

mysql_fetch_assoc будет типа
Array
(
[SUM( id_book )] => 120
)

Автор: skillu
Дата сообщения: 07.10.2009 20:30
andead, vofka - спасибо
Автор: DmitryKz
Дата сообщения: 27.10.2009 11:22
Ребята, как с помощью php выполнить скрипт в sql-файле? Этот скрипт создает таблицы БД и заполняет их значениями, его объем почти 100 мегабайт, так что через phpmyadmin его не выполнить (хостер не дает закачивать скрипты более 5 мегабайт). Но сам этот файл я по фтп залил, и теперь хотел бы его выполнить из папки на сервере. А как это сделать с помощью php не знаю( В php новичок, если можно не пинайте сильно)
Автор: Delta RuBoard
Дата сообщения: 27.10.2009 22:38
http://sypex.net/ тебе в помощь
Автор: Cheery
Дата сообщения: 27.10.2009 23:52
DmitryKz
доступ к шеллу есть?
http://dev.mysql.com/doc/refman/5.0/en/batch-commands.html
Автор: DmitryKz
Дата сообщения: 28.10.2009 15:45
Доступ к шеллу есть, спасибо, буду разбираться
Автор: CEMEH
Дата сообщения: 28.10.2009 17:22
Помогите построить запрос.

Есть таблица tabl, в ней столбец DATETIME имя столбца stolbec_data Нужно извлечь максимальный год

допустим

2008-10-12 12:34:13
2005-11-17 22:12:16
2009-10-12 12:34:13

Надо получить 2009

так
SELECT DATE FORMAT(MAX(stolbec_data), '%Y') AS maximal FROM tabl

не работает какая-то синтакс ошибка.

#1064 - You have an error in your SQL syntax near '( MAX( stolbec_data ) , '%Y' ) AS maximal
FROM tabl' at line 1

ps
Я еще зеленый в этом деле
Автор: andead
Дата сообщения: 28.10.2009 17:52
CEMEH
DATE_FORMAT
Автор: CEMEH
Дата сообщения: 28.10.2009 18:13
andead
Спасибо!
Автор: evle
Дата сообщения: 28.10.2009 18:38
CEMEH
И если уж на то пошло, лучше SELECT MAX(YEAR(stolbec_data)).
Автор: NovaC
Дата сообщения: 30.10.2009 06:38
на стрнице путём выборки элементов:
Код: <input type=checkbox name=checkbox[]...
Автор: Cheery
Дата сообщения: 30.10.2009 06:56
NovaC
а не проще открыть окно и сабмитнуть в него данные формой?
Иначе - зачем делаете выборку по айди, если у вас определено имя?
Есть аналогичная функция для выбора по имени, а потом перебираете массив полученных элементов, вытаскивая значения и формируя строку для запроса

Страницы: 12345678910111213

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


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.