PHP.SU

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

Страниц (21): В начало « ... 11 12 13 14 [15] 16 17 18 19 ... » В конец

> Найдено сообщений: 314
Tox Отправлено: 21 Апреля, 2012 - 11:58:36 • Тема: Форма, action • Форум: Вопросы новичков

Ответов: 9
Просмотров: 408
Страницы сайта выводятся клиенту след образом: скрипт смотрит на GET id, затем через switch подключает нужную страничку. То есть если id=news, то require N.php и тд. Таким образом, юзеры не видят, какие файлы и в каких директориях они находятся.
Я написал модуль новостей, и к нему никак не получается дописать модуль комментов, проблема в том, что чтобы я не рисовал в
CODE (html):
скопировать код в буфер обмена
  1. <form action="<?php echo $_SERVER['REQUEST_URI']?>" method="post">
при нажатии на submit кидает на index.php. А сами новости с комментами находятся на index.php?news&тра-та-та.
да, я могу указать абсолютный путь, но тогда всем сразу станет ясно, где лежит файл.
Можно, конечно, создать файл в корне, на который и будет указывать action. Но это тоже не вариант. Тогда надо дофига инфы в него передавать.
Как сделать так, чтобы не кидало на index.php, вся передаваемая инфа передавались именно нужному скрипту?
Tox Отправлено: 20 Апреля, 2012 - 16:30:02 • Тема: Фильтр через $_GET[] • Форум: Вопросы новичков

Ответов: 4
Просмотров: 157
спасибо, понял
Tox Отправлено: 20 Апреля, 2012 - 16:13:29 • Тема: Фильтр через $_GET[] • Форум: Вопросы новичков

Ответов: 4
Просмотров: 157
Viper, вот именно того, что вы написали Улыбка

в любом случае 1 возвращает
Tox Отправлено: 20 Апреля, 2012 - 15:57:06 • Тема: Фильтр через $_GET[] • Форум: Вопросы новичков

Ответов: 4
Просмотров: 157
Ситуация такая - в адресной строке есть что-то вроде "&id=25". Скрипт обрабатывает это значение, приводит к инту и так далее. Далее это значение будет использоваться в sql-запросе.
Но тут проблема - в таблице может и не быть, например, значения "1021". Я не могу понять, как (с помощью чего) проверить именно это условие.
Да, можно вначале сделать выборку, узнать макс значение id, а потом тупо сравнить, но тогда получится 2 sql-запроса, а желательно уместить все в 1, чтобы все было покороче.
Tox Отправлено: 17 Апреля, 2012 - 18:28:42 • Тема: Недостает элементов в выборе • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 45
Благодарю, все заработало.
Про having: не совсем понятно, как NOW()-INTERVAL 24 HOUR использовать для where. Через between?
Tox Отправлено: 17 Апреля, 2012 - 17:38:36 • Тема: Недостает элементов в выборе • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 45
EuGen пишет:
PHP:
скопировать код в буфер обмена
  1. $q = mysql_query("SELECT date_format(`date`, '%H') AS `hour`, sum(`watches`) AS `hour_watches` FROM table GROUP BY `hour` having `hour`>NOW()-INTERVAL 24 HOUR;");

?

Это я уже пробовал, запрос ничего не возвращает
Tox Отправлено: 17 Апреля, 2012 - 16:59:16 • Тема: Недостает элементов в выборе • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 45
Спасибо, поменял запрос, сработало:
PHP:
скопировать код в буфер обмена
  1. $q = mysql_query("SELECT date_format(`date`, '%Y-%m-%d %H') AS `hour`, sum(`watches`) AS `hour_watches` FROM table GROUP BY `hour` having `hour`>NOW()-INTERVAL 24 HOUR;");

И сам цикл, теперь это один массив. Проблема в том, что дата записывается в виде "2012-04-15 17", можно как-нибудь "укоротить" до "17"? Да, знаю про регулярки, а с помощью sql?
Tox Отправлено: 17 Апреля, 2012 - 12:59:54 • Тема: Недостает элементов в выборе • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 45
Таблица в бд имеет следующий вид: поле id(первичный кей), поле date (тип DateTime), watches (int). Каждые 10 минут скрипт записывает в бд текущую дату (2012-04-17 13:53:00) и данные из статистики(внешней). Все работает, все пишется. Начал выводить данные из бд следующим sql-запросом:
PHP:
скопировать код в буфер обмена
  1. $q = mysql_query("SELECT date_format(`date`, '%H') AS `hour`, date_format(`date`, '%Y-%m-%d %H:%i:%S') AS `date`, sum(`watches`) AS `hour_watches` FROM table GROUP BY `hour` having `date`>NOW()-INTERVAL 1 DAY ORDER BY `date` ASC;");

