|
|
|
ดึงข้อมูลจาก ตาราง แบบ Array ต้องการดึงจำนวนออกมาแสดงครับ |
|
|
|
|
|
|
|
สร้างตาราง ก็คิวรี่ออกมาสร้าง วนลูปธรรรมดาก็ได้นิครับ
ใส่ array แล้วมาวนอีกรอบ เหมือนทำงานซ้ำซ้อน
|
|
|
|
|
Date :
2017-07-20 09:35:58 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- รอคนเก่งคิวรี่มาช่วย อาจสั่งจาก sql จบรอบเดียว
- คิดคร่าวๆว่า group product_name ได้ชื่อสินค้าออกมาเป็นตัวตั้งก่อน
เอาผลลัพธ์ที่ได้ คือ b_id กับ date มาคิวรี่หาผลลัพธ์อีกรอบน่าจะได้ mrp
แต่จะจัดตารางแบบไหนยังนึกไม่ออก พรุ่งนนี้จะลองจำลองข้อมูลดู(ถ้าไม่ขี้เกียจ)
กู้ดไนท์ ไทยแลนด์
|
|
|
|
|
Date :
2017-07-20 23:39:42 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คิวรี่ไม่เก่งก็ต้องเล่นแบบนี้ไปก่อนครับ
Code (PHP)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ThaiCreate.Com PHP & MySQL (mysqli)</title>
</head>
<body>
<?php
$serverName = "localhost";
$userName = "xxxxxxxx";
$userPassword = "xxxxxxxx";
$dbName = "test";
$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
mysqli_set_charset($conn, "utf8");
$sql1 = "SELECT * FROM product GROUP BY product_name";
$query1 = mysqli_query($conn,$sql1);
while($result1=mysqli_fetch_array($query1,MYSQLI_ASSOC))
{
$id[]=$result1["b_id"];
$name[]=$result1["product_name"];
}
$sql2 = "SELECT * FROM product GROUP BY b_date";
$query2 = mysqli_query($conn,$sql2);
while($result2=mysqli_fetch_array($query2,MYSQLI_ASSOC))
{
$bdate[]=$result2["b_date"];
}
?>
<table border=1 cellpadding=5 cellspaceing=1>
<tr>
<td> Item </td>
<?php
for($i=0;$i<count($bdate);$i++){
echo "<td> $bdate[$i] </td>";
}
?>
</tr>
<?php
for($i=0;$i<count($name);$i++){
echo "<tr>";
echo "<td> $name[$i] </td>";
for($j=0;$j<count($bdate);$j++){
//$sql3 = "SELECT * FROM product WHERE `product_name` = '$name[$i]'";
$sql3 = "SELECT * FROM product WHERE `b_date`= '$bdate[$j]' AND `product_name` = '$name[$i]'";
$query3 = mysqli_query($conn,$sql3);
$result3=mysqli_fetch_array($query3,MYSQLI_ASSOC);
echo "<td>".$result3['mrp']."</td>";
}
echo "</tr>";
}
?>
</table>
<?php
mysqli_close($conn);
?>
</body>
</html>
Code (SQL)
-- phpMyAdmin SQL Dump
-- version 4.2.11
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: Jul 21, 2017 at 04:39 AM
-- Server version: 5.6.21
-- PHP Version: 5.6.3
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
--
-- Database: `test`
--
-- --------------------------------------------------------
--
-- Table structure for table `product`
--
CREATE TABLE IF NOT EXISTS `product` (
`b_id` int(2) NOT NULL,
`product_name` text CHARACTER SET utf32 COLLATE utf32_unicode_ci NOT NULL,
`b_date` date NOT NULL,
`mrp` int(10) NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
--
-- Dumping data for table `product`
--
INSERT INTO `product` (`b_id`, `product_name`, `b_date`, `mrp`) VALUES
(1, 'มูนเค้ก JGT ลูก', '2017-07-20', 14000),
(2, 'แป้ง Batch 10 kg', '2017-07-20', 9),
(3, 'แป้ง Batch 20 kg', '2017-07-20', 2),
(4, 'แป้ง Batch 10 kg', '2017-07-21', 6),
(5, 'แป้ง Batch 20 kg', '2017-07-21', 6),
(6, 'Banana Cake', '2017-07-22', 250);
--
-- Indexes for dumped tables
--
--
-- Indexes for table `product`
--
ALTER TABLE `product`
ADD PRIMARY KEY (`b_id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `product`
--
ALTER TABLE `product`
MODIFY `b_id` int(2) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=7;
|
ประวัติการแก้ไข 2017-07-21 09:46:59
|
|
|
|
Date :
2017-07-21 09:43:55 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สอบถามเพิ่มเติมหน่อยครับ ถ้าเพิ่ม คอลัม รวมจำนวน ในแต่ล่ะวัน ต้องรวม array ยังไงเหรอครับ
Code (PHP)
<?php
$sql1 = "SELECT * FROM batch_detail where sc_id='".$_GET["sc_id"]."' and id='".$_GET["id"]."' GROUP BY product_name";
$query1 = mysqli_query($conn,$sql1);
while($result1=mysqli_fetch_array($query1))
{
$id[]=$result1["b_id"];
$name[]=$result1["product_name"];
$pd_id[]=$result1["pd_id"];
$sum[] = $result1["mrp"];
}
$sql2 = "SELECT * FROM batch_detail where sc_id='".$_GET["sc_id"]."' and id='".$_GET["id"]."' GROUP BY date ";
$query2 = mysqli_query($conn,$sql2);
while($result2=mysqli_fetch_array($query2))
{
$bdate[]=$result2["date"];
}
?>
<table class="table table-bordered">
<thead>
<tr>
<th class="text-center">Item</th>
<?php for($i=0;$i<count($bdate);$i++){ ?>
<th class="text-center"><?php echo $bdate[$i]; ?></th>
<?php } ?>
<th class="text-center">MRP</th>
</tr>
</thead>
<tbody>
<?php
for($i=0;$i<count($name);$i++){
?>
<tr>
<td><?php echo $pd_id[$i]; ?> <?php echo $name[$i]; ?></td>
<?php for($j=0;$j<count($bdate);$j++){
//$sql3 = "SELECT * FROM product WHERE `product_name` = '$name[$i]'";
$sql3 = "SELECT * FROM batch_detail WHERE `date`= '$bdate[$j]' AND `product_name` = '$name[$i]' AND sc_id='".$_GET["sc_id"]."' AND id='".$_GET["id"]."'";
$query3 = mysqli_query($conn,$sql3);
$result3 = mysqli_fetch_array($query3) ?>
<td class="text-center"><?php echo $result3["mrp"]; ?></td>
<?php } ?>
<td class="text-right">
</td>
</tr>
<?php } ?>
</tbody>
</table>
|
ประวัติการแก้ไข 2017-07-24 11:48:18 2017-07-24 11:49:00
|
|
|
|
Date :
2017-07-24 11:29:23 |
By :
golfza034 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาค่ามาบวกกันอีกนิดเดี๋ยวก็ได้แล้วครับ ลองดูก่อน
|
|
|
|
|
Date :
2017-07-24 12:33:15 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ
Code (PHP)
<td class="text-right">
<?php echo $tot = $sum[$i] += $result3["mrp"]; ?>
</td>
|
|
|
|
|
Date :
2017-07-24 14:30:53 |
By :
golfza034 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2017-07-24 17:00:01 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เห็นป่ะ...สุดยอดครับ
|
|
|
|
|
Date :
2017-07-25 09:11:54 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สอบถามเพิ่มเติมอีกหน่อยครับ มันคำนวณออกมาแล้ว ข้อมูลมันรวมไม่ตรงกันครับ แต่ถ้า เพิ่มให้เป็น 3 วัน มันคำนวณ ออกมาตรงครับ มันเกิดจากอะไรครับ
|
|
|
|
|
Date :
2017-08-03 14:40:25 |
By :
golfza034 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$sum=0;
$sum=$sum+$result3["mrp"];
echo $sum;
|
|
|
|
|
Date :
2017-08-03 15:00:06 |
By :
Pong Thep |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|