PHP.SU

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

Страниц (6): « 1 2 [3] 4 5 6 »

> Найдено сообщений: 82
k0ma Отправлено: 01 Февраля, 2015 - 16:21:45 • Тема: Сортировка значений из базы через IF, 5 переменных • Форум: Программирование на PHP

Ответов: 4
Просмотров: 469
Агроменное спасибо )
если я понял правильно, то в
CODE (htmlphp):
скопировать код в буфер обмена
  1. if(preg_match('/^tarif$|^ip$|^id$/',$_GET['sort'],$match)) {

можно вставить не только ip,tarif,login и допихать можно значей до бесконечности? главное чтобы в базе были? =)
k0ma Отправлено: 01 Февраля, 2015 - 07:15:34 • Тема: Сортировка значений из базы через IF, 5 переменных • Форум: Программирование на PHP

Ответов: 4
Просмотров: 469
Вобщем ситуация слудующая:
есть база users,

CODE (htmlphp):
скопировать код в буфер обмена
  1. id     | int(20)    | NO   | PRI | NULL    | auto_increment |
  2. | login  | char(25)   | YES  |     | NULL    |                |
  3. | pass   | char(50)   | YES  |     | NULL    |                |
  4. | ip     | char(20)   | NO   |     | NULL    |                |
  5. | tlimit | bigint(20) | YES  |     | 0       |                |
  6. | tarif  | char(10)   | NO   |     | NULL    |                |
  7. | locked | tinyint(4) | YES  |     | 0       |                |


есть код выведи мне данные из базы и в таблицу положи.
надо сделать чтобы была сортировка по tarif,id,login,ip

примерный код, но этот код не работает.

CODE (htmlphp):
скопировать код в буфер обмена
  1. echo "<body><h1>List Users.</h1><br>";
  2. echo "<table border='0' cellspacing='1' bgcolor='#000000'>
  3.   <tr bgcolor='#CCCCFF'>
  4.     <td><a href=listusers.php?sort=login>User</a></td>
  5.     <td><a href=listusers.php?sort=ip>IP adress</a></td>
  6.     <td><a href=listusers.php?sort=tarif>Tarif</a></td>
  7.     <td>Limit, m</td>
  8.     <td>Status</td>
  9.     </tr>";
  10. if ($_GET['sort']!='ip' and $_GET['sort']!='login' and $_GET['sort']!='tarif'){
  11. $QListUsers=mysql_query("SELECT * FROM users ORDER BY login");
  12. if ($_GET['sort']!='login' and $_GET['sort']!='tarif'){
  13.  $QListUsers=mysql_query("SELECT * FROM users ORDER BY ip");
  14.  if ($_GET['sort']!='login' and $_GET['sort']!='ip'){
  15.  $QListUsers=mysql_query("SELECT * FROM users ORDER BY tarif");
  16.   if ($_GET['sort']!='tarif' and $_GET['sort']!='ip'){
  17.    $QListUsers=mysql_query("SELECT * FROM users ORDER BY login");
  18.    }
  19.   }
  20.  }
  21. }
  22.   while ($RowList=mysql_fetch_array($QListUsers))
  23.   {
  24.   echo "<tr bgcolor='#CCCCCC'>
  25.    <td><a href=traf.php?user=$RowList[login]>$RowList[login]</td>
  26.    <td>$RowList[ip]</td>
  27.    <td>$RowList[tarif]</td>
  28.    <td>$RowList[tlimit]</td>";
  29.     if ($RowList['locked']=='0')
  30.      {
  31.       echo "<td><font color='#00CC00'>active</color></td></tr>";
  32.      } else {
  33.        echo "<td><font color='font color='#FF0000'>block</color></td>";
  34.   echo "</tr>"; }
  35.   }
  36.   echo "</table></body></html>";
  37. ?>
  38.  


