如果使用前缀$将值存储在数据库中,则将数据库值显示为PHP变量

时间:2017-02-03 11:22:12

标签: php mysql

我有一个名为parameters的表,我在一列中插入了一个类似'$ counter_sales'的值。现在在我的PHP页面中,我从该表中获取了值。当我试图回复像$row10['column_name']这样的东西时,它只是给我结果'$ counter_sales',但我希望显示它的值,实际上我已经提到了例如。在同一页面的上一行中的变量$counter_sales中说12000。可能吗 ?请帮我。其实想要这样的代码。在我的表parameters中有一个值'$ counter_sales',我希望像代码中提到的那样使用它。

<?php                                                                       
$depart=1;
while($row10 = mysqli_fetch_assoc($selectedalldepartment))
{
    $sqlsel1 = "select * from parameters ";
    $sqlsel1q = mysqli_query($conn,$sqlsel1);
    $row2 = mysqli_fetch_assoc($sqlsel1q);
    //assigned counter sales value
    $counter_sales  = $row2["counter_sales"];
    ?>
    <tr>
        <td style="text-align:center;"><?php echo $depart; ?></td>
        <td style="text-align:center;"><?php echo $row10["incentive"] ; ?></td>
    </tr>
    <?php
    $depaz++;
    $depart++;
}
?>

这是我的表:

  user_id  |  user_name  |  incentive
     1     | Goldy Shahu | $counter_sales

2 个答案:

答案 0 :(得分:0)

您想使用variable variables。问题是变量名称应该是变量名称​​,而不是美元符号($)。因此,您必须使用ltrim删除美元符号。

此外,您需要用大括号括起来并在前面加上一个美元符号,如文档中所述。

因此,输出变量的代码应如下所示:

echo ${ltrim($row10['incentive'], '$')};

答案 1 :(得分:0)

您需要使用变量变量。基本上使用$$将一个变量的内容作为另一个变量的名称。

示例:

$counter_sales = 50; 
$web_sales = 1500;

$results = array('5000', '$counter_sales', '$web_sales', '50');

foreach ($results as $result) {
    if (substr($result, 0, 1) == '$') {     // if first char = '$'
        $var_name = ltrim($result, '$');    // get rid of '$'
        $valueToUse = $$var_name;           // get value from variable with the name of whatever '$var_name' contains
    } else {
        $valueToUse = $result;
    }

    echo "$result --> $valueToUse" . '<br>'; 
}

会屈服:

//  5000 --> 5000 
//  $counter_sales --> 50 
//  $web_sales --> 1500 
//  50 --> 50