创建一个动态文本字段,根据选择列表选项更改内容?

时间:2013-09-30 09:32:50

标签: php sql dynamic

我和我的同事正在建立我们自己的公司,负责处理考试成绩和学校数据。我目前正在设置网页(我是PHP和Dreamweaver CC的新手),最终用户可以在他们需要的范围内访问和编辑数据库。

但我会明白我的问题。目前我正在尝试构建一个数据编辑页面,其中一旦用户登录就显示所有相关数据(在这种情况下,它是一个管理员类型的人,因此他/她需要查看哪个教师教授哪个类)。在这个页面上,我想构建一个所有可能类的下拉列表(使用记录集完成此操作,按字母顺序排序并正常工作)并链接到该列表,这是一个动态文本字段,根据选择列表中选择的选项更改值

示例:

有四个班级,以及四个相应的教师:

班级 - 老师

英语 - 鲍勃

西班牙语 - 胡安

数学 - 珍妮

地理 - 威廉

我基本上要注意的是,如果您在下拉选择列表中选择“英语”类,则文本字段应显示“Bob”(对于所有其他类,类似)。到目前为止,我还没有设法在Dreamweaver CC中找到如何做到这一点。

编辑:我忘了提到类名和相应的老师都是我在记录集中设置的查询的结果 - 所以不必自己创建链接我必须显示该链接(它对下拉列表中的第一个学校名称这样做,但我认为这是因为查询的性质)

非常感谢帮助!

1 个答案:

答案 0 :(得分:2)

PHP是一种服务器端语言;不是客户方。你需要JS而不是PHP来完成这项任务。试试这个

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script>
<script type="text/javascript">
   $('.teacher').change(function(){
      var teacher = $(this).val();  
      $('#text').val(teacher);
   });
</script>

<?php
    //If all of the info for the classes is stored in MySQL, then do this
    //I'm not sure how your DB is structured, but you should get the idea here
    //Query the DB for all of the teachers and the subjects they teach
    $con = mysqli_connect("localhost", "root", "password", "database");
    $result = mysqli_query($con, "SELECT * FROM classes");
    $count = mysqli_num_rows($result);
    $i = 0;

   while($row = mysqli_fetch_array($result)) {
      $teacher[$i] = $row['teacher'];
      $subject[$i] = $row['subject'];

      $i++;
   }
?>
<select class="teacher">
<?php
    //Loop thru and for each row, echo out an option tag
    for($i=0;$i<$count;$i++) {
        echo "<option value='".$teacher[$i]."'>".$subject[$i]."</option>";
    }
?>
</select>

<input type="text" id="text" value="" />