Интересует именно момент
CODE (htmlphp):
скопировать код в буфер обмена
  1. if ($_GET['sort']!='ip' and $_GET['sort']!='login' and $_GET['sort']!='tarif'){
  2. $QListUsers=mysql_query("SELECT * FROM users ORDER BY login");
  3. if ($_GET['sort']!='login' and $_GET['sort']!='tarif'){
  4.  $QListUsers=mysql_query("SELECT * FROM users ORDER BY ip");
  5.  if ($_GET['sort']!='login' and $_GET['sort']!='ip'){
  6.  $QListUsers=mysql_query("SELECT * FROM users ORDER BY tarif");
  7.   if ($_GET['sort']!='tarif' and $_GET['sort']!='ip'){
  8.    $QListUsers=mysql_query("SELECT * FROM users ORDER BY login");
  9.    }
  10.   }
  11.  }
  12. }

Раньше было 2е переменные, логин + ip, можно было написать если не логин то сделай выборку из базы и отсортируй по ip, либо выборка из базы и сортировка по логину, сейчас переменных 5 - я голову сломал уже.
k0ma Отправлено: 31 Января, 2015 - 14:21:06 • Тема: Абстрактный вопрос по оптимизации • Форум: Программирование на PHP

Ответов: 15
Просмотров: 1640
Нехочу плодить топики, если не прав пните.
Вобщем ситуация слудующая:
есть база users,
CODE (htmlphp):
скопировать код в буфер обмена
  1.  id     | int(20)    | NO   | PRI | NULL    | auto_increment |
  2. | login  | char(25)   | YES  |     | NULL    |                |
  3. | pass   | char(50)   | YES  |     | NULL    |                |
  4. | ip     | char(20)   | NO   |     | NULL    |                |
  5. | tlimit | bigint(20) | YES  |     | 0       |                |
  6. | tarif  | char(10)   | NO   |     | NULL    |                |
  7. | locked | tinyint(4) | YES  |     | 0       |                |
  8.  

есть код выведи мне данные из базы и в таблицу положи.
надо сделать чтобы была сортировка по tarif,id,login,ip

примерный код, но этот код не работает.
CODE (htmlphp):
скопировать код в буфер обмена
  1. echo "<body><h1>List Users.</h1><br>";
  2. echo "<table border='0' cellspacing='1' bgcolor='#000000'>
  3.   <tr bgcolor='#CCCCFF'>
  4.     <td><a href=listusers.php?sort=login>User</a></td>
  5.     <td><a href=listusers.php?sort=ip>IP adress</a></td>
  6.     <td><a href=listusers.php?sort=tarif>Tarif</a></td>
  7.     <td>Limit, m</td>
  8.     <td>Status</td>
  9.     </tr>";
  10. [b]if ($_GET['sort']!='ip' and $_GET['sort']!='login' and $_GET['sort']!='tarif'){
  11. $QListUsers=mysql_query("SELECT * FROM users ORDER BY login");
  12. if ($_GET['sort']!='login' and $_GET['sort']!='tarif'){
  13.  $QListUsers=mysql_query("SELECT * FROM users ORDER BY ip");
  14.  if ($_GET['sort']!='login' and $_GET['sort']!='ip'){
  15.  $QListUsers=mysql_query("SELECT * FROM users ORDER BY tarif");
  16.   if ($_GET['sort']!='tarif' and $_GET['sort']!='ip'){
  17.    $QListUsers=mysql_query("SELECT * FROM users ORDER BY login");
  18.    }
  19.   }
  20.  }
  21. }[/b]
  22.   while ($RowList=mysql_fetch_array($QListUsers))
  23.   {
  24.   echo "<tr bgcolor='#CCCCCC'>
  25.    <td><a href=traf.php?user=$RowList[login]>$RowList[login]</td>
  26.    <td>$RowList[ip]</td>
  27.    <td>$RowList[tarif]</td>
  28.    <td>$RowList[tlimit]</td>";
  29.     if ($RowList['locked']=='0')
  30.      {
  31.       echo "<td><font color='#00CC00'>active</color></td></tr>";
  32.      } else {
  33.        echo "<td><font color='font color='#FF0000'>block</color></td>";
  34.   echo "</tr>"; }
  35.   }
  36.   echo "</table></body></html>";
  37. ?>
  38.  

