【问题标题】:MySQL fetches 2 of each database rowMySQL 获取每个数据库行中的 2 个
【发布时间】:2015-10-14 12:02:03
【问题描述】:

我不太明白为什么,但我的代码在我的表中生成了每个数据库行中的 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();

这是我填充表格的地方(在此之前有标题,这就是你没有开始表格标签的原因)

// 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>";

如果需要更多代码,请告诉我!

【问题讨论】:

    标签: php mysql sql select left-join


    【解决方案1】:

    您的join 条件错误。你需要一个条件。像这样的:

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

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

    【讨论】:

    • 这样就完成了!当我看到代码时也很有意义。
    【解决方案2】:
    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 不管它是什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-18
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多