Php 通过一系列数组传递值
我以前问过这个问题,但答案对我来说并不重要Php 通过一系列数组传递值,php,mysql,Php,Mysql,我以前问过这个问题,但答案对我来说并不重要 $sql = 'SELECT `name`, `course`, `id` FROM `teacher` ORDER BY `id` ASC'; $rows = $mysql_conn->fetch_array($sql); // Teacher's Table (id / name / link /course) // Course default = 1-1-1-1-1-1-1-1 foreach(
$sql = 'SELECT `name`, `course`, `id` FROM `teacher` ORDER BY `id` ASC';
$rows = $mysql_conn->fetch_array($sql);
// Teacher's Table (id / name / link /course)
// Course default = 1-1-1-1-1-1-1-1
foreach($rows as $record) {
$result[$record['name']] = $record['course'];
//$result["Moore,Tyler"] = "1-1-1-1-1-1-1-1";
//$result["Craig,Joey"] = "1-2-2-2-1-1-1-1";
//$result["Degra,Tina"] = "2-1-1-1-2-1-1-1";
}
foreach($result as $teacher=>$courses){
$result[$teacher] = explode('-',$courses); // Remove -'s from courses and separate the array into sections
//$result["Craig,Joey"][0] = 1;
//$result["Craig,Joey"][1] = 2;
//$result["Craig,Joey"][2] = 2;
//$result["Craig,Joey"][3] = 2;
//$result["Craig,Joey"][4] = 1;
//$result["Craig,Joey"][5] = 1;
//$result["Craig,Joey"][6] = 1;
//$result["Craig,Joey"][7] = 1;
}
foreach($result as $teacher=>$courses){
foreach($courses as $period => $course){
if($course == $id) { // If course is equal to course page (selected course) record the period 1-8
$name = explode(',', $teacher); // $name[0] = 'Craig' / $name[1] = 'Joey';
$result[$period][] = '<a href="?page=teacher&id=">'.$name[0].'<br />'.$name[1].'</a>';
// I want id= to get an id passed to it from the query
}
}
}
$sql='id'ASC'从'teacher'顺序中选择'name','course','id';
$rows=$mysql\u conn->fetch\u数组($sql);
//教师表(id/姓名/链接/课程)
//课程默认值=1-1-1-1-1-1-1-1-1
foreach($record中的行){
$result[$record['name']=$record['course'];
//$result[“摩尔,泰勒”]=“1-1-1-1-1-1-1-1-1”;
//$result[“Craig,Joey”]=“1-2-2-1-1-1-1”;
//$result[“Degra,Tina”]=“2-1-1-2-1-1-1-1”;
}
foreach($教师=>$课程的结果){
$result[$teacher]=分解('-',$courses);//从courses中删除-,并将数组分隔为多个部分
//$result[“Craig,Joey”][0]=1;
//$result[“Craig,Joey”][1]=2;
//$result[“Craig,Joey”][2]=2;
//$result[“Craig,Joey”][3]=2;
//$result[“Craig,Joey”][4]=1;
//$result[“Craig,Joey”][5]=1;
//$result[“Craig,Joey”][6]=1;
//$result[“Craig,Joey”][7]=1;
}
foreach($教师=>$课程的结果){
foreach($period=>$course的课程){
如果($course==$id){//如果course等于课程页面(所选课程),则记录时段1-8
$name=explode(',',$teacher);//$name[0]='Craig'/$name[1]='Joey';
$result[$period][]='';
//我希望id=从查询中获取传递给它的id
}
}
}
我想让老师的ID通过,这样我就可以把它放到代码底部附近的链接中
这是绝对必要的,但我似乎无法在不伤脑筋的情况下解决所有问题
任何帮助都将不胜感激!:) 我会将教师ID添加到他们的姓名中:
$sql = 'SELECT CONCAT(`name`, ",", `id`) AS `name`, `course` FROM `teacher` ORDER BY `id` ASC';
然后,当你分解老师的名字时,你将在索引
2
(姓、名、ID)上显示他们的ID。你应该继续通过编辑和评论跟进你的原始问题,无论是哪一个。原始问题相当混乱,所以我想我会清理它并重新发布。告诉我更多关于这一点,CONCAT会在输出时连接2吗?CONCAT函数只是连接两个或多个字符串。因此,如果您的老师的名字是“Smith,John”,他的ID是11,CONCAT(name,,,,ID)将“name”列值、逗号和“ID”列值连接起来,生成结果“Smith,John,11”。因此,当您生成$name=explode(“,”,$teacher);,你在索引0上得到了姓氏,在索引1上得到了名字,就像在你的例子中一样,但在索引2上也得到了ID。我不知道concatenate可以在MySQL中使用,我以为它只是一个excel的东西。不过谢谢你,你帮我省了几个小时来解决这个混乱的问题。