Раньше было 2е переменные, логин + ip, можно было написать если не логин то сделай выборку из базы и отсортируй по ip, либо выборка из базы и сортировка по логину, сейчас переменных 5 - я голову сломал уже.
k0ma Отправлено: 30 Октября, 2014 - 05:45:25 • Тема: Изминение отрицательных и положительных знаков в значении • Форум: Администрирование БД

Ответов: 1
Просмотров: 1104
есть таблица
CODE (htmlphp):
скопировать код в буфер обмена
  1. id values
  2. 1  12
  3. 2  -1
  4. 3  7
  5. 4  98
  6. 5  -521


Нужно выполнить к ней запрос чтобы отрицательные знаки стали положительными, а положительные стали отрицательными.
k0ma Отправлено: 18 Октября, 2014 - 19:15:27 • Тема: php.curl+telnet+hp switch • Форум: Работа с сетью

Ответов: 0
Просмотров: 1106
Задача, создать скрипт который будет по телнету+curl отправлять команды на заданный адресс, по заданному логину и паролю, форму для введения адреса,логина,пароля ввел, а как дальше бы сделать чтобы curl цеплялся к свичу и передавал мои данные и потом после удачной авторизации передавал мою команды и возвращал мне на страницу те данные которые отдает свитч в ответ?

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $address=$_POST['address'];
  3. $login=$_POST['login'];
  4. $pass=$_POST['pass'];
  5. $text=$_POST['text'];
  6.  
  7. echo "<form action=telnet.php method='POST'>";
  8. echo "Введите адрес Свича";
  9. echo "<p><input type='text' name='address'>";
  10. echo "<br>";
  11. echo "Введите пользователя для доступа к свичу";
  12. echo "<p><input type='text' name='login'>";
  13. echo "<br>";
  14. echo "Введите пароль для доступа к свичу";
  15. echo "<p><input type='text' name='pass'>";
  16. echo "<br>";
  17. echo "Что изволите спросить у свича";
  18. echo "<p><input type='text' name='text'>";
  19. echo "<input type=submit value='добавить MAC-ADDRESS'></p>";
  20. echo "</form>";
  21.  
  22. if (isset($_POST['address']) and !empty($_POST['address']) and isset($_POST['login']) and !empty($_POST['login']) and isset($_POST['pass']) and !empty($_POST['pass'])) {
  23. echo "<p>";
  24. echo "address -".$_POST['address'];
  25. echo "login -".$_POST['login'];
  26. echo "pass -".$_POST['pass'];
  27. echo "text -".$_POST['text'];
  28. echo "</p>";
  29. }
  30. else {
  31. echo "пусто... Ты ввел хоть что-то?";
  32. }
  33.  
  34.  
  35. ?>


кто смелый?
или надо было идти на "напишите за меня пожалуйста" ? Радость
k0ma Отправлено: 02 Октября, 2014 - 18:22:44 • Тема: Сложение данных из mysql • Форум: Хранение данных, их вывод и обработка

Ответов: 5
Просмотров: 1870
To Мелкий
Извини, но я неверно истолковал, то что сам желал получить
Есть 2е таблицы 1 и 2. В них байты повяляються.
Есть таблицы 3 и 4, в них копируютсья данные из таблиц 1 и 2(данные из таблиц удаляются). Каждые 15 минут все копируется в таблицы 3 и 4. КУЧА ХЛАМА!

Далее есть еще таблицы 5 и 6. В конце дня данные из таблицы 3 (bytes) суммируются и кладутся в таблицу 5, а данные из таблицы 4 тоже суммируются (bytes) и кладутся в таблицу 6.

Воот как надо:

