PHP.SU

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

Страниц (21): В начало « ... 2 3 4 5 [6] 7 8 9 10 ... » В конец

> Найдено сообщений: 305
nkl Отправлено: 10 Июня, 2014 - 23:51:49 • Тема: Толи я тупой, толи лыжи не едут? • Форум: Вопросы новичков

Ответов: 1
Просмотров: 121
Доброго времени суток, господа ПоХаПешники. Собственно вот код:
PHP:
скопировать код в буфер обмена
  1. /* START DEBUG */
  2. print '<xmp>';
  3. var_dump($meetings)."\n";
  4. print '</xmp>';
  5. /* END DEBUG */
  6. foreach($meetings as $k => $meeting){
  7.         $first_team_score = trim($meeting['first_team_score']);
  8.         $second_team_score = trim($meeting['second_team_score']);
  9.         /* START DEBUG */
  10.         print '<xmp>';
  11.         print 'Meeting - '.$k.":\n";
  12.         print '$first_team_score = ' . $first_team_score ."\n";
  13.        
  14.         if($meeting['first_team_score']){
  15.                 print '$meeting[first_team_score]' . " - true\n";
  16.         }else{
  17.                 print '$meeting[first_team_score]' . " - false\n";
  18.         }
  19.        
  20.         if(is_int($first_team_score)){
  21.                 print 'is_int($first_team_score)' . " - true\n";
  22.         }else{
  23.                 print 'is_int($first_team_score)' . " - false\n";
  24.         }
  25.        
  26.         if($meeting['second_team_score']){
  27.                 print '$meeting[second_team_score]' . " - true\n";
  28.         }else{
  29.                 print '$meeting[second_team_score]' . " - false\n";
  30.         }
  31.        
  32.         if(is_int($second_team_score)){
  33.                 print 'is_int($second_team_score)' . " - true\n";
  34.         }else{
  35.                 print 'is_int($second_team_score)' . " - true\n";
  36.         }
  37.        
  38.         print '</xmp>';
  39. }

Ничего сложного, обычный юнит-тест для валидатора прилетающих постом данных, но вот результат работы меня, мягко говоря, вводит в ступор, и вот он:
array(2) { [1691]=> array(2) { ["first_team_score"]=> string(1) "4" ["second_team_score"]=> string(1) "3" } [1692]=> array(2) { ["first_team_score"]=> string(1) "2" ["second_team_score"]=> string(1) "1" } }
Meeting - 1691:
$first_team_score = 4
$meeting[first_team_score] - true
is_int($first_team_score) - false
$meeting[second_team_score] - true
is_int($second_team_score) - true

Meeting - 1692:
$first_team_score = 2
$meeting[first_team_score] - true
is_int($first_team_score) - false
$meeting[second_team_score] - true
is_int($second_team_score) - true

Что я делаю не так?
(Добавление)
Тупо привести переменные к int'y аля:
PHP:
скопировать код в буфер обмена
  1.         $first_team_score = (int) trim($meeting['first_team_score']);
  2.         $second_team_score = (int) trim($meeting['second_team_score']);

и потом проверять таким образом:
PHP:
скопировать код в буфер обмена
  1.         if($first_team_score > 0){
  2.                 print 'is_int($first_team_score)' . " - true\n";
  3.         }else{
  4.                 print 'is_int($first_team_score)' . " - false\n";
  5.         }
  6.         if($second_team_score > 0){
  7.                 print 'is_int($second_team_score)' . " - true\n";
  8.         }else{
  9.                 print 'is_int($second_team_score)' . " - true\n";
  10.         }

НЕ ВЫХОД ИЗ СИТУАЦИИ!
Потому что пропускать нужно числа от 0 до 99.
nkl Отправлено: 23 Мая, 2014 - 08:08:24 • Тема: Помогите написать регулярку • Форум: Регулярные выражения

Ответов: 2
Просмотров: 203
Ваш вариант не берет значение стоящее в скобках, еслив нем есть пробел, например так id:123 (Animal Horse)
В общем, вот наше решение:
PHP:
скопировать код в буфер обмена
  1. /(?P<str>id:(?P<id>\d+)( ?\((?P<name>[^\)]+)\))?)/Dui
nkl Отправлено: 23 Мая, 2014 - 07:34:01 • Тема: Как прописать стиль... • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 1716
Видимо JQuery у тебя отвалился. Он же говорит, не могу обратиться к несуществующей функции.
nkl Отправлено: 22 Мая, 2014 - 15:00:55 • Тема: Помогите написать регулярку • Форум: Регулярные выражения

