รบกวนช่วยเรื่อง json หน่อยครับ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา รบกวนช่วยเรื่อง json หน่อยครับ

รบกวนช่วยเรื่อง json หน่อยครับ
คือเมื่อคลิกรับค่า id มา จากตาราง project_tbl แล้วแสดงชื่อความต้องการจาก requirement_tbl ทำการนับจำนวน testcase จาก testcase_tbl
ตารางผมมี3ตารางดังนี้ 

ตาราง project_tbl
p_id p_name
1 aaaaa

ตาราง requirement_tbl
req_id p_id req_name
1 1 bbbbb
2 1 ccccc

 ตาราง testcase_tbl
tc_id p_id req_id tc_name
1 1 1 ddddd
2 1 1 eeeee


อยากให้เป็นประมาณนี้ครับ ส่งออกข้อมูลตารางแรก
ชื่อโปรเจค จำนวนความต้องการ จำนวนtestcase
aaaaa 2 2

ผมใช้ json 
<?php
    header("Content-type: text/html; charset=UTF-8");
    header('Cache-Control: no-cache');
    header('Pragma: no-cache');
    header('Expires: 0');
    include("connect_project.php");
    $where = "";
    $sql = "SELECT project_tbl.p_id AS p_id,p_name,COUNT(tc_id) AS tc_id FROM testcase_tbl 
    INNER JOIN project_tbl ON project_tbl.p_id = testcase_tbl.p_id GROUP BY project_tbl.p_id $where";
    $result = runSQL($sql);
    $numrow = countRec('p_id','project_tbl',$where);
    if($numrow>0){
        $json = "";
        $json .= "{";
        $json .= ""aaData":[";
        $rc = false;
        while ($row = mysql_fetch_array($result)) {
            if ($rc) $json .= ",";
            $json .= "[";
            //$json .= """.$row['p_name'].""";
            $json .= """."<a href=javascript:openWindow('?id=".$row['p_id']."')>".$row['p_name']."</a>".""";
            $json .= ","".number_format($row['tc_id']).""]";
            $rc = true;
        }
            $json .= "]";
            $json .= "}";
            echo $json;
    }
?>
แล้วเมื่อคลิกที่ชื่อ aaaaa อยากให้เป็นประมาณนี้ ตารางที่สอง
ชื่อความต้องการ จำนวนtestcase
bbbbb 2
ccccc 0

ผมใส่code ไปประมานนี้
<?php
    header("Content-type: text/html; charset=UTF-8");
    header('Cache-Control: no-cache');
    header('Pragma: no-cache');
    header('Expires: 0');
    include("connect_project.php");
        //รับ pk ที่มาจากหน้า display
    $id = $_GET['id'];
    $where = "INNER JOIN requirement_tbl ON requirement_tbl.req_id = testcase_tbl.req_id AND requirement_tbl.p_id = testcase_tbl.p_id WHERE testcase_tbl.p_id = $id";
    $sql = "SELECT requirement_tbl.req_id AS req_id,req_name,COUNT(tc_id) AS tc_id FROM testcase_tbl $where";
    $result = runSQL($sql);
    $numrow = countRec('requirement_tbl.req_id','testcase_tbl',$where);
    if($numrow>0){
        $json = "";
        $json .= "{";
        $json .= ""aaData":[";
        $rc = false;
        while ($row = mysql_fetch_array($result)) {
            if ($rc) $json .= ",";
            $json .= "[";
            $json .= """.$row['req_name']."</a>".""";
            $json .= ","".number_format($row['tc_id']).""]";
            $rc = true;
        }
            $json .= "]";
            $json .= "}";
            echo $json;
    }
?>
ปัญหาคือ ตารางแรกแสดงข้อมูล แต่ไม่มีการนับจำนวนความต้องการ
ตารางที่สองไม่แสดงข้อมูล

รบกวนพี่ด้วยนะครับผมไม่ค่อยเข้าใจเรื่องนี้อ่าครับว่าจะทำยังไงให้ออกมาตามที่ผมต้องการ