Твой пост показывает, как сложить bytes из 2х таблиц в одну, а надо суммировать bytes для каждой таблицы отдельно! Тоесть все байты из таблицы 3 сложить(сумма) и положить в таблицу 5, и тоже самое для таблицы 4, все ее байты сложить и положить в таблицу 6, критерием для сложения являются ip_to(таблица 3) и ip_from (таблица 4)

Таблица 3 и 4 (их колонки одинаковые, но данные отличаются lan->internet, internet->lan)
id ip_from ip_to bytes

Таблицы 5 и 6 (их колонки одинаковые, но данные отличаются lan->internet, internet->lan)
id date ip login ip_from ip_to bytes
k0ma Отправлено: 30 Сентября, 2014 - 15:50:14 • Тема: Сложение данных из mysql • Форум: Хранение данных, их вывод и обработка

Ответов: 5
Просмотров: 1870
И еще раз спасибо!
что бы я делал без Мелкого и форума... читал маны скажите вы и будете правы....

to Мелкий
Я думаю протокол не нужен, нужно только сгрупировать по ip и дате.
ip_from | ip_to | bytes | pakets | date |
table1, table2,table3,table4 и тд.
на счет того как правильно базу создать, да, неумею, и не учился... вроде бы и работает так как есть.
k0ma Отправлено: 30 Сентября, 2014 - 03:23:53 • Тема: Сложение данных из mysql • Форум: Хранение данных, их вывод и обработка

Ответов: 5
Просмотров: 1870
Всем привет. Мелкий, пожалуйста прочти это.... =))
Вобщем есть 2 таблицы:
CODE (htmlphp):
скопировать код в буфер обмена
  1. ip                              dest_ip                         protocol                bytes           pakets          date
  2. 192.168.12.1    80.255.255.255          80                              90                      90                      29.09.14
  3. 192.168.12.2    80.255.255.255          80                              90                      90                      29.09.14
  4. 192.168.12.3    80.255.255.255          80                              90                      90                      29.09.14
  5.  

2ая таблица точно такая же, только местами заменины ip и dest_ip
Необходимо сложить данные pakets, bytes по параметрам ip, date
Тоесть есть адрес 192.168.12.1 надо сложить все его пакеты из 2х таблиц, и байты из 2х таблиц и положить в 3ю таблицу по дате, сложить все данные по датам, в один день, не захватив другой день.


будет чтото типа этого
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. ip                              dest_ip                         protocol                bytes           pakets          date
  3. 192.168.12.1    80.255.255.255          80                              90                      90                      29.09.14
  4. 192.168.12.2    80.255.255.255          80                              90                      90                      29.09.14
  5. 192.168.12.3    80.255.255.255          80                              90                      90                      29.09.14
  6. 192.168.12.1    80.255.255.255          80                              50                      70                      30.09.14
  7. 192.168.12.2    80.255.255.255          80                              50                      70                      30.09.14
  8. 192.168.12.3    80.255.255.255          80                              50                      70                      30.09.14
  9.  


Еще вопрос, вообще созданы таблицы правильно или необходимо создавать заранее таблицы со столбцами id (not null AUTO_INCREMENT) PRIMARY KEY(`id`)?
Читал форумы с похожим вопросом там дали понять что без id данные не будут правильно складываься, все будет путаться, но у нас данных тогда получается милиарды ))
это нормально для мускула?
k0ma Отправлено: 18 Августа, 2014 - 07:28:39 • Тема: выборка из массивов с последующей записью в массив • Форум: Хранение данных, их вывод и обработка

Ответов: 9
Просмотров: 2614
Возникла еще необходимость внети в ваш скрипт параметр, чтобы выборка так и была по балансу но + еще чтобы у человека, по ранее выбраному ID, в таблице accounts, столб is_blocked в нем у этих людей менялся код (определенный код - определенный вид блокировки), тоесть еще будет 5 видов кодов(блокировок). Это реально?
код - число, например 16, или 768.
k0ma Отправлено: 15 Августа, 2014 - 11:03:43 • Тема: выборка из массивов с последующей записью в массив • Форум: Хранение данных, их вывод и обработка

Ответов: 9
Просмотров: 2614
to Мелкий спасибо огромное да, то что нам надо =)
я уже замучился с выборкой из массивов по средствам РНР.
Скажите где почитать про такие длинные запросы для mysql и как они пишутся?
k0ma Отправлено: 14 Августа, 2014 - 17:42:11 • Тема: выборка из массивов с последующей записью в массив • Форум: Хранение данных, их вывод и обработка

Ответов: 9
Просмотров: 2614
Мелкий пишет:
k0ma пишет:
это выборка и таблицы по group_id=100

Спасибо, кэп. Как бы говоря, SQL я читать умею.

Я вижу, что что-то вы сделать пытаетесь. Меня не интересует, как вы это хотите сделать. Покажите, что у вас есть в БД, как оно между собой связано и что надо из этого получить.

CODE (htmlphp):
скопировать код в буфер обмена
  1.  describe accounts;
  2. +----------------------+--------------+------+-----+---------+----------------+
  3. | Field                | Type         | Null | Key | Default | Extra          |
  4. +----------------------+--------------+------+-----+---------+----------------+
  5. | id                   | int(11)      | NO   | PRI | NULL    | auto_increment |
  6. | balance              | double       | NO   |     | 0       |                |
  7. | account_name         | varchar(255) | NO   |     |         |                |
  8. | credit               | double       | NO   |     | 0       |                |
  9. | flags                | int(11)      | NO   |     | 0       |                |
  10. | is_blocked           | int(11)      | NO   |     | 0       |                |
  11.  
  12.  
  13. mysql> describe users;
  14. +----------------------+--------------+------+-----+---------+----------------+
  15. | Field                | Type         | Null | Key | Default | Extra          |
  16. +----------------------+--------------+------+-----+---------+----------------+
  17. | id                   | int(11)      | NO   | PRI | NULL    | auto_increment |
  18. | login                | varchar(255) | NO   |     | NULL    |                |
  19. | password             | varchar(255) | NO   |     |         |                |
  20. | basic_account        | int(11)      | NO   |     | NULL    |                |
  21.  
  22. mysql> describe users_groups_link;
  23. +----------+---------+------+-----+---------+----------------+
  24. | Field    | Type    | Null | Key | Default | Extra          |
  25. +----------+---------+------+-----+---------+----------------+
  26. | id       | int(11) | NO   | PRI | NULL    | auto_increment |
  27. | user_id  | int(11) | NO   |     | 0       |                |
  28. | group_id | int(11) | NO   |     | 0       |                |
  29. +----------+---------+------+-----+---------+----------------+
  30.  
  31.  

вот 3 таблицы, и их разделы. Из поста ранее видно что мы хотим сделать и как они связаны между собой. Или еще не все? что еще показать?
Хотим сделать выборку из одной таблицы, использовать в другой, потом использовать в другой, тоесть когда у людей минус 600р, то выбирались бы ИД тех пользователей и далее редактировался их статус на "заблокированный" и тд и тп
k0ma Отправлено: 14 Августа, 2014 - 15:53:44 • Тема: выборка из массивов с последующей записью в массив • Форум: Хранение данных, их вывод и обработка

Ответов: 9
Просмотров: 2614
нуу...
есть 3 таблицы из которых надо сделать выборку зависимую от других таблиц.
CODE (htmlphp):
скопировать код в буфер обмена
  1. select user_id from `users_groups_link` where group_id='100'

это выборка и таблицы по group_id=100
CODE (htmlphp):
скопировать код в буфер обмена
  1. select basic_account from `users` where id= (select user_id from `users_groups_link` where group_id='100')

это выборка из базы по прошлой базе