Ответов: 2
Просмотров: 203
Я никак не могу разобраться с этими регулярками, мне нужно отсюда:
Цитата:
фыв фывфы id:13 (Username) проыдвлаыд фывфывфы id:18 фыв фывыв

вытащить 13 и 18, а к 13 еще и Username, потому что он есть.
Пока что вот что у меня получается:
preg_match_all("/(id:[0-9]+\s)([(])()/", $input_lines, $output_array);
Скобки эти могут быть, а могут и не быть. Содержимое в них может быть, а может и не быть. НО, пробел между "id:13" и "(", будет всегда и если есть этот пробел, между скобками есть какое-то значение и имеется закрывающаяся скобка, то значение в скобках нужно брать.

В итоге, хотим получить фичу как в VK, клиентская часть уже готова. В принципе, можно и по своему вставлять id и (Необязательный текст).
nkl Отправлено: 22 Мая, 2014 - 12:48:37 • Тема: С чего начать? • Форум: Вопросы новичков

Ответов: 8
Просмотров: 265
<!DOCTYPE html>
<html>
<head>
<title>My first php-script</title>
</head>
<body>
<?php
echo "hello World";
?>
</body>
</html>
Вот собственно и весь ПоХаПе в действии в наглядном примере... Чего тут начинать-то?
nkl Отправлено: 21 Мая, 2014 - 14:54:37 • Тема: foreach in foreach • Форум: Вопросы новичков

Ответов: 6
Просмотров: 305
А почему бы не сгруппировать по сертификатам?
nkl Отправлено: 06 Мая, 2014 - 12:09:58 • Тема: Выбрать записи которые были добавлены не позднее 7 дней назад • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 18
У строки есть поле added_dt (datetime), как мне выбрать записи из этой таблицы, дата публикации которых не позднее 7 дней.
Че-то никак не могу раздублить функции работы с датами в мускуле, какие-то они не логичные что ли.
nkl Отправлено: 06 Мая, 2014 - 12:07:28 • Тема: Помогите написать ацкий запрос • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 22
Спасибо. Но в моем случае разницы особой нет, все равно потом не то что бы результат запроса, а весь html для которого выдергиваются данные этим запросом попадают в кэш.
nkl Отправлено: 06 Мая, 2014 - 08:03:52 • Тема: Помогите написать ацкий запрос • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 22
Есть таблица comments(id, object_type, object_id, comment),
Заполняется примерно так:
1|post|2|Lorem ipsum bla-bla-bla
2|article|567|Bla-bla-bla
3|goods|1255|asd asda sdad
4|post|4|asd asdasd

И есть таблица blogs(id, published, deleted, post_text),
Заполняется примерно так:
1|1|0|asd asdasdasd
2|1|1|asdas asdasdasd
3|0|0|asdas asdasdasdas
4|1|0|asdkasjdlas asldkajdl

Так вот задача. Мне нужно выбрать последние 10 комментов, при этом исключить из этого списка комменты, которые относятся к постам, у которых published = 0 и deleted = 1 (в примере в выборку должны попасть все комменты, кроме первого).

Попробовал сделать на PHP, но уж слишком громоздко и неповоротливо это получается. Начальник сказал сделать все это одним аЦким запросом.

Есть мысли на этот счет?
(Добавление)
А и еще, чуть не забыл, в итоге должно быть ровно 10 последних камментов.
(Добавление)
Кому интересно, запрос написал, вот как он выглядит:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT tt.* FROM
  2. (
  3. SELECT * FROM bs_comments bc
  4.   WHERE bc.object_type <> 'post' AND deleted = 0  
  5.  
  6. UNION ALL
  7.  
  8. SELECT bc.* FROM bs_comments bc
  9.   RIGHT JOIN bs_blog bb ON bb.id = bc.object_id
  10.   WHERE bc.object_type = 'post' AND bb.published = 1 AND bc.deleted = 0 AND bb.deleted = 0
  11.   ) AS tt  
  12. ORDER BY tt.id DESC
  13.   LIMIT 10;
nkl Отправлено: 09 Апреля, 2014 - 14:29:58 • Тема: Почему не переопределяется стиль? • Форум: HTML, Дизайн & CSS

