在php中获取span标签的值并在sql语句中部署,不起作用

问题描述 投票:0回答:2

我的代码中有一点问题,请查看并帮助我。我想将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查询部分正常工作。但是当我想要执行时,这里不起作用。

php html mysql
2个回答
0
投票

您可以尝试如下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'";

0
投票

你不能插入这样的变量。看到这个答案。

复杂(卷曲)语法

可以通过此语法包含具有字符串表示的任何标量变量,数组元素或对象属性。只需以与字符串外部相同的方式编写表达式,然后将其包装在{和}中。由于{无法转义,因此仅当$紧跟{时,才会识别此语法。使用{\ $获取文字{$。

Curly braces in string in PHP


我的建议应该是将查询字符串更改为以下内容:

$fee_detail = "SELECT * FROMfee_enrollWHERE registeration = '{$regg}' AND mode = 'ENABLE'";

© www.soinside.com 2019 - 2024. All rights reserved.