Php 从表a的按钮行中收集一行表B

Php 从表a的按钮行中收集一行表B,php,jquery,mysql,twitter-bootstrap,html-table,Php,Jquery,Mysql,Twitter Bootstrap,Html Table,我正在使用php和表引导 我有一个表格,每行包含一个按钮 每个按钮都有一个与行号相等的值。(见下文) 在我的模式中使用此代码时,我总是为所有按钮收集表B的第3行 $sql = "SELECT * from tableb WHERE id=3 "; 在模态中使用此代码时,我收集最后一行插入的每个按钮 $sql = "SELECT * from tableb WHERE id='$job_id' "; (表A和表B通过外键连接) TableB具有(id,job_id),job_id=t

我正在使用php和表引导

  • 我有一个表格,每行包含一个按钮
  • 每个按钮都有一个与行号相等的值。(见下文)

  • 在我的模式中使用此代码时,我总是为所有按钮收集表B的第3行

    $sql = "SELECT * from tableb WHERE id=3 ";
    
  • 在模态中使用此代码时,我收集最后一行插入的每个按钮

    $sql = "SELECT * from tableb WHERE id='$job_id' "; 
    
  • (表A和表B通过外键连接)
    TableB具有(id,job_id),job_id=tableA的id
    表A有(id)

    有什么建议可以帮助我实现我的目标吗


    更新1->xxx.php文件包含加载TableA的脚本和加载模式弹出窗口的脚本


    加载表的脚本


    您可以使用
    JOIN
    指令通过一个请求链接两个表

    // For the third button the SQL request will be :
    $sql="SELECT * FROM tableA A  INNER JOIN tableb B ON B.job_id=A.id WHERE B.id=3";
    // For the fourth button the SQL request will be : 
    $sql="SELECT * FROM tableA A  INNER JOIN tableb B ON B.job_id=A.id WHERE B.id=4";
    
    请注意,这里我在请求时使用别名。例如,A是表A的别名。因此,A.id是表A的id列


    有关SQL联接的更多信息,请查看此链接:。

    要获取tableB中与tableA id相对应的行,您应该编写:

    $sql = "SELECT * from tableb WHERE job_id = $jobId ";
    
    请注意,我放置了“WHERE job_id=”,而不是“WHERE id=”


    有一个答案建议加入。通过联接,您将获得tableA中的行和tableB中的数据

    tableA是否已经包含了应在模式中显示的所有数据,或者它只包含id和一些列,并且您需要使用id从数据库中获取完整信息,以便在用户单击按钮时显示?TableA不包含我想要显示的所有数据。我想从TableA的按钮中显示TableB中包含的数据,但要将按钮与相应的行关联起来。我添加了一张图片,以更清楚地说明我想要实现的目标。使用此解决方案,所有按钮始终显示同一行(表B中插入的最后一行)。我认为我的问题是,按钮始终获得插入的最后一行的值(我可以显示),但是,例如,第三行的按钮应该包含值3,而不是最后一行按钮的值。您可以显示用于加载视图的代码吗?我需要查看用于显示表中项目列表的第一个查询当插入行时,每个按钮都会获得一个自动增量值,我应该可以这样说:单击按钮时->如果“按钮值”=“客户id值”(我使用
    $sql=)显示表的详细信息选择*from tableb,其中$job_id=id”;
    但我不明白为什么只显示插入的最后一行。感谢提示。无论如何,我需要它来显示所有按钮,而不仅仅是特定按钮。应该制作一个循环,以便插入的每一新行都会获得一个按钮,该按钮具有与tableb的行号相对应的新值
         <?php
        include("../includes/connection.php");
        if ($link->connect_errno > 0) {
            die('Unable to connect to database [' . $link->connect_error . ']');
        }
        $sql = "SELECT * from TableA";
        if (!$result = $link->query($sql)) {
            die('There was an error running the query [' . $link->error . ']');
        }
        echo "
        <table class='table'>
            <thead>
                <tr>";
        /* Get field information for all columns */
       ...
            while ($row = $result->fetch_assoc()) {
            $job_id = $row['id'];
            echo "<form action='' method=post>";
            echo "<tr class='info'>
    
                        <input type=hidden name=hidden value=" . $row['id'] . ">
                        <td>" . $row['id'] . "</td> 
                        <td>" . $row['device'] . "</td>
                        <td>" . $row['model'] . "</td> 
                        <td>" . $row['problem'] . "</td>
    
                         <td> <a class='btn btn-primary btn-sm'  data-toggle='modal' data-target='#myModal'   name='job_id' value=[$job_id]  >  Info</a></td>
                    </tr>";
            echo "</form>";
        }    echo "   </tbody>   </table>";  ?>
    
     <?php
    
    include("../includes/connection.php");
    
    if ($link->connect_errno > 0) {
        die('Unable to connect to database [' . $link->connect_error . ']');
    }
    
    $sql = "SELECT * from TableB WHERE job_id=$job_id ";
    if (!$result = $link->query($sql)) {
        die('There was an error running the query [' . $link->error . ']');
    }
    echo "
    <table class='table'>
        <thead>
            <tr>";
    /* Get field information for all columns */
    while ($finfo = $result->fetch_field()) {
        echo "
            <th>" . $finfo->name . "</th>";
    }
    echo "
            </tr>
        </thead>
        <tbody>";
    while ($row = $result->fetch_assoc()) {
        echo "<tr class='info'>
        <td>" . $row['id'] . "</td>
                    <td>" . $row['name'] . "</td>
                    <td>" . $row['mail'] . "</td>
                    <td>" . $row['number'] . "</td>
                    <td>" . $row['price'] . "</td>
                    <td>" . $row['paymenttype'] . "</td>
                    <td>" . $row['faktura'] . "</td>
                    <td>" . $row['date'] . "</td>
    
        </tr>";}echo "   </tbody></table>";?>
    
    // For the third button the SQL request will be :
    $sql="SELECT * FROM tableA A  INNER JOIN tableb B ON B.job_id=A.id WHERE B.id=3";
    // For the fourth button the SQL request will be : 
    $sql="SELECT * FROM tableA A  INNER JOIN tableb B ON B.job_id=A.id WHERE B.id=4";
    
    $sql = "SELECT * from tableb WHERE job_id = $jobId ";