首页 > 解决方案 > 在 php 中获取 span 标签的值并在 sql 语句中部署,不起作用

问题描述

我的代码有一个小问题,请检查它并帮助我。我想将 span 标签的值(由 html 中的 id 获取)分配给 php 变量,然后运行 ​​sql 查询以获取表中相关值的记录。这是我的代码。

我以不同的方式尝试了它,但它不起作用。我打印了 sql 查询,它绝对正确,但没有显示正确的结果。我复制了打印的 sql 查询并将其粘贴到 phpmyadmin 查询部分并在那里运行。然后它工作正常并显示相关记录。请帮忙

$regg = '<span id="modal-myvalue"></span>';
$fee_detail = "SELECT * FROM `fee_enroll` WHERE registeration = '$regg' AND mode = 'ENABLE'";
//here i print the query and its output is correct but doesn't show the correct record here.      
echo $fee_detail;
 $result_fee = mysqli_query($con, $fee_detail);
 while($row_fee = mysqli_fetch_assoc($result_fee)) {
 echo $row_fee['registeration'];
 }

我想在 span 标记中获取的数据(在 id 中)是通过此脚本从按钮发送的:

<script type="text/javascript">    
    var ATTRIBUTES = ['myvalue'];
    $('[data-toggle="modal"]').on('click', function(e) {
        var $target = $(e.target);
        var modalSelector = $target.data('target');

        ATTRIBUTES.forEach(function(attributeName) {
            var $modalAttribute = $(modalSelector + ' #modal-' + attributeName);
            var dataValue = $target.data(attributeName);

            $modalAttribute.text(dataValue || '');
        });
    });
</script>

按钮代码是

<a class="btn" type=submit data-toggle="modal" data-target="#model-view" data-myvalue="<?php echo $row['registeration']; ?>">VIEW Detail</a>

当我打印查询时,它显示:

(SELECT * FROM `fee_enroll` WHERE registeration = 'FA12-BSE-094' AND mode = 'ENABLE')

在 phpmyadmin 查询部分可以正常工作。但是当我想执行时在这里不起作用。

标签: phphtmlmysql

解决方案


您可以尝试DOMDocument如下,

$regg = '<span id="modal-myvalue">FA12-BSE-094</span>';
$doc = new DOMDocument();
$doc->loadHTML($regg);
$elements = $doc->getElementsByTagName('span')->item(0);
var_dump($elements->nodeValue);

然后你可以在查询中使用这个变量,如下所示,

$fee_detail = "SELECT * FROM `fee_enroll` WHERE registeration = '$elements->nodeValue' AND mode = 'ENABLE'";

推荐阅读