2014-09-12 2 views
0

Попытка создания кнопок с rule как имя на кнопке и desc в качестве значения, которое оно передает. Но это просто положить $name на кнопку. Что я делаю не так?Сохранить значение во время цикла php while

<?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 
} 
?> 
+0

используйте блок кода PHP и эхо-переменные –

ответ

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>"; 
1
<button onclick="myFunction(<?php echo $desc; ?>)"><?php echo $name; ?></button> 

Вы должны написать это в PHP

1

Вы должны echo на PHP переменные, чтобы получить его значение в HTML-элементов.

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

PHP для PHP. Оберните функцию и имя переменной с PHP code block.

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

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 
} 
?> 
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; ?> 

будет работать

+0

Не забывайте ';' после переменной. Несмотря на то, что он работает в этом случае, это хорошая практика – iswinky

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 (ваши переменные не были анализируется переводчиком)

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 }?> 
1

Примечание: Если вы хотите использовать код PHP внутри HTML, то вы должны всегда использовать PHP теги

<?php 
// Write php code here 
?> 

Вот почему вы должны заменить это ниже линии

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

с

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

и второй способ - написать html внутри тега php

echo '<button onclick="myFunction('.$desc.')">'.$name.'</button>'; 
Смежные вопросы