То есть по сути суммируем watches, группируем по часам, начиная с самой старой даты.
Потом выводом в массив:
PHP:
скопировать код в буфер обмена
  1. while ($row = mysql_fetch_assoc($q)){
  2. $ARR[0]=$row['hour_watches'];
  3. $ARR["x"]=$row['hour'];

А на выходе получается 21 массив, а не 24! Я 100 раз бд проверил, за день должно вывестись 24 массива (в бд данные есть!).
Что это за прикол, пожалуйста, объясните
Tox Отправлено: 16 Апреля, 2012 - 18:59:09 • Тема: Построение графика • Форум: Обсуждение статей

Ответов: 1
Просмотров: 1547
Разобрался. Спустя 3 часа Голливудская улыбка
Tox Отправлено: 16 Апреля, 2012 - 16:24:26 • Тема: Построение графика • Форум: Обсуждение статей

Ответов: 1
Просмотров: 1547
Здравствуйте, очень понравилась эта статья, я чуть изменил - нумерация по X начинается с 0. И вопрос - как сделать так, чтобы этот самый 0 по иксу был в начале координат? Я понял, что это где-то здесь:

PHP:
скопировать код в буфер обмена
  1. // Вывод подписей по оси X
  2. $prev=100000;
  3. $twidth=$LW*strlen($DATA["x"][0])+6;
  4. $i=$X0+$RW;
  5.  
  6. while ($i>$X0) {
  7.     if ($prev-$twidth>$i) {
  8.         $drawx=$i-($RW/$count)/2;
  9.         if ($drawx>$X0) {
  10.             $str=$DATA["x"][round(($i-$X0)/($RW/$count))-1];
  11.             imageline($im,$drawx,$Y0,$i-($RW/$count)/2,$Y0+5,$text);
  12.             imagestring($im,2, $drawx-(strlen($str)*$LW)/2, $Y0+7,$str,$text);
  13.             }
  14.         $prev=$i;
  15.         }
  16.     $i-=$RW/$count;
  17.     }
  18.  

Опыт не большой, в чужом коде разбираюсь плохо, а за статью спасибо, очень интересно!
(Добавление)
+
какой смысл в $prev?
Tox Отправлено: 10 Апреля, 2012 - 15:44:53 • Тема: Дублирование выборки из бд • Форум: Вопросы новичков

Ответов: 8
Просмотров: 294
Я изменил исходник, вообще смысл заключается в том, что есть таблица, внутри много чего, из нужного - дата(тип date) и money(int, количество прибыли), надо рассчитать прибыль по месяцам, и значения занести в массив (будет использоваться для построения годового графика).
PHP:
скопировать код в буфер обмена
  1. for ($m=1; $m<=12; $m++) {
  2. $q = mysql_query("SELECT money FROM bd WHERE date between '$year-$m-01' and '$year-$m-31';");
  3.         while ($row = mysql_fetch_assoc($q)){
  4.         $sum += $row['money'];
  5.         }
  6. $all[]= $sum;
  7. }
  8. print_r($all);

И тут где-то ошибка, потому что все выводится, но по формуле m, m+n, m+n+o и так далее +почему-то считаются те месяцы, которых еще в бд нет. Возможно я дико туплю уже 3 часа, направьте куда копать или думать, а может почитать.
Tox Отправлено: 10 Апреля, 2012 - 13:14:50 • Тема: Дублирование выборки из бд • Форум: Вопросы новичков

Ответов: 8
Просмотров: 294
если вывести из цикла, то в выводе будет самый последний элемент из столбца, а это мне не надо. Я уже разобрался с помощью while, etoYA, спасибо
Tox Отправлено: 10 Апреля, 2012 - 12:54:43 • Тема: Дублирование выборки из бд • Форум: Вопросы новичков

Ответов: 8
Просмотров: 294
etoYA пишет:
Tox пишет:
for ($s=0; $s<mysql_num_rows($q); $s++){
$n = mysql_fetch_array($q);

Что это за извращение? Используй цикл for только тогда, когда это действительно необходимо.


(Добавление)
Tox, и зачем тебе
в цикле?
Ну я прочитал это здесь (http://www.php.su/mysql/?functions)
Tox Отправлено: 10 Апреля, 2012 - 12:37:14 • Тема: Дублирование выборки из бд • Форум: Вопросы новичков

Ответов: 8
Просмотров: 294
Есть бд, я решил вывести полностью столбец из таблицы. Все сработало, но почему-то значения дублируются:
PHP:
скопировать код в буфер обмена
  1. $q = mysql_query("SELECT column FROM table WHERE условие");
  2. for ($s=0; $s<mysql_num_rows($q); $s++){
  3. print_r($n);
  4. }

А в выводе:

CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.     [0] => 2556
  3.     [column] => 2556
  4. )
  5. (
  6.     [0] => 460
  7.     [column] => 460
  8. )
  9. и т.д.

В чем ошибка?
Tox Отправлено: 06 Апреля, 2012 - 11:10:28 • Тема: Вывод выполнения скрипта в файл • Форум: Вопросы новичков

Ответов: 2
Просмотров: 123
DeepVarvar пишет:
ob_start и далее там увидите.

Спасибо, помогло

Страниц (21): В начало « ... 11 12 13 14 [15] 16 17 18 19 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB