繁体   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