2013-10-15 5 views
0

У меня есть 2 таблицы в моей базе данных MySQL:PHP выберите сформировать таблицу MySQL и заказ по другой таблице

  • клиента
  • customer_billing

клиента таблицы имеют столбцы столбцов

  • последовательность
  • компания

* customer_billing * таблица имеет столбцы

  • последовательность
  • customer_seq

я бегу выберите запрос на * customer_billing * таблицы, а затем в то время петля выберите запрос в заказчик стол, подобный этому:

$sql="SELECT *, SUM(quantity*unitprice) as customertotal from customer_billing where resellerid = '' and salesmanid = '' and producttype = '".$_GET["producttype"]."' group by customer_seq "; 
    $rs=mysql_query($sql,$conn) or die(mysql_error()); 
    while($result=mysql_fetch_array($rs)) 
    { 
     $sql2="SELECT * from customer where sequence = '".$result["customer_seq"]."' and company_status = '' "; 
     $rs2=mysql_query($sql2,$conn) or die(mysql_error()); 
     $result2=mysql_fetch_array($rs2); 
} 

я хочу, чтобы иметь возможность упорядочить результаты, отображаемые company ASC от клиента таблицы

я попробовал order_by customer_seq на очевидно, что это только заказы порядковые номера

я также попытался сделать заказ по company ASC на клиент таблица запрос, но это не сработало ни

как я могу обойти это?

+0

mysql_query устарел от PHP 5.5.0 и будет удален в будущем. Вместо этого следует использовать расширение MySQLi или PDO_MySQL. см. это http://php.net/manual/en/function.mysql-connect.php –

+0

Пожалуйста, укажите пример данных и желаемый пример вывода (лучший способ сделать это - предоставить [скрипт] (http: // sqlfiddle. com)) –

+0

Это 'порядок 'не' order_by'. –

ответ

0

Вы должны сделать соединение между клиентом и customer_billing на customer_seq и добавить компанию в подразделение group by.

Таким образом, вы сможете иметь возможность заказать его фирмой.

0

Вы не можете использовать Joins и не нужно использовать second query попробовать это,

$sql="SELECT c.*,ct.*, SUM(ct.quantity*ct.unitprice) as customertotal FROM 
    customer_billing ct , custom c WHERE ct.resellerid = '' AND ct.salesmanid = '' 
    AND c.company_status = '' AND c.sequence=ct.customer_seq AND 
    ct.producttype = '".$_GET["producttype"]."' 
    GROUP BY ct.customer_seq ORDER BY c.company ASC "; 
$rs=mysql_query($sql,$conn) or die(mysql_error()); 
while($result=mysql_fetch_array($rs)) 
{ 
    // your code 
} 
0

Вы должны сделать это в одном запросе с использованием join. Должно быть что-то вроде:

SELECT cb.customer_seq, c.sequence, c.company, SUM(quantity*unitprice) as customertotal 
FROM customer_billing AS cb JOIN customer AS c 
    ON cb.sequence = c.sequence 
WHERE cb.resellerid = '' 
    AND cb.salesmanid = '' 
    AND cb.producttype = '$_GET["producttype"]' 
    AND c.company_status = '' 
GROUP BY cb.customer_seq, c.company 
ORDER BY c.company 
+0

это просто отображение одной записи клиента – user2710234

+0

@ user2710234 Я исправил код, теперь должен работать – bazzilic

Смежные вопросы