Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1 2 След.
RSS
Mysql - С чем его едят ?
 
Здравствуйте , я вот начал учить php , скачал хорошую книгу , поставил Денвер , и в книге дошел до создания таблиц . А где их создавать ? Куда писать ? Вот php коды я прописываю в блокнот и даю разрешение .php , а что делать с таблицами (прошу если что тему не удалять , новенький все таки )
 
Клацай
PS а
Цитата
Игорь Бражниченко пишет:
даю разрешение .php
это круто...  :)
 
Банзай, сдается мне, что товарищу для начала надо с самим MySQL разобраться. Что, собственно, и фигурирует в теме. :) А едят его с водкой, вестимо. Иногда с коньяком. И только особо просвещенные гуру совмещают мускул со слабоалкогольными напитками - то есть с пивом.  :)
Если серьезно - купите себе в любом книжном магазине в компьютерном отделе книгу по MySQL. Лучше - попроще.
Если интересует электронный вариант - то вот - http://www.mysql.ru/docs/ Кладезь информации для неленивого ума. Читать - не перечитать.
 
ну, действительно, чтобы разобраться, надо или в книжный, или в инете информацию искать :)
 
А может быть человек про HTML-таблицы спрашивал. :)
 
Mysql - С чем его едят ? он для cms сайта нужен  :|
Изменено: kasperskee - 27.05.2010 17:53:58
 
Если в требованиях cms стоит mysql, то нужен.
Если ты свою cms писать вознамеришься, то это уже сам решишь, нужны тебе базы данных или нет. Некоторые в них (таблицах баз данных) хранят новости, статьи и прочий контент сайта. Чтобы удобно было добавлять контент на сайт и пишется cms.
 
http://localhost/tools/phpmyadmin
 
Цитата
trivial-qwe пишет:
http://localhost/tools/phpmyadmin

Очень умно. Главное - свидетельствует об уровне интеллекта ответившего.
 
Всем привет. Не стал новую тему заводить, т.к. мой уровень познания в области mySQL пока +0. Вот пытаюсь разобраться. Я поставил сборщик статистики интернет посещений ipcad и прикрутил к нему Deus's Statistics (http://deus.softweb.ru/page.php?id=21). Интерфейс конечно никакой, вот я и пытаюсь его доработать не имея особого представления о PHP и MySQL. Пока вроде всё получается, но вот натолкнулся на одну проблему для себя. Есть функция, которая реализует запрос к базе и выводит отчёт статистики по пользователям (это уже я сам ваял):

// Вывод всех пользователей + трафик за месяц + общий трафик
function print_month_inet_summ (&$y,&$m) {
$last_day = date("Y-m-d", mktime(0, 0, 0, $m+1, 0, $y));
$query = "SELECT dst,sum(bytes) FROM `download`
WHERE date between '$y-$m-1' and '$last_day'
GROUP BY dst
ORDER BY date DESC";
$result = mysql_query ($query);
echo "
<h4>Загрузка из Интернет по пользователям</h4>
<table align=left border=1 cellpadding=10 cellspacing=0>
<TR><TD align=center><strong>Пользователь</strong></TD>
<td align=center><strong>Трафик, MBytes</strong></td>";>
if ($result) {
while ($a = mysql_fetch_array ($result))
{
$sum= ceil($a[1]/1024/1024);
echo "
<tr>
<td>$a[0]</td>
<td align=right>$sum</td>
</tr>
";}}
}
В текущем виде отчёт выводится так:
Пользователь   Трафик, Mbytes
25645667653     546
45646845646     789
44564564654     784
...
Мне же нужно выводить вместо dst(набор цифр) имена пользователей uname (норамльные имена соответствующие номеру dst).
Подскажите как это можно реализовать. Надеюсь на ваш опыт.
Заранее благодарю.
 
Цитата
primadmin пишет:
Мне же нужно выводить вместо dst(набор цифр) имена пользователей uname (норамльные имена соответствующие номеру dst).

Нужно - выводите. Лично я вообще не въехал, что такое в Вашем случае dst, который записан в базе. А из приведенного примера скрипта это совершенно непонятно.
ПыСы: К теме MySQL это вообще никакого отношения не имеет.
 
$query = "SELECT dst,sum(bytes) FROM `download`
WHERE date between '$y-$m-1' and '$last_day'
GROUP BY dst
ORDER BY date DESC";
$result = mysql_query ($query);
ну не к мускулу а просто к SQL, сути не меняет:
если у тебя все данные в одной таблице (проверишь через "SELECT * FROM `download`") то просто заменишь dst на подходящее поле,
если у тебя где то есть согласование dst с пользователем в другой таблице, то SELECT dst.download,sum(bytes).download,user.table2 и читай про "LEFT JOIN"
 
Цитата
[mad]Mega пишет:
$query = "SELECT dst,sum(bytes) FROM `download`

WHERE date between '$y-$m-1' and '$last_day'

GROUP BY dst

ORDER BY date DESC";

$result = mysql_query ($query);

ну не к мускулу а просто к SQL, сути не меняет:

если у тебя все данные в одной таблице (проверишь через "SELECT * FROM `download`") то просто заменишь dst на подходящее поле,

если у тебя где то есть согласование dst с пользователем в другой таблице, то SELECT dst.download,sum(bytes).download,user.table2 и читай про "LEFT JOIN"
думаю что понял. спасибо. буду кубатурить.
 
WHERE dst.download=dst.table2. Один из вариантов JOIN. :)
 
Цитата
SOLDIER пишет:
WHERE dst.download=dst.table2. Один из вариантов JOIN.  
А как быть в моём случае? Строка такого вида имеет смысл?
WHERE date between '$y-$m-1' and '$last_day' and dst.download=checkedip.users
 
А проверить запрос на рабочем SQL-сервере  религия не позволяет? Или природная стеснительность? :)
 
Цитата
SOLDIER пишет:
А проверить запрос на рабочем SQL-сервере  религия не позволяет? Или природная стеснительность?  
Думаю что инстинкт. Решил положиться на ваш опыт. Если неправильно, то можно до посинения проверять.
 
Я, конечно, понимаю, что метод научного тыка - наша национальная забава. :) Но книги умные тоже не мешало бы почитать.  :) Если интересует мое мнение - то запрос вполне себе корректный. Лично я бы, чисто для порядка наоборот бы написал.
WHERE dst.download=checkedip.users and date between '$y-$m-1' and '$last_day'
 
Цитата
SOLDIER пишет:
Я, конечно, понимаю, что метод научного тыка - наша национальная забава.   Но книги умные тоже не мешало бы почитать.    Если интересует мое мнение - то запрос вполне себе корректный. Лично я бы, чисто для порядка наоборот бы написал.

WHERE dst.download=checkedip.users and date between '$y-$m-1' and '$last_day'
Вопрос решаемый мной на данный момент критичен для меня. Книжки подобные я читаю с удовольствием. В данный момент нет времени читать подробно литературу. А форумы для того и существуют, что бы обсудить и оперативно решить конкретный вопрос. Уж извиняюсь за то что напряг, но книжку обязательно прочитаю.
 
Блин... Так и не удалось мне реализовать задуманное. Опять прошу у спецов помощи. Теперь подробно:
вот так выглядят таблицы:

таблица 'download'

таблица 'users'
вот так запрос:
function print_month_inet_summ (&$y,&$m) {
$last_day = date("Y-m-d", mktime(0, 0, 0, $m+1, 0, $y));
$query = "SELECT dst,sum(bytes) FROM `download`
WHERE date between '$y-$m-1' and '$last_day'
GROUP BY dst
ORDER BY date DESC";
$result = mysql_query ($query);
---------------------------------------------------------------------------------------------------------
Так выглядит отчёт:

Мне надо заменить в отчёте dst из таблицы download на uname из таблицы users в соответствии dst=checkedip.
Пробовал и через WHERE и через LEFT JOIN. Отчёт вообще не выводится.
PS.: и было бы здорово добавить сумму общую внизу отчёта по трафику.
Изменено: Николай - 08.04.2011 04:20:15 (добавлено)
Страницы: 1 2 След.
Читают тему