簡體   English   中英

從SQL數據庫以模式加載數據

[英]Loading data from a SQL database in a modal

我當前正在通過foreach循環在表中顯示數據,我希望能夠單擊特定行中的編輯按鈕,然后它會打開一個模式對話框,該對話框根據該行的ID從表中獲取其他數據?

<?php
foreach ($db->query('SELECT * FROM websitehosting ORDER BY CUSTOMERNAME ASC') as $row)
{
    $date1 = $row['SERVICERENEWALDATE'];
    $myDateTime = DateTime::createFromFormat('Y-m-d H:i:s', $date1);
    $formattedrenewaldate = $myDateTime->format('d-M-Y');
    $hello = $row['ID'];

    // echo out the contents of each row into a table
    echo "<tr>";
    echo '<td>' . $hello . '</td>';
    echo '<td>' . $row['CUSTOMERNAME'] . '</td>';
    echo '<td>' . $row['DOMAINNAME'] . '</td>';
    echo '<td>' . $formattedrenewaldate . '</td>';
    echo '<td>' . $row['STATUS'] . '</td>';
    echo '<td><button name="submitid" class="btn btn-info footable-edit edit" id=' . $row['ID'] . ' data-toggle="modal" data-target="#myModal" >Info</button></td>';
    echo '<td>' . $row['UPDATEDBY'] . '</td>';
    echo '<td><a class="btn btn-success" onclick="my1Function()">Edit</a></td>';
    echo "</tr>";
}

// close table>
echo "</table>";
?>

目前,每行的ID都設置為“編輯”按鈕的ID,但我無法獲取下面的數據來調整ID,因此它顯示正確的數據。 顯然,目前將其設置為26,但我希望將其設置為按鈕的ID或只是該行的ID。 最終,我希望能夠編輯數據,但現在我只顯示它

<div id="myModal" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Service Information</h4>
            </div>
            <div class="modal-body">
                <?php
                $dummy = '26';
                foreach ($db->query("SELECT * FROM websitehosting WHERE ID = '$dummy'") as $row)
                {
                    $date = $row['SIGNUPDATE'];
                    $test = $row['ID'];
                    $myDateTime = DateTime::createFromFormat('Y-m-d H:i:s', $date);
                    $formattedsignupdate = $myDateTime->format('d-M-Y');

                    $date1 = $row['SERVICERENEWALDATE'];
                    $myDateTime1 = DateTime::createFromFormat('Y-m-d H:i:s', $date1);
                    $formattedrenewaldate = $myDateTime1->format('d-M-Y');
                    ?>
                    <table><?php echo $hello; ?>
                        <tr>
                            <td><b>ID:</b></td>
                            <td><label id="hello"></label></td>
                        </tr>
                        <tr>
                            <td style="width:150px;"><b>Customer:</b></td>
                            <td><?php echo $row['CUSTOMERNAME']; ?></td>
                        </tr>
                        <tr>
                            <td style="width:150px;"><b>Domain Name:</b></td>
                            <td><?php echo $row['DOMAINNAME']; ?></td>
                        </tr>
                        <tr>
                            <td style="width:150px;"><b>Signup Date:</b></td>
                            <td><?php echo $formattedsignupdate; ?></td>
                        </tr>
                        <tr>
                            <td style="width:150px;"><b>Renewal Date:</b></td>
                            <td><?php echo $formattedrenewaldate; ?></td>
                        </tr>
                        <tr>
                            <td style="width:150px;"><b>Hosting Type:</b></td>
                            <td><?php echo $row['HOSTINGTYPE']; ?></td>
                        </tr>
                        <tr>
                            <td style="width:150px;"><b>Current Server:</b></td>
                            <td><?php echo $row['ACTIVESERVER']; ?></td>
                        </tr>
                        <tr>
                            <td style="width:150px;"><b>Website Type:</b></td>
                            <td><?php echo $row['WEBSITETYPE']; ?></td>
                        </tr>
                        <tr>
                            <td style="width:150px;"><b>Diskspace:</b></td>
                            <td><?php echo $row['DISKSPACE']; ?>GB</td>
                        </tr>
                        <tr>
                            <td style="width:150px;"><b>Bandwidth:</b></td>
                            <td><?php echo $row['BANDWIDTH']; ?>GB</td>
                        </tr>
                        <tr>
                            <td style="width:150px;"><b>Annual Cost:</b></td>
                            <td>£<?php echo $row['ANNUALCOST']; ?></td>
                        </tr>
                        <tr>
                            <td style="width:150px;"><b>Comments:</b></td>
                            <td><?php echo $row['COMMENTS']; ?></td>
                        </tr>
                    </table>
                <?php } ?>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>

您可以創建function like edit_row(var row_id) js function like edit_row(var row_id)並在html表中添加

<td>
<button onclick="edit_row(<?=$row['id']?>)">edit</button>
</td>

在頁面末尾,您可以像這樣http://jsfiddle.net/h3WDq/添加html模態,而js函數的主體應該像這樣

function like edit_row(var row_id)
{
// get data with ajax 
$.ajax({
            url: "get_data.php",
             type:"POST",
            data : {id:row_id},
            dataType: "JSON",
            success: function(result){
// here you can set modal inputs value from result 
//finally you can run modal

    }});
}

之后,您需要發布模態表單值,您可以使用ajax請求或常規表單post來完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM