Есть таблица
id_result___id_executors
1__yes____6
2__yes____6
3__yes____12
4__yes____12
5__no_____6
6__yes____3
Из нее должно вывестись -
6 имеет 3 поручения
12 имеет 2 поручения
3 имеет 1 поручения
Вывожу я это вот так -
<?php foreach($all_clienti AS $order_user):?>
<?php if(isset($order_user['order_ispolnitel'])): ?>
<b><?php echo $order_user['order_ispolnitel']?></b> имеет <b><?php echo $yyy;?></b> Поручений ; <br>
<?php endif?>
<?php endforeach;?>
Сам запрос у меня вот такой -
$result = mysql_query("SELECT DISTINCT
t1.FIO AS order_ispolnitel
FROM
order_user
LEFT JOIN client t1 ON t1.id = order_user.id_executors");
while ($all_clienti[] = mysql_fetch_assoc($result)) {}
$sss = mysql_query("select * from order_user WHERE id_executors LIKE '6'");
while ($all_clienti[] = mysql_fetch_assoc($sss)) {$yyy++;}
Проблема в том что в нем уже прописанно LIKE = 6 а мне нужно чтоб он прошелся по всем...
Спустя 7 минут, 59 секунд (26.05.2011 - 16:28) Michael написал(а):
Выполни такой запрос в phpmyadmin и посмотри результат:
Разницы между no и yes нет получается?
SELECT id_executors, COUNT(id) AS couid
FROM order_user
GROUP BY id_executors
Разницы между no и yes нет получается?
Спустя 6 минут, 54 секунды (26.05.2011 - 16:34) pavlik написал(а):
$query = "SELECT
DISTINCT A.id_executors,
(SELECT
B.FIO
FROM
client B
WHERE
B.id = A.id_executors
) FIO,
(SELECT
COUNT(*)
FROM
order_user C
WHERE
C.id_executors = A.id_executors
) col_porucheniy
FROM
order_user A
";
Такое, интересно, сработает?
Спустя 9 минут, 3 секунды (26.05.2011 - 16:43) Lightt написал(а):
Michael
Спасибо =) работает.
Вообще есть =) но я думал просто условие поставить
Но что то сейчас не выходит =)
Спасибо =) работает.
Вообще есть =) но я думал просто условие поставить
WHERE Result LIKE "YES"
Но что то сейчас не выходит =)
Спустя 12 минут, 21 секунда (26.05.2011 - 16:56) Lightt написал(а):
Все, получилось спасибо =)
pavlik
Твой вариант тоже работает =)
Но Michael как то попроще выглядит =)
pavlik
Твой вариант тоже работает =)
Но Michael как то попроще выглядит =)
Спустя 1 час, 30 минут, 14 секунд (26.05.2011 - 18:26) Lightt написал(а):
А вот еще вопрос...
в таблице order_user также есть пустые результты
id_result___id_executors
1__yes____6
2__yes____6
3__yes____12
4__yes____12
5__no_____6
6__yes____3
7__ ____6
8__ ____12
Как можно вывести несколько запросов в одной строчке?
Имеется несколько запросов.
Вывожу вот так -
На что соответственно выводится -
Клепинин А.В. имеет
Фатхуллин В.Н. имеет
Коллесников В.А. имеет
Шушканов А.О. имеет
5 Поручений.
4 Поручений.
1 Поручений.
1 Поручений.
из них 2 Выполненно.
из них 1 Выполненно.
из них 1 Выполненно.
из них 1 Не выполненно.
Как можно поместить это в одну срочку? Чтоб выдавал -
Клепинин А.В. имеет 5 Поручений. из них 2 Выполненно. 0 не выполненных
в таблице order_user также есть пустые результты
id_result___id_executors
1__yes____6
2__yes____6
3__yes____12
4__yes____12
5__no_____6
6__yes____3
7__ ____6
8__ ____12
Как можно вывести несколько запросов в одной строчке?
Имеется несколько запросов.
//вывод всех исполнителей
$ispol = mysql_query('SELECT
order_user.id,
t1.FIO AS order_ispolnitel
FROM
order_user
LEFT JOIN client t1 ON t1.id = order_user.id_executors
GROUP BY
id_executors');
while ($allispol[] = mysql_fetch_assoc($ispol)) {}
//подсчет общих поручений
$order = mysql_query("SELECT
order_user.id,
id_executors, COUNT(id) AS couid
FROM
order_user
GROUP BY
id_executors");
while ($allorder[] = mysql_fetch_assoc($order)) {}
//подсчет выполненных поручений
$orderyes = mysql_query("SELECT
order_user.id,
id_executors, COUNT(id) AS couid
FROM
order_user
WHERE Result LIKE 'YES'
GROUP BY
id_executors");
while ($allorderyes[] = mysql_fetch_assoc($orderyes)) {}
//подсчет не выполненных поручений
$orderno = mysql_query("SELECT
order_user.id,
id_executors, COUNT(id) AS couid
FROM
order_user
WHERE Result LIKE 'NO'
GROUP BY
id_executors");
while ($allorderno[] = mysql_fetch_assoc($orderno)) {}
Вывожу вот так -
<?php foreach($allispol AS $order_user):?>
<?php if(isset($order_user['id'])): ?>
<b><?php echo $order_user['order_ispolnitel']?></b> имеет
<br>
<?php endif?>
<?php endforeach;?>
<?php foreach($allorder AS $order_user):?>
<?php if(isset($order_user['id'])): ?>
<b><?php echo $order_user['couid'];?></b> Поручений. <br>
<?php endif?>
<?php endforeach;?>
<?php foreach($allorderyes AS $order_user):?>
<?php if(isset($order_user['id'])): ?>
из них <b><?php echo $order_user['couid'];?></b> Выполненно. <br>
<?php endif?>
<?php endforeach;?>
<?php foreach($allorderno AS $order_user):?>
<?php if(isset($order_user['id'])): ?>
из них <b><?php echo $order_user['couid'];?></b> Не выполненно. <br>
<?php endif?>
<?php endforeach;?>
На что соответственно выводится -
Клепинин А.В. имеет
Фатхуллин В.Н. имеет
Коллесников В.А. имеет
Шушканов А.О. имеет
5 Поручений.
4 Поручений.
1 Поручений.
1 Поручений.
из них 2 Выполненно.
из них 1 Выполненно.
из них 1 Выполненно.
из них 1 Не выполненно.
Как можно поместить это в одну срочку? Чтоб выдавал -
Клепинин А.В. имеет 5 Поручений. из них 2 Выполненно. 0 не выполненных