CODE (htmlphp):
скопировать код в буфер обмена
  1. select id=(select basic_account from `users` where id= (select user_id from `users_groups_link` where group_id='100')) from accounts where balance<'-600'";
и это последняя выборка из таблицы по прошлому ид и еще по тем у кого баланс менее -600 (минус 600).
из прошлого поста видно что я совместил 2 запроса в один, и получаю те цифры которые надо, но вот совместить 3 запроса + выборку из них по балансу неполучается, мускул ругается.

А может всетаки сделать все раздельно? нельзя никак задать один запрос в мускул, и потом его используя сделать другой запрос, но не одной строкой а в 2,3-9 строк, но я так не запутаюсь.
k0ma Отправлено: 14 Августа, 2014 - 15:12:07 • Тема: выборка из массивов с последующей записью в массив • Форум: Хранение данных, их вывод и обработка

Ответов: 9
Просмотров: 2614
Есть 2 массива.
CODE (htmlphp):
скопировать код в буфер обмена
  1. array(697) { [0]=> array(1) { ["basic_account"]=> string(2) "60" } [1]=> array(1) { ["basic_account"]=> string(2) "61" } [2]=> array(1) { ["basic_account"]=> string(2) "62" } [3]=> array(1)

в этих массивах есть похожие данные, именно данные но не ключи (данные 60,61,62....),надо сравнить 2 массива и одинаковые значения записать в 3ий массив.
пробовал так:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $result1=mysql_query("select basic_account from users where id=any(select user_id from users_groups_link where group_id=100)",$conn)
  3. while($row1[]=mysql_fetch_assoc($result1));
  4. $result2=mysql_query("select id from accounts where balance<'0'", $conn);
  5. while($row2[]=mysql_fetch_assoc($result2));
  6. $results=array();
  7. foreach($row1 as $value1)
  8. {
  9.        foreach($row2 as $value2)
  10.        {
  11.               if($value1 == value2)
  12.                {
  13.                $results[$p]['id']=$value2;
  14.                $p++;
  15.                }
  16.                #else break;
  17.        }
  18. }

но получается цикл бесконечный, тыкните носом где ошибка, я думал смысл в том чтобы оба массива определить как $value1-2 и сравнивать их, и если есть похожие данные то ложить их в массив.

Вообще если это можно сделать на уровне Mysql запроса, то буду очень благодарен.
k0ma Отправлено: 02 Августа, 2013 - 11:51:54 • Тема: База для доски обьявлений • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 27
Вобщем надо создать базу данных, в которой будет несколько таблиц, для каждого вида товара(машина, квартира, телефон, и тд) + таблица с пользовательскими данными.
Подскажите как мне связать пользователей с таблицами товаров?
типа пользователь с таким то логином сделал запись в такой то таблице, с такими то записями(таблица машина{BMW х5,белая,1995,1млн руб})и чтобы потом выборки делать по этим одинаковым значениям из одной и из второй таблицы? или сделать выборку из всех таблиц по определенному логину (или id пользователя).
какие будут идеи? даже готовые подойдут Закатив глазки
k0ma Отправлено: 28 Июля, 2013 - 17:41:12 • Тема: Fatal error: Cannot redeclare date() in C:sitesbigmtest.php on line 8 • Форум: Программирование на PHP

Ответов: 10
Просмотров: 7676
у меня подобная ситуация, и у меня не стандартная функция PHP а своего написания, и она тоже ругается, что немогу я ее переопределить. как быть?
лежит моя функция в файле functions.php, и вот пока она там лежала одна, она работала, стал дописывать в файл другие функции, она стала ругаться.
CODE (htmlphp):
скопировать код в буфер обмена
  1. Fatal error: Cannot redeclare getMenu() (previously declared in C:\apache\localhost\test.ru\functions.php:2) in C:\apache\localhost\test.ru\functions.php on line 14

как обьясните? может быть я ее гдето в другом файле тоже описал?

Страниц (6): « 1 2 [3] 4 5 6 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB