【问题标题】:Need to print variable inside a variable php mysql需要在变量php mysql中打印变量
【发布时间】:2013-06-16 12:11:54
【问题描述】:

我对 php mysql 有一个简单的挑战。我是 php 的新手,正在尝试编写一些代码。

下面是我的代码:

$checked1 = $row['rmc_induction_softskill'];
$checked2= $row['rmc_induction_neo'];
$checked3 = $row['rmc_induction_itil'];
$checked4 = $row['rmc_induction_hr_induction'];
$checked5 = $row['rmc_induction_vmware'];
$checked6 = $row['rmc_induction_lss'];

我希望运行一个循环并运行单个 html 行,其中包含上述所有变量名,以一对一的方式。例如,我想要 $checked1 == 1 , $checked2 == 1 。我尝试了下面的代码,但每次循环都无法获得 $checked1

for ($i=1; $i<=33; $i++){
$checked = checked{$i};
echo $checked;
<td align="center" bgcolor="#E6E6FA">  <input type="checkbox" id="<?php echo $i.$rows['emp_id']; ?>" name="Emails[]" value="<?php echo $i.";".$concatenated_string; ?>" <?php if ($checked == 1) echo "checked" ; ?>  onclick="check(<?php echo $i.$rows['emp_id']; ?>);"  /></td>

【问题讨论】:

  • 这段代码有几个语法错误,很难推断出所需的 HTML 输出。你能发布一个预期输出的例子吗?

标签: php mysql


【解决方案1】:

您可以使用您的 var 名称分配一个变量:

$check0 = 1;
$check1 = 0;
$check2 = 1;
$check3 = 1;

for($i = 0; $i < 4; $i++) {
    $var = "check$i";
    echo ($$var == 1 ? 'true' : 'false') . '<br />';
}

我希望这就是你想要做的。

【讨论】:

  • 我想要 $checked1=1 , $checked2=1 ,@checked=3 。我希望 $checked.$i 是随机的
  • 请换个说法。使用此代码,您可以将其与$var = 'checked'.$i 一起使用。和"checked$i"一样。
【解决方案2】:

您不能使用 checked{$i} 来模拟 checked1 或 checked2 或 ... 您要做的是将所有内容放入/推送到具有键值的数组中 配对,然后根据列表的索引恢复它们。我相信你的 MySQL read 返回一个键值对数组,因此您可以循环遍历它, 但是如果你想选择特定的字段,那么你可以创建一个数组 在 PHP 中并推送其中的项目。举个例子吧:

// insert into the checked array. Insert all those fields/rows that you want 
$checked = array($row['rmc_induction_softskill'], $row['rmc_induction_neo'], $row['rmc_induction_itil']);

for ($i=1; $i<=count($checked); $i++){
$checkedTemp = checked[$i];
echo $checkedTemp;
<td align="center" bgcolor="#E6E6FA">  <input type="checkbox" id="<?php echo   $i.$rows['emp_id']; ?>" name="Emails[]" value="<?php echo $i.";".$concatenated_string; ?>" <?php if ($checkedTemp == 1) echo "checked" ; ?>  onclick="check(<?php echo $i.$rows['emp_id']; ?>);"  /></td>

所以这是一种方法。根据您插入数组的顺序,您也可以将其取出。

【讨论】:

  • 你是老板!!! ..你做我的工作很轻松。非常感谢 。但是当你尝试你的方式时,我得到了低于输出。我需要另一个 $ 的内容 .checked1 已检查 2 已检查 3 已检查 4 已检查 5 已检查 6 已检查 7 已检查 8 已检查 10 已检查 11 已检查 12 已检查 13 已检查 14 已检查 15 已检查 16 已检查 17 已检查 18 已检查 19 已检查 20 已检查 21 已检查 22 已检查 23 已检查 24 已检查 25 已检查 26 已检查 27 已检查 28已检查 29已检查 30已检查31已检查32
【解决方案3】:

我无法准确理解您要执行的操作,但这里有一个通用的建议,说明您可以执行的操作...

$checked[1] = $row['rmc_induction_softskill']
$checked[2] = $row['rmc_induction_neo']
....etc

for ($i=0;$i<sizeof($checked);$i++) {
    echo $checked[$i];
}

不知道这是否是您要查找的内容,如果您需要更具体的内容并添加一些额外信息,请告诉我,以便我更好地了解您想要做什么。

【讨论】:

    【解决方案4】:

    这是我可以假设你想要的最接近的

    http://3v4l.org/mV0TO

    <?php
    
        $rows['emp_id'] = 333;
        $concatenated_string = "hello";
    
        $checked1 = 1;// $row['rmc_induction_softskill'];
        $checked2= 1;//$row['rmc_induction_neo'];
        $checked3 = 0;//$row['rmc_induction_itil'];
        $checked4 = 1;//$row['rmc_induction_hr_induction'];
        $checked5 = 0;//$row['rmc_induction_vmware'];
        $checked6 = 0;//$row['rmc_induction_lss'];
    
        for ($i=1; $i<=6; $i++)
        {
            $checked = ${'checked'.$i};
            echo $checked;
    
            echo '
    <td align="center" bgcolor="#E6E6FA">
        <input type="checkbox" id="'.$i.$rows['emp_id'].'" name="Emails[]" value="'.$i.';'.$concatenated_string.'" '.($checked == 1)?'checked':''.'  onclick="check('.$i.$rows['emp_id'].');"  />
    </td>';
    
         }
    ?>
    

    【讨论】:

    • 感谢大家在这方面的帮助。感谢您的时间和回应。亚历克斯解决了我的挑战。特别感谢他。下面是它的调整版本。 for ($i=0; $i
    【解决方案5】:

    以下是我的问题的答案。亚历克斯的帮助:

    将数据库中的变量或数据放入数组中。如下所示。

    $checked = array($row['rmc_induction_softskill'], $row['rmc_induction_neo'], $row['rmc_induction_itil']);
    

    对创建的数组进行循环,使用数组的计数得到总数。

    for ($i=0; $i<=count($checked); $i++){
    $checkedTemp = $checked[$i];
    echo $checkedTemp;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      • 2018-10-12
      • 2017-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多