2016-12-01 147 views
-1

我想将我的数据库中的变量传递给HTML代码,但它不起作用。如果我为我的选择选项输入一个数字值,它会起作用,但它不适用于我试图引用我的class_id。我从我的代码中找到的代码是here。我也在wordpress上写这个代码。将PHP变量传递给HTML代码

global $wpdb; 
$result = $wpdb->get_results("SELECT course FROM class;"); 
echo " 
<form> 
    <select name='department' onchange ='showUser(this.value)'>"; 
    foreach($result as $results){ 
    echo "<option selected value='$results->class_id'>$results->course</option>"; 
    } 
    echo" </select> 
</form>"; 
+4

惊人,已经与WordPress和对象不理解字符串连接的基础知识。 – Xorifelse

+0

@Xorifelse感谢您的有用评论 – zjposz

+0

是的,确实有帮助,因为您正在寻找的答案是在该评论的某个地方。你只需要搜索它。 – Xorifelse

回答

1

尽量不要将您的HTML和PHP混合在一起,下面我已经为您解决了一些问题。您需要在查询中选择class_id以将其用作选项值,但也不能在所有选项中使用选中的选项。在循环播放它们之前,您可能需要检查是否有实际的结果。

<?php 
global $wpdb; 
$results = $wpdb->get_results("SELECT class_id, course FROM class;"); 
?> 
<form> 
    <select name="department" onchange="showUser(this.value)"> 
    <?php foreach($results as $result): ?> 
    <option value="<?= $results->class_id ?>"><?= $results->course ?></option> 
    <?php endforeach ?> 
    </select> 
</form> 
0
global $wpdb; 
    $result = $wpdb->get_results("SELECT course FROM class;"); 
    echo '<form><select name="department" onchange="showUser(this.value)">'; 
    foreach($result as $results){ 
    echo '<option selected value="'.$results->class_id.'" >'.$results->course.'</option>'; 
    } 
    echo '</select></form>'; 
-2

很容易和简单了解使用此代码,它的工作知府

<?php global $wpdb; $result = $wpdb->get_results("SELECT course FROM class;"); ?> 
<form> 
    <select name='department' onchange ='showUser(this.value)'> 
     <?php foreach($result as $results){ ?> 
     <option selected value='<?php echo $results->class_id; ?>'><?php echo $results->course; ?> </option> 
     <?php } ?> 
    </select> 
</form>