Eodza13579 171.6.143.xxx 25-06-2016 14:16:49

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 11
รันไฟล์ที่สองแล้วมันขึ้นแบบนี้อ่าครับ
Error: could not query dataSELECT requirement_tbl.req_id,requirement_tbl.req_name, COUNT(testcase_tbl.tc_id) AS num_testcase FROM requirement_tbl INNER JOIN testcase_tbl on(testcase_tbl.req_id = requirement_tbl.req_id) WHERE requirement_tbl.p_id =


eodza13579 171.6.143.xxx 25-06-2016 18:02
 ความคิดเห็นที่ 12
บรรทัด $numrow มีปัญหาใช่หรือไม่ครับถ้าใช่ลองแก้เป็นแบบนี้ดูครับ 

$id = $_GET['id'];    
$where = "WHERE requirement_tbl.p_id = $id" ;    
$sql = "SELECT requirement_tbl.req_id,requirement_tbl.req_name, COUNT(testcase_tbl.tc_id) AS num_testcase FROM requirement_tbl INNER JOIN testcase_tbl on(testcase_tbl.req_id = requirement_tbl.req_id) $where";    
$result = runSQL($sql); 
$row = mysql_fetch_array($result);
$numrow = $row["count(*)"];


Suthee Khongnapha 183.89.132.xxx 25-06-2016 18:26
 ความคิดเห็นที่ 13
ขึ้น error เหมือนเดิมครับ 


eodza13579 171.6.143.xxx 25-06-2016 18:30
 ความคิดเห็นที่ 14
$id = $_GET['id'];    
$where = "WHERE requirement_tbl.p_id = $id" ;    
$sql = "SELECT requirement_tbl.req_id,requirement_tbl.req_name, COUNT(testcase_tbl.tc_id) AS num_testcase FROM requirement_tbl INNER JOIN testcase_tbl on(testcase_tbl.req_id = requirement_tbl.req_id) $where";    
$result = runSQL($sql); 
$numrow = countRec('*','requirement_tbl INNER JOIN testcase_tbl on(testcase_tbl.req_id = requirement_tbl.req_id)',$where);   

น่าจะแบบนี้ละครับ โทษทีมืนๆ 


Suthee Khongnapha 183.89.132.xxx 25-06-2016 18:47
 ความคิดเห็นที่ 15
เหมือนเดิมเลยครับ TT


eodza13579 171.6.143.xxx 26-06-2016 17:16
 ความคิดเห็นที่ 16
ผมขอ email หน่อยได้ไหมครับ จะได้ส่งไฟล์ทั้งหมดให้ดูครับ เผื่อเข้าใจขึ้นครับ


eodza13579 171.6.143.xxx 26-06-2016 18:28
 ความคิดเห็นที่ 17
แบบนี้น่าจะตรงกับที่ต้องการมากกว่า ถ้าไม่ได้ให้ลองเช็คว่า $_GET['id']; ได้ค่ามามั้ย

$id = $_GET['id'];      
$sql = "SELECT requirement_tbl.req_id,requirement_tbl.req_name FROM  requirement_tbl WHERE requirement_tbl.p_id = $id";    
$result = runSQL($sql); 
$json = "{aaData:[";
while ($row = mysql_fetch_array($result)) {  
    $req_id = $row['req_id'];
    $db = "SELECT * FROM  testcase_tbl WHERE testcase_tbl.req_id =  $req_id";
    $res = runSQL($db); 
    $count = 0;     
    while ($rows = mysql_fetch_array($res)) {  
        $count = $count+$rows['req_id'];
    }
    $json .= '["'.$row['req_name'].'","'.$count.'"],';
}
$json = rtrim($json ,',');
$json .= "]}";
echo $json;


Suthee Khongnapha 183.89.132.xxx 27-06-2016 11:54
 ความคิดเห็นที่ 18
$json = '{"aaData":[';

**แก้


Suthee Khongnapha 183.89.132.xxx 27-06-2016 11:57
 ความคิดเห็นที่ 19
รายละเอียดโค้ดของผมแปะไว้ในนี้ครับ พี่ช่วยดูให้หน่อย ผมตันจริงๆๆ

http://www.thaicreate.com/php/forum/123633.html#3





eodza13579 27.130.29.xxx 30-06-2016 12:37






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