2013-03-24 8 views
0

我遇到了SQL SELECT語句的問題,我在Google和youtube上搜索過,但是我什麼也沒找到。Select Statement正在加載錯誤的數據

這是我的PHP代碼:

public function loadMark($data){ 
    dbConn(); 

    $query = "SELECT 
     subject.subName 
     , mark.mark 
    FROM 
     itcollage.marktype 
     , itcollage.student 
    INNER JOIN itcollage.parent 
     ON (student.pId = parent.pId) 
    INNER JOIN itcollage.mark 
     ON (mark.stId = student.sId) 
    INNER JOIN itcollage.subject 
     ON (mark.subId = subject.subId) 
    WHERE 
     parent.pUsername='$data' 
    AND 
     mark.subId = subject.subId LIMIT 2"; 

    return $result= mysql_query($query); 

} 

,我wan't這個加載正確標記爲拿到學生ID的父母,但它不斷重複的痕跡所有科目。

數據如下:

Subject  Mark 
-------- | ------ 
Java 101 | A 
Java 101 | D 
Math 101 | A 
Math 101 | D 
  • 的Java 101 = A,數學= d

所以,什麼是錯!

這裏是我的調用類marks.class.php

include '../classes/mark.class.php'; 

    $mark = new mark(); 
    $result = $mark->loadMark($user); 
    $num = mysql_num_rows($result); 

    if ($num == 0) { 
?> 
     <h2>No Marks for your Kid</h2> 
<?php 
    } else { 
?> 
     <h2>Marks</h2> 
     <table> 
      <thead> 
       <tr> 
        <th>Subject</th> 
        <th>Mark</th> 
        </tr> 
       </thead> 
       <tbody> 
<?php 
        while ($row = mysql_fetch_object($result)) { 
         $marks = $row->mark; 
         $subject = $row->subName; 
?> 

         <tr class="light"> 
          <td align="center"><?php echo $subject; ?></td> 
          <td align="center"><?php echo $marks; ?></td> 
         </tr> 

<?php 
        } 
?> 
       </tbody> 
      </table> 

誰能告訴我什麼是錯誤的代碼?

+0

看來你有一些語法錯誤在FROM子句 – veljasije 2013-03-24 22:59:39

+0

以及如何解決內部連接語句加載你的隊友重播:) – 2013-03-24 23:03:10

+0

嘗試正確的數據和THX避免INNER JOIN與標記或標記類型表,因爲它可以創建重複。並把表格數據的樣本。 – veljasije 2013-03-24 23:12:25

回答

1

這看起來像問題所在。您不爲此表指定聯接條件。

FROM 
    itcollage.marktype 
    , itcollage.student 

更改爲:

FROM 
    itcollage.marktype 
    INNER JOIN itcollage.student *(add join condition here)* 
+0

thx隊友爲您的幫助,但我只是刪除itcollage.marktype ...解決thx爲veljasije和菲爾·桑德勒=) – 2013-03-25 22:50:32