在php while循环中保存值

时间:2014-09-12 08:41:08

标签: php html

尝试创建按钮,rule作为按钮上的名称,desc作为传递的值。但这只是将$name放在按钮上。我做错了什么?

<?php    
$result = mysqli_query($con,"SELECT * FROM db_Rules");
while($row = mysqli_fetch_array($result)) {
 $desc = $row['desc'];
 $name = $row['rule'];
?>
      <button onclick="myFunction($desc)">$name</button>
<br>
<?php
 }
?>

9 个答案:

答案 0 :(得分:1)

<button onclick="myFunction(<?php echo $desc; ?>)"><?php echo $name; ?></button>

你需要在php

中写出来

答案 1 :(得分:1)

您必须echo PHP变量才能在HTML元素中获取其值。

 <button onclick="myFunction(<?php echo $desc;?>)"><?php echo $name;?></button>

答案 2 :(得分:1)

你需要在循环时回显结果。

<button onclick="myFunction(<?php echo $desc; ?>)"><?php echo $name; ?></button>

完整代码:

<?php
$result = mysqli_query($con, "SELECT * FROM db_Rules");
while ($row = mysqli_fetch_array($result)) {
    $desc = $row['desc'];
    $name = $row['rule'];
?>
    <button onclick="myFunction(<?php echo $desc; ?>)"><?php echo $name; ?></button>
    <br>
<?php } ?>

或者在php标签中回显它,而不是关闭并再次打开它们:

echo "<button onclick='myFunction($desc)'>$name</button>";

答案 3 :(得分:1)

PHP适用于PHP。使用PHP code block.

包装您的函数和名称变量

<button onclick="myFunction(<?php echo $desc ?>);"><?php echo $name; ?></button>

答案 4 :(得分:1)

您已经忘记在php变量周围添加php标记了。

<?php    
$result = mysqli_query($con,"SELECT * FROM db_Rules");
while($row = mysqli_fetch_array($result)) {
 $desc = $row['desc'];
 $name = $row['rule'];
?>
      <button onclick="myFunction(<?php echo $desc;?>)"><?php echo $name;?></button>
<br>
<?php
 }
?>

答案 5 :(得分:1)

你没有回应任何东西,只是HTML

<?php    
$result = mysqli_query($con,"SELECT * FROM db_Rules");
while($row = mysqli_fetch_array($result)) {
$desc = $row['desc'];
$name = $row['rule'];
?>
<button onclick="myFunction(<?=$desc?>)"><?=$name?></button>
<br>
<?php
}
?>

如果您启用了short_tags,那就是这样。否则

<?php echo $desc; ?> 

<?php echo $name; ?> 

会起作用

答案 6 :(得分:1)

试试这个:

<?php    
$result = mysqli_query($con,"SELECT * FROM db_Rules");
while($row = mysqli_fetch_array($result)) {
 $desc = $row['desc'];
 $name = $row['rule'];
?>
  <button onclick="myFunction(<?= $desc?>)"><?= $name?></button>
<br>
<?php
 }
?>

问题是,您没有在HTML中回显变量(您的变量未被解释器解析)

答案 7 :(得分:1)

<?php    
$result = mysqli_query($con,"SELECT * FROM db_Rules");
while($row = mysqli_fetch_array($result)) {
 $desc = $row['desc'];
 $name = $row['rule'];
?>

  <button onclick="myFunction('<?php echo mysql_real_escape_string($desc)?>')"><?php echo $name;?></button>  
  <br />

<?php }?>

答案 8 :(得分:1)

注意:如果你想在html中使用php代码那么你应该总是使用php标签

<?php 
// Write php code here
?>

这就是为什么你应该替换下面这行

<button onclick="myFunction($desc)">$name</button>

<button onclick="myFunction(<?php echo $desc; ?>)"><?php echo $name; ?></button>

,第二种方法是在php标签内写入html

echo '<button onclick="myFunction('.$desc.')">'.$name.'</button>';