【发布时间】:2017-07-18 12:52:46
【问题描述】:
所以我是一个完全的初学者,我正在做一个创建动态下拉表单的项目。我已经编写了一些代码,现在想知道是否可以在多行 php 变量中插入 php 和 html。下面的代码是我刚刚尝试过的[此处未包含 javascript],但 php 显示错误。这根本不可能,还是我的一些错误?提前致谢。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>php & html inside a multi line php variable</title>
</head>
<body>
<?php
$chooseroom=<<<HERE
<div class="select-boxes">
<?php
//Include database configuration file
include('dbConfig.php');
//Get all occupation data
$query = $db->query("SELECT * FROM occupations WHERE status = 1 ORDER BY occupation_name ASC");
//Count total number of rows
$rowCount = $query->num_rows;
?>
<select name="occupation" id="occupation">
<option value="">Select occupation</option>
<?php
if($rowCount > 0){
while($row = $query->fetch_assoc()){
echo '<option value="'.$row['occupation_id'].'">'.$row['occupation_name'].'</option>';
}
}else{
echo '<option value="">occupation not available</option>';
}
?>
</select>
<select name="specification" id="specification">
<option value="">Select occupation first</option>
</select>
<select name="expertise" id="expertise">
<option value="">Select specification first</option>
</select>
</div>
HERE;
echo $chooseroom;
</body>
</html>
按照你们中的一些人的要求,这是我的 JAVASCRIPT:
<script src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#occupation').on('change',function(){
var occupationID = $(this).val();
if(occupationID){
$.ajax({
type:'POST',
url:'ajaxData.php',
data:'occupation_id='+occupationID,
success:function(html){
$('#specification').html(html);
$('#expertise').html('<option value="">Select specification first</option>');
}
});
}else{
$('#specification').html('<option value="">Select occupation first</option>');
$('#expertise').html('<option value="">Select specification first</option>');
}
});
$('#specification').on('change',function(){
var specificationID = $(this).val();
if(specificationID){
$.ajax({
type:'POST',
url:'ajaxData.php',
data:'specification_id='+specificationID,
success:function(html){
$('#expertise').html(html);
}
});
}else{
$('#expertise').html('<option value="">Select specification first</option>');
}
});
});
</script>
【问题讨论】:
-
不能真正得到,你想把什么放进那个变量?你能用它代替
<<<HERE吗? -
是的,请发布更多代码(最好包含 javascript),因为现在,我看到您打开了一个 php 标签,然后是 html,这会破坏您的脚本,然后是 @987654325 @ 在 php 标签之外不是有效的 php 或 html。
-
不,您不能将 PHP 控制结构放在 heredoc 块中。您可以插入现有变量,但仅此而已。
-
@Danielius -
<<<HERE是字符串的开头;这是HEREDOC 语法。查看echo $chooseroom;上方,您会看到关闭HERE; -
谢谢大家,我已经包含了我的javascript,如果这可以帮助你帮助我!..再次感谢
标签: javascript php html forms variables