2015-10-14 23 views
2

我不能完全弄清楚为什么,但是我的代码生成每个数据库行的2个到我的表。MySQL获取每个数据库行的2个

这是我的SELECT语句

//select all data 
$query = "SELECT e.employeeid, e.name, e.title, e.phone, s.name as supplier_name, e.created 
      FROM employeestest e 
       LEFT JOIN supplierstest s 
        ON s.supplierid 
      ORDER BY e.employeeid DESC 
      LIMIT :from_record_num, :records_per_page"; 

$stmt = $con->prepare($query); 
$stmt->bindParam(":from_record_num", $from_record_num, PDO::PARAM_INT); 
$stmt->bindParam(":records_per_page", $records_per_page, PDO::PARAM_INT); 
$stmt->execute(); 

//number of rows returned 
$num = $stmt->rowCount(); 

这是我填充表(有此之前头,这就是为什么你没有开始table标签)

// retrieve table contents 
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){ 

    extract($row); 

    //creating new table row per record 
    echo "<tr>"; 
     echo "<td class='text-align-center'><input type='checkbox' name='item[]' class='checkboxes' value='{$employeeid}' /></td>"; 
     echo "<td>{$name}</td>"; 
     echo "<td>{$title}</td>"; 
     echo "<td>{$phone}</td>"; 
     echo "<td>{$supplier_name}</td>"; 
     echo "<td>{$created}</td>"; 
     echo "<td>"; 

      // update record 
      echo "<a href='update_product.php?employeeid={$employeeid}' class='btn btn-info margin-right-1em'>"; 
       echo "<span class='glyphicon glyphicon-edit'></span> Rediger"; 
      echo "</a>"; 

      // delete record 
      echo "<a delete-employeeid='{$employeeid}' delete-file='delete_product.php' class='btn btn-danger delete-object'>"; 
       echo "<span class='glyphicon glyphicon-remove'></span> Slet"; 
      echo "</a>"; 

     echo "</td>"; 
    echo "</tr>"; 
} 
//end table<br> 
echo "</table>"; 

让我知道如果需要更多的代码!

回答

5

您的join的状况是不正确的。你需要一个条件。就像这样:

 FROM employeestest e LEFT JOIN 
      supplierstest s 
      ON s.supplierid = e.supplierid 
-----------------------------^ 

或者任何适当的列用于链接两个表。

+0

这样做的工作! 当我看到代码时也有意义。 – Anders

1
use like this: 

$query = "SELECT e.employeeid, e.name, e.title, e.phone, s.name as supplier_name, e.created 
     FROM employeestest e 
      LEFT JOIN supplierstest s 
       ON s.supplierid = e.supplierid 
     ORDER BY e.employeeid DESC 
     LIMIT :from_record_num, :records_per_page"; 

- e.supplierid或e.suppliedcoumnname无论它是什么。