Ответов: 3
Просмотров: 956
Спасибо большое за ответы. Я решил проблему увеличив цепочку селектора до .global-rules .reset-text-decoration, как собственно и посоветовал VenZell, которому отдельное спасибо за правило.
nkl Отправлено: 09 Апреля, 2014 - 11:37:04 • Тема: Почему не переопределяется стиль? • Форум: HTML, Дизайн & CSS

Ответов: 3
Просмотров: 956
Есть такая разметка
CODE (html):
скопировать код в буфер обмена
  1.  
  2. ...
  3. <style>
  4. .global-rules a{border-bottom:1px solid green}
  5. .reset-text-decoration{border:medium none}
  6. </style>
  7. <div class="global-rules">
  8. <p>Bla-bla-bla <a href="#">link</a> bla-bla-bla.</p>
  9. <p>Bla-bla-bla <a href="#" class="reset-text-decoration"><img src="#"></a> bla-bla-bla.</p>
  10. </div>
  11. ...
  12.  


Почему .global-rules a переопределяет .reset-text-decoration? Ведь я задал класс непосредственно элементу и должно быть наоборот.

P.S.
Все стили в единственном отдельно подключенном файле лежат. .global-rules a как и в примере, стоит раньше .reset-text-decoration, но разве порядок следования на что-то влияет?
nkl Отправлено: 24 Марта, 2014 - 08:16:40 • Тема: Регулярка на распознавание урлов • Форум: Напишите за меня, пожалуйста

Ответов: 0
Просмотров: 16
Помогите написать регулярку, которая бы могла распознать что пользователь ввел url, что бы обернуть его в соотв. теги <a href="url">url</a> Радость
(Добавление)
урл может быть таким www.example.com/asdasd/asdasd/asdas.html, таким http://example.com/index.php?param1=123123&param2=asdasd. А еще желательно бы распознать ведет ли урл на внутреннюю страницу или на внешнюю и добавить соотв. тег rel="nofollow" и обернуть все это в <noindex></noindex> для пущей надежности.
nkl Отправлено: 21 Марта, 2014 - 11:01:04 • Тема: Как использовать псевдоним столбца для дальнеших вычислений (MySQL)? • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 17
Спасибо. Буду знать!
nkl Отправлено: 21 Марта, 2014 - 08:36:23 • Тема: Как использовать псевдоним столбца для дальнеших вычислений (MySQL)? • Форум: SQL и Архитектура БД

Ответов: 2
Просмотров: 17
Имеется запрос вида:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT
  2.     "home" AS game_type,
  3.     COUNT(*) AS games,
  4.     SUM(tv.first_team_score) AS scored,
  5.     SUM(tv.second_team_score) AS missed,
  6.     TRUNCATE((SUM(tv.first_team_score)/COUNT(*)), 2) AS average_scores,
  7.     TRUNCATE((SUM(tv.second_team_score)/COUNT(*)), 2) AS average_miss,
  8.     (TRUNCATE((SUM(tv.first_team_score)/COUNT(*)), 2) + TRUNCATE((SUM(tv.second_team_score)/COUNT(*)), 2)) AS effectiveness
  9.     FROM betjournal2.bs_team_tournament_stat AS tv
  10.     WHERE
  11.       tv.first_team_id = 8

Как вы видите average_scores, average_miss и effectiveness можно получить оперируя псевдонимами games, scored и missed. Но почему-то когда я пытаюсь это сделать, мускул выдает ошибку Unknown column [games или scored или missed] in field list. Что я делаю не так? Получается мускул все это заново считает, хотя часть необходимых значений уже получена. Что за тупняк? Растерялся
nkl Отправлено: 14 Марта, 2014 - 09:08:59 • Тема: Что производительнее... • Форум: SQL и Архитектура БД

Ответов: 1
Просмотров: 14
Вопрос с точки зрения производительности при выборке. Что будет производительнее, плоская полупустая таблица или полностью нормализованная таблица с десятком джойнов. Почему полупустая, не все данные обязательные для заполнения. А если для какой-то строки будут заполнены все данные и все их разом нужно будет выбрать, то необходимо будет выполнить с десяток джойнов.

Так что производительнее? Плоская полупустая таблица или джойнить 10 полностью нормализованных таблиц, где вообще нет пустых ячеек и все ячейки несут смысловую нагрузку?

Растерялся

Страниц (21): В начало « ... 2 3 4 5 [6] 7 8 9 10 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB