如何使用模式显示表中数据库中的数据

时间:2019-06-20 06:31:47

标签: html mysql bootstrap-modal jscript

我希望表中的数据可以单击并以模式显示。 然后从表中获取该数据的ID,并以该模式显示数据库中的其余数据。

我尝试遵循此操作,但不起作用,我不知道为什么

File localPath = File.createTempFile("TestGitRepository", "");
Git result = Git.cloneRepository()
                .setURI("https://gitlab.wuintranet.net/fe/wu-content.git")
                .setDirectory(localPath)
                .call(); 

我希望我的表行在单击时显示模式,然后以该模式显示与数据库中被单击行相关的数据

2 个答案:

答案 0 :(得分:0)

首先,模态不在循环中,因此您无法在模态中访问$rowb;其次,这不是正确的方法,因为将模态放入循环中后,它将创建很多(数百个或成千上万的模态,这并不是很好的表现。

正确的方法是,创建一个模式并为该按钮分配一个类,并将数字id放在id属性中,然后单击该按钮进行ajax调用并获取数据并显示在模态 这样,单个模式便可以动态显示正确的数据。

答案 1 :(得分:0)

您可以改用try catch作为表的正文。

     try {
            $pdo = new PDO('mysql:host=localhost:3306;dbname=databaseName;', 'username', 'password' );
            $pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
            $stmt = $pdo->prepare(
                "SELECT * from debtors  "
            );
            $flag = $stmt->execute();
            if ( !$flag ) {
                $info = $stmt->errorInfo();
                exit( $info[2] );
            }
            while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ) {
                $num = $num +1;
                @$tbody .='<tr>';
                    //$tbody .='<td>'.$row["id"].'</td>
                    $tbody .='<td>'.$num.'</td
                        <input type="hidden" id="id'.$row["id"].'" value="'.$row["id"].'"/>
<input type="hidden" id="contact #'.$row["contact #"].'" value="'.$row["id"].'"/>
                        <input type="hidden" id="lname'.$row["id"].'" value="'.$row["lname"].'"/>
                        <input type="hidden" id="fname'.$row["id"].'" value="'.$row["fname"].'"/>
                        <input type="hidden" id="address'.$row["id"].'" value="'.$row["address"].'" />
                    ';

                    $tbody .='<td>'.$row["contact #"].'</td>';
                    $tbody .='<td>'.$row["lname"].'</td>';
                    $tbody .='<td>'.$row["fname"].'</td>';
                    $tbody .='<td>P'.$row["address"].'</td>';

                    $tbody .='<td><input type ="button" id = "btnshow" value = "show"  data-id="'.$row["id"].'"></input></td></a>';     
            }   
        }
        catch ( PDOException $e ) {
        echo $e->getMessage();
        $pdo = null;
    }

只需确保数据库中的数据具有唯一的ID。 脚本:

$(document).on('click','#btnshow',function(){

        var id_show = $(this).data('id');
        var contact= document.getElementById('contact #'+id_edit).value;
        var lname= document.getElementById('lname'+id_edit).value;
        var fname= document.getElementById('fname'+id_edit).value;
        var address= document.getElementById('address'+id_edit).value;

        $(".modal-heading").html('')
        $(".modal-body").html(
            '<div class = "container-fluid" style="width:89%;" >' +
'<input type="hidden" class="form-control" id="id_row" name="id_row" value="'+ id_edit +'"></input>'+ <input type="text" id="contact" name= "contact" readonly="readonly" class="form-control"  value="'+contact #+'"></input>'+ <input type="text" id="lname" name= "lname" readonly="readonly" class="form-control"  value="'+lname+'"></input>'+ <input type="text" id="fname" name= "fname" readonly="readonly" class="form-control"  value="'+fname+'"></input>'+<input type="text" id="address" name= "address" readonly="readonly" class="form-control"  value="'+address+'"></input>'+

'</form></div>'
        )
    })  

您的html:

<table id ="products">
<col width="130">
<col width="80">
    <thead>
        <th>ID</th>
        <th>CONTACT</th>
        <th>LNAME</th>
        <th>FNAME</th>
        <th>ADDRESS</th>

    </thead>
    <tbody>
        <?php echo $tbody;?>
    </tbody>
</table>