Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 填充数据库中两个不同表的下拉列表_Php_Mysql - Fatal编程技术网

Php 填充数据库中两个不同表的下拉列表

Php 填充数据库中两个不同表的下拉列表,php,mysql,Php,Mysql,我试图填充数据库中两个不同表的下拉列表,它们使用前两个表的ID连接在第三个表中。我使用第一个答案作为下拉列表的指南 各表: 课程-id、职称; 类别-id、标题; 课程到课程-课程ID,课程ID 守则: <?php include("global.php"); doHeader(); $currentCourseClass = "SELECT id, title FROM courses"; $rsCurrentCourseClass = mysql_query($currentCours

我试图填充数据库中两个不同表的下拉列表,它们使用前两个表的ID连接在第三个表中。我使用第一个答案作为下拉列表的指南

各表: 课程-id、职称; 类别-id、标题; 课程到课程-课程ID,课程ID

守则:

<?php
include("global.php");
doHeader();
$currentCourseClass = "SELECT id, title FROM courses";
$rsCurrentCourseClass = mysql_query($currentCourseClass);

while($get_row = mysql_fetch_assoc($rsCurrentCourseClass)) {
$categories[] = array("id" => $get_row['id'], "val" => $get_row['title']);
}

$currentCourseClass2 = "SELECT cl.id as classid, cl.title as classtitle, cr.id as courseid FROM classes_to_courses c2c LEFT JOIN classes cl ON c2c.coursesID = cl.id LEFT JOIN courses cr ON c2c.classesID = cr.id";

 $rsCurrentCourseClass2 = mysql_query($currentCourseClass2);


 while($get_row = mysql_fetch_assoc($rsCurrentCourseClass2)) {
 $subcats[$get_row['courseid']][] = array("id" => $get_row['classid'], "val" => $get_row['classtitle']);
 }
/**/
$jsonCats = json_encode($categories);
$jsonSubCats = json_encode($subcats);


?>
我的问题似乎与第二个查询有关,$currentCourseClass2。如何从联接的表类到课程中选择课程ID,以便正确设置数组


谢谢。

不确定您收到了什么错误,但您的加入可能有误。在代码段中,您有:

SELECT 
    cl.id as classid, 
    cl.title as classtitle
    cr.id as courseid 
FROM classes_to_courses c2c 
LEFT JOIN classes cl ON c2c.coursesID = cl.id 
LEFT JOIN courses cr ON c2c.classesID = cr.id";
因此,您试图使用c2c.coursesID连接classes表,反之亦然

相反,您不应该加入基于c2c.classesID的classes表和c2c.coursesID上的courses表吗

SELECT 
    cl.id as classid, 
    cl.title as classtitle
    cr.id as courseid 
FROM classes_to_courses c2c 
LEFT JOIN classes cl ON c2c.classesID = cl.id 
LEFT JOIN courses cr ON c2c.coursesID = cr.id";

. 它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果你选择PDO,你是绝对正确的。我真不敢相信我错过了。这是我最后一天的事了。非常感谢你!