好的家伙我需要一些帮助,重新设置这个以正确格式化。
我有这个代码: (这是访问一个名为"学生"在数据库中的表。)
<?php
require_once('connection.php');
$id = $_SESSION['SESS_MEMBER_ID'];
$result3 = mysql_query("SET NAMES UTF8;");
$result3 = mysql_query("SELECT * FROM students where mem_id='$id'");
while($row3 = mysql_fetch_array($result3))
{
$fname = $row3['fname'];
$country = $row3['country'];
$class = $row3['class'];
$headteacher = $row3['headteacher'];
$attendance = $row3['attendance'];
$homework = $row3['homework'];
$messagestudent = $row3['messagestudent'];
}
?>
<?php
if($class=='K1')
echo "teacher 1";
else if($class=='K2')
echo "teacher 2";
else if($class=='K3')
echo "teacher 3";
?>
在另一张桌子上,我有老师的名字和我需要做的事情,我找不到合适的方法,就是从桌子上拨打老师的名字&#34;老师&#34;在查询确认&#34;学生&#34;之后的K1,K2或K3数据之后表格列&#34;类&#34;。
基本上我需要的是改变回声部分的内容,例如,将其从代码中所需的静态数据切换到另一个表中包含的数据。两个表都有一个名为&#34; class&#34;的列,所以如果学生的类列说&#34; K1&#34;我想要这样去检查老师&#34;表格#34;类&#34;并选择匹配&#34; K1&#34;并将其显示在结果回显中,我确信它是可能的,但不是我当前的技能水平。
学生的表结构是:
mem_id, username, password, fname, country, class, attendance, homework, messagestudent
教师的表格结构是:
mem_id, class, name, comment
希望你们对我有所了解!
提前致谢。
PS。我知道该查询使用了已弃用的mysql_
,但当我尝试按照指南将其更改为mysqli_
时,它从未奏效。
答案 0 :(得分:0)
您可以使用左连接。尝试使用以下查询:
SELECT * FROM students as st
LEFT JOIN teachers AS ts
on st.class=ts.class
WHERE st.mem_id = '$id'
您不需要为此使用if-else语句。它也适用于mysqli。
根据你的脚本,它应该像:
<?php
require_once('connection.php');
$id = $_SESSION['SESS_MEMBER_ID'];
$result3 = mysql_query("SET NAMES UTF8;");
$result3 = mysql_query("SELECT st.*, ts.name AS teacher_name FROM students as st LEFT JOIN teachers AS ts on st.class=ts.class WHERE st.mem_id = ".$id);
while($row3 = mysql_fetch_array($result3))
{
$fname = $row3['fname'];
$country = $row3['country'];
$class = $row3['class'];
$headteacher = $row3['headteacher'];
$attendance = $row3['attendance'];
$homework = $row3['homework'];
$messagestudent = $row3['messagestudent'];
$teachername = $row3['teacher_name'];
}
echo $class. ' - '. $teachername;
?>
答案 1 :(得分:0)
如果我理解,你可以通过这个查询获得所需的数据(没有JOIN或if语句):
SELECT students.*,teachers.name FROM students,teachers WHERE students.id='$id' AND students.class = teachers.class
根据学生班级,在同一行返回教师姓名。