PHP.SU

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

Страниц (1): [1]

> Найдено сообщений: 12
egork Отправлено: 18 Октября, 2010 - 10:50:49 • Тема: Вывод строк из таблицы, где не пересикаются значения ячейки. • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 34
garvey пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `postId`, `userId` , `anonymousName` , `body`
  2. FROM `comments`
  3. GROUP BY `postId`
  4. ORDER BY `createTime` DESC


GROUP By помогает, но!
Он сначала группирует, а после уже результаты сортирует ордером, а нужно на оборот.
Т.е. нужно выдернуть из таблицы строки с наибольшим `createTime`, но так, чтобы у них не пересекались `postId`.

Надеюсь понятно Улыбка
egork Отправлено: 18 Октября, 2010 - 10:12:18 • Тема: Вывод строк из таблицы, где не пересикаются значения ячейки. • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 34
Необходимо вывести из таблицы строки, в которых значение в определенной ячейке не пересикаются.

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT DISTINCT `postId`, `userId` , `anonymousName` , `body`
  2. FROM `comments`
  3. ORDER BY `createTime` DESC


Т.е. вывести строки, где `postId` разный. DISTINCT не помогает (что не удивительно), DISTINCTROW тоже. Реально ли это?

Зарание большое спасибо.
egork Отправлено: 29 Сентября, 2010 - 16:00:38 • Тема: Вложенные запросы и count(*). • Форум: SQL и Архитектура БД

Ответов: 12
Просмотров: 145
Спасбо всем большое за участие!
Все работает! Улыбка
Теперь буду разбираться как...
egork Отправлено: 29 Сентября, 2010 - 13:45:32 • Тема: Вложенные запросы и count(*). • Форум: SQL и Архитектура БД

Ответов: 12
Просмотров: 145
garvey пишет:
SELECT
COUNT(`comments`.`postId`), `posts`.*
FROM `posts` LEFT JOIN `comments` ON (`comments`.`postId` = `posts`.`postId`)


Данный запрос работает, но проблема в том, то возвращается только одна строка (запись в таблице posts), а необходимо, чтобы выдавались все строки из posts (с количеством комментариев соответственно Улыбка).

lemniscate пишет:
select `posts`, count(`comments`.*) from posts left join on post.postIid=comments.postId group by post.postIid

Не работает, ругается на count... (естественно помарки правил)
egork Отправлено: 29 Сентября, 2010 - 13:11:50 • Тема: Вложенные запросы и count(*). • Форум: SQL и Архитектура БД

Ответов: 12
Просмотров: 145
Спасибо за ответ, но к сожелению не работает:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) FROM `posts` , `comments` WHERE `comments`.`postId` = `posts`.`postId` LIMIT' at line 1

Не могли бы вы привести пример с JOIN...
egork Отправлено: 29 Сентября, 2010 - 12:59:16 • Тема: Вложенные запросы и count(*). • Форум: SQL и Архитектура БД

Ответов: 12
Просмотров: 145
Пишу для саморазвития блог.
На главной странице выводится список постов (posts) и количество комментариев к этому посту (comments).

Как составить запрос, чтобы можно былополучить данные из таблицы posts и просчитать количество комментариев для этого поста из таблицы comments?

Вот что сделал я:

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT `posts`.* , `comments`.count(*) FROM `posts` , `comments` WHERE `comments`.`postId` = `posts`.`postId`
  3.  


Но база ругается как раз на этот count!
Как это можно решить в одном запросе?
egork Отправлено: 01 Сентября, 2010 - 09:40:42 • Тема: Передача не определенного количества аргументов функции. • Форум: Программирование на PHP

Ответов: 12
Просмотров: 1439
Не переданных, а тех, которые она ожидает получить по умолчанию, ну к примеру:

function test($var1, $var2) { ... }

функция ожидает получить 2 параметра.

func_num_args привел не уместно.

Я уже пришел к выводу что функция которой я интересуюсь особо и не нужна Улыбка
Вопрос снимается!
egork Отправлено: 01 Сентября, 2010 - 08:41:28 • Тема: Передача не определенного количества аргументов функции. • Форум: Программирование на PHP

Ответов: 12
Просмотров: 1439
Ну и еще один вопрос в догонку.

Как определить количиство параметров функции?
Есть func_num_args, но она вызывается только из самой функции. А извне?
egork Отправлено: 31 Августа, 2010 - 22:05:56 • Тема: Передача не определенного количества аргументов функции. • Форум: Программирование на PHP

Ответов: 12
Просмотров: 1439
Ch_chov пишет:
тогда call_user_func


Тогда вы попали в яблочко!

Мне больше подходит call_user_func_array, ну это без разницы.

Примите мою благодарность Здорово
egork Отправлено: 31 Августа, 2010 - 19:28:24 • Тема: Передача не определенного количества аргументов функции. • Форум: Программирование на PHP

Ответов: 12
Просмотров: 1439
Мелкий пишет:
PHP:
скопировать код в буфер обмена
  1. $$fname($var1, $var2, $var3, $var4, $var5...) ;

вообще-то, если я не сильно ошибаюсь, то тут вы вызываете функцию с именем, хранящемся в переменной $test, нет? Один $ не лишний будет?

А непосредственно по вопросу: первое что в голову приходит - eval


По поводу двух $$ перед названием функции вы правы, нужен только один, опечатался.
И по поводу eval вы тоже совершенно правы! Улыбка

Спасибо большое, честно говоря долго с этим голову ломал, а надо было просто обратиться к умным людам Улыбка
egork Отправлено: 31 Августа, 2010 - 18:54:03 • Тема: Передача не определенного количества аргументов функции. • Форум: Программирование на PHP

Ответов: 12
Просмотров: 1439
Ch_chov пишет:


На принимающей стороне да, а на отправляющей?

Поясню...
У меня функция определяется динамически, т.е. я не знаю что за функция будет использоваться и сколько параметров она ожидает получить.
Как вариант

CODE (php):
скопировать код в буфер обмена
  1.  
  2. function test($var1, $var2) { ... }
  3.  
  4. $fName = 'test' ;
  5.  
  6. $$fname($var1, $var2, $var3, $var4, $var5...) ;
  7.  


Но тогда php генерирует ошибки: PHP Notice: Undefined variable: var in ...

Не так уж страшно, но не корректно. А есть ли правельный способ реализовать это?
egork Отправлено: 31 Августа, 2010 - 18:39:36 • Тема: Передача не определенного количества аргументов функции. • Форум: Программирование на PHP

Ответов: 12
Просмотров: 1439
Здравствуйте уважаемые, необходима ваша помощь.

Подскажите, есть ли способ передать функции динамическое количиство переменных?
К примеру:
CODE (php):
скопировать код в буфер обмена
  1.  
  2. function test($var1, $var2, $var3) {...}
  3. ...
  4. $str = "'{$var1}', '{$var2}', '{$var3}'" ;
  5. test($str) ;
  6.  

и чтобы это работало Улыбка

Мы можем динамический подставить название класса, функции, а можем ли мы динамический сформировать строку с параметрами?

Я надеюсь объяснился понятно.

Заранее всем откликнувшемся спасибо.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB