Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 02.08.2008, 13:16   #1
Мастер
 
Аватар для Crudelis
 
Регистрация: 25.05.2008
Адрес: Днепропетровск
Сообщений: 582
Вес репутации: 205
Crudelis на пути к лучшему
Отправить сообщение для Crudelis с помощью ICQ
Lightbulb Помогите по SQL и PHP

Идея такова хочу сделать статистику для пользователей за сегодня и за вчера по ссылке к примеру. Пишу вот такой код:
PHP код:
<?php


 $date_now 
date('d.m.Y');

        echo
'Статистика за'.$date_now.'<br />'

$q mysql_query("SELECT * FROM `stat` WHERE `userid` = '".$row['id']."' and `dat` LIKE '".$date_now."'");
echo 
"Переходов за сегодня ".mysql_num_rows($q)."";
?>
<br />
<?php

$data_vcher 
date("d.m.y"time() - 86400);

        echo
'Статистика за'.$data_vcher.'<br />'

$qv mysql_query("SELECT * FROM `stat` WHERE `userid` = '".$row['id']."' and `dat` LIKE '".$data_vcher."'");

echo 
"Переходов за вчера".mysql_num_rows($qv)."";

?>
За сегодня статистику выдаёт нормально а вот за вчера не хочет выдавать статистику не в какую. Подскажите кто знает какие ошибки в этом коде и как сделать выборку результатов по запросу: ID пользователя и вчерашняя дата. Спасибо
__________________
скачать бесплатно софт можно у нас | скачать бесплатно фильмы | скачать бесплатно музыку
Умный в Яндекс не пойдёт, умный в Гугле всё найдёт!
Crudelis вне форума   Ответить с цитированием
Старый 02.08.2008, 13:25   #2
Злой модератор
 
Аватар для Wink
 
Регистрация: 25.03.2007
Адрес: Deep forest
Сообщений: 5,343
Вес репутации: 502
Wink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущее
По умолчанию

Внутри функции date() регистр форматной строки имеет значение. В этом коде в первом случае 'd.m.Y' стоит, а во втором 'd.m.y'
Да и в самой базе нет особого смысла хранить дату в таком виде. Проще туда помещать поле в формате time() и использовать арифметическое сравнение для выборки, а не сравнение строк. Вроде как быстрее будет.
Wink вне форума   Ответить с цитированием
Старый 02.08.2008, 13:27   #3
Специалист
 
Аватар для Se0man
 
Регистрация: 01.07.2008
Сообщений: 163
Вес репутации: 0
Se0man не любят в этих краяхSe0man не любят в этих краях
По умолчанию

Цитата:
Сообщение от Wink Посмотреть сообщение
Внутри функции date() регистр форматной строки имеет значение. В этом коде в первом случае 'd.m.Y' стоит, а во втором 'd.m.y'
ага точно! шифт забыл нажать)))
Se0man вне форума   Ответить с цитированием
Старый 02.08.2008, 19:34   #4
Мастер
 
Аватар для Crudelis
 
Регистрация: 25.05.2008
Адрес: Днепропетровск
Сообщений: 582
Вес репутации: 205
Crudelis на пути к лучшему
Отправить сообщение для Crudelis с помощью ICQ
По умолчанию

Wink, Спасибо огромное всё пашет незаметил вчера вечером

Добавлено через 1 минуту
Я уже и так курчу и эдак вроде бы всё и правильно написанно и в книгу уже полез там тоже правильно а оно не пашет. Думаю что за беда. А оказываеться шифт подвёл. Спасибо всем

Добавлено через 6 часов 3 минуты
Подскажите а можно как то сделать умножение вот этого столбюца к примеру на какое то число Х

echo "Переходов за вчера".mysql_num_rows($qv)."";
__________________
скачать бесплатно софт можно у нас | скачать бесплатно фильмы | скачать бесплатно музыку
Умный в Яндекс не пойдёт, умный в Гугле всё найдёт!

Последний раз редактировалось Crudelis; 02.08.2008 в 19:34. Причина: Добавлено сообщение
Crudelis вне форума   Ответить с цитированием
Старый 02.08.2008, 19:56   #5
Специалист
 
Аватар для Pikasso_40
 
Регистрация: 18.03.2008
Сообщений: 304
Вес репутации: 206
Pikasso_40 - очень-очень хороший человекPikasso_40 - очень-очень хороший человекPikasso_40 - очень-очень хороший человекPikasso_40 - очень-очень хороший человекPikasso_40 - очень-очень хороший человек
По умолчанию

Цитата:
Подскажите а можно как то сделать умножение вот этого столбюца к примеру на какое то число Х

echo "Переходов за вчера".mysql_num_rows($qv)."";
PHP код:
echo "Переходов за вчера".(mysql_num_rows($qv) * X); 
?
__________________
Чудеса случаются. Это вам любой программист скажет...
Pikasso_40 вне форума   Ответить с цитированием
Старый 04.08.2008, 23:34   #6
Мастер
 
Аватар для Crudelis
 
Регистрация: 25.05.2008
Адрес: Днепропетровск
Сообщений: 582
Вес репутации: 205
Crudelis на пути к лучшему
Отправить сообщение для Crudelis с помощью ICQ
По умолчанию

Ребята ломаю голову помогите подсказкой пожайлуста, как сделать вывод данных таблицы SQL в формате таблицы. Запрос в БД такой:

PHP код:
 $sql = @mysql_query("SELECT * FROM `zakaz` WHERE `user` = '".intval($user['id'])."'"); 
Т.е. выбока данных идёт по ID пользователю. Что хочу сделать, хочу сделать вывод заказов клиента в виде таблицы. Т.е. переходя в статистику пользователь видет таблицу в которой указанно дата заказа, сам предмет заказа и обработан заказ или нет. О стальные заказы к примеру которые обратотанны уже идут в виде таблицы снизу. Подскажите как можно сделать такой вывод чтоб строки таблицы строились сами в зависимости от строк которые имеються в бд и относяться к ID пользователю
__________________
скачать бесплатно софт можно у нас | скачать бесплатно фильмы | скачать бесплатно музыку
Умный в Яндекс не пойдёт, умный в Гугле всё найдёт!
Crudelis вне форума   Ответить с цитированием
Старый 04.08.2008, 23:51   #7
Специалист
 
Аватар для programmer
 
Регистрация: 09.01.2008
Сообщений: 120
Вес репутации: 202
programmer скоро станет известенprogrammer скоро станет известен
Отправить сообщение для programmer с помощью ICQ
По умолчанию

PHP код:
<table>
<?php
while ($row mysql_fetch_object($sql))
{
    
?> 
    <tr> <td><?php echo $row->zakaz_name;?></td> <td><?php echo $row->user;?></td></tr>
    <?php
}
?>
</table>
здесь zakaz_name - поле например с названием вашего заказа, user - Id юзера как я понял. Это поля таблицы. Можете таких ячеек скоко угодно насоздавать.

Предугадаю следующий вопрос. Если у вас есть отдельно таблица юзеров, то чтобы получить их имена придется еще join таблиц делать
programmer вне форума   Ответить с цитированием
Старый 04.08.2008, 23:57   #8
Мастер
 
Аватар для Crudelis
 
Регистрация: 25.05.2008
Адрес: Днепропетровск
Сообщений: 582
Вес репутации: 205
Crudelis на пути к лучшему
Отправить сообщение для Crudelis с помощью ICQ
По умолчанию

Спасибо огромное получилось
__________________
скачать бесплатно софт можно у нас | скачать бесплатно фильмы | скачать бесплатно музыку
Умный в Яндекс не пойдёт, умный в Гугле всё найдёт!
Crudelis вне форума   Ответить с цитированием
Старый 06.08.2008, 19:14   #9
Специалист
 
Аватар для Pikasso_40
 
Регистрация: 18.03.2008
Сообщений: 304
Вес репутации: 206
Pikasso_40 - очень-очень хороший человекPikasso_40 - очень-очень хороший человекPikasso_40 - очень-очень хороший человекPikasso_40 - очень-очень хороший человекPikasso_40 - очень-очень хороший человек
По умолчанию

Или если хочешь работать с массивами, а не с объектами так:
PHP код:
<table>
<?php
while ($row mysql_fetch_assoc($sql))
{
    
?> 
    <tr>
        <td><?=$row['zakaz_name']?></td> 
        <td><?=$row['user']?></td>
    </tr>
    <?php
}
?>
</table>
__________________
Чудеса случаются. Это вам любой программист скажет...
Pikasso_40 вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите помогите вставить код в ShopScript Cat_N Вопросы по работе системы 3 22.01.2010 14:35


Часовой пояс GMT +3, время: 04:50.