- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在创建一个应用程序,它将在选定的一天为老师列出类(class),每个类(class)都是屏幕上的一个按钮。此列表是使用 *ngFor
制作的,并从 ts 文件中提取数据,该文件最初来自 PHP/数据库查询。
然后老师会按下按钮以显示当天哪些学生应该上课。这是一款出勤/缺勤监控应用。
但是,我正在测试 *ngFor
来制作我的列表,因为数据存储为 3 个对象,每个对象都有一个学生的信息,所以 动态创建了三个按钮>*ngFor
- 事实上,由于三个学生在同一个类(class),我只需要一个按钮。
只需要为老师当天的下一节课创建下一个按钮。
我猜这是一个算法问题,或者可能需要进行不同的查询才能从 SQL 获取数据。我不知道。
我迷路了
HTML
<ion-list>
<ion-card padding *ngFor="let cour of planning; let i = index" (click)="showStudents($event, i)">
<h2>{{ cour.cours }}</h2>
<p>{{ cour.time }}</p>
<p>{{ cour.date }}</p>
<p>{{ cour.lieux }}</p>
<p>{{ cour.duration }}</p>
</ion-card>
</ion-list>
服务
getCoursList(date, idIntervenant) {
return this.http.post('http://localhost/Attendance App/myApp/src/app/api/getCours.php?id='+idIntervenant,
{ date, }).subscribe(data => {
console.log(Object.values(data));
let planningData = Object.values(data);
const grabArray = planningData[0];
const id = grabArray.intervenant;
if (id !== undefined) {
// console.log('test array', id);
let navExtras: NavigationExtras = {
state: {
planning: planningData
}
}
this.router.navigate(['/cours/', id], navExtras);
};
},
error => {
console.log(error);
});
}
PHP查询数据库
if (isset($_POST["date"])) {
// $id = $_POST["id"];
$origDate = date("Y-m-d", strtotime($_POST['date']));
$date = $origDate;
$id = $_GET['id'];
$stmt = $conn->prepare("SELECT * FROM planning WHERE intervenant = :id AND date = :date");
$stmt->execute([':id' => $id, ':date' => $date]);
if ($stmt->rowCount() > 0) {
$output = array();
$output = $stmt->fetchAll();
echo json_encode($output);
} else {
$errors = "No data found for this date";
echo json_encode($errors);
}
// $conn->close();
}
从 PHP 查询接收到的数据 - 1 个包含 3 个对象的数组
[object Array]: [Object, Object, Object]
0: Object
cours: "Suivi individuel"
date: "2019-07-06"
duration: "1h30"
etudiant: "james ross"
id_planning: 19
intervenant: "2"
lieux: "Nice 2"
time: "12:00"
__proto__: Object
1: Object
cours: "Suivi individuel"
date: "2019-07-06"
duration: "1h30"
etudiant: "Tupac Shakur"
id_planning: 20
intervenant: "2"
lieux: "Nice 2"
time: "12:00"
__proto__: Object
2: Object
cours: "Suivi individuel"
date: "2019-07-06"
duration: "1h30"
etudiant: "Joyner lucas"
id_planning: 21
intervenant: "2"
lieux: "Nice 2"
time: "12:00"
__proto__: Object
length: "3"
上面的三个学生都在同一时间去同一个类,所以我只想动态生成一个按钮。
如果那天老师有第二节课,它会生成第二个按钮,依此类推。
目前没有错误信息,我只是没有得到想要的结果。
最佳答案
看来您可能需要以不同方式构建数据库。与其在计划表中为每个学生排一行,不如考虑采用以下结构:
Table Student:
- studentId
- name
Table Teacher:
- teacherId
- name
Table Class:
- classId
- name
- description
- schedule (not sure what the format of this would be,
but using it your code should be able to determine the next meeting of the class)
Table Registration (each row in this table represents a student enrolled in the class):
- classId
- teacherId
- studentId
然后您的查询变为 SELECT * FROM Class WHERE teacherId=X
X 是已登录的教师。这将为您提供该教师所类的总列表。
要获取特定类(class)的学生列表,您可以执行以下操作:SELECT * FROM Registration WHERE classId=Y AND teacherId=X
Y 是从先前查询中检索到的类(class) ID 之一。
希望这能帮助您朝着正确的方向前进!
关于javascript - *ngFor 需要为每个不同的对象生成 1 个 btn,但将相似的对象值放在同一个 btn 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56907387/
我当前项目中的许多类都有几个只能从类本身内部调用的属性和方法。此外,根据类(class)的当前状态,它们可能会扰乱类(class)的工作。 目前,所有这些接口(interface)都在 .h 文件的主
我想使用ngbTabSet将nav-pills in card-header 和tab-content in card-body。但我不知道该怎么做。 这是我尝试实现的示例(使用 bootstrap.
我正在浏览文档以查找如何允许放置在停靠栏图标上。据我所知,建议您使用 LSItemContentTypes,因为 CFBundleTypeOSTypes 已弃用。但是,我无法让 LSItemConte
我正在尝试在书签中使用 jquery UI 作为 slider 。并且 jquery ui 要求在普通 jquery 文件之后包含该文件。 所以到目前为止我所尝试的只是将脚本附加到 header ,同
您好,我尝试了广泛的谷歌搜索,但似乎没有任何帮助。 这是我的场景: 公司 Logo 存储在外部域/网址(矩形)中。 带有谷歌地图的 Ionic 应用程序,将这些 Logo 作为标记放置在 map 上。
我今天在阅读我的一些 C# 代码时发现了这一行: if (ProgenyList.ItemContainerGenerator.Status != System.Windows.Controls.Pr
我刚遇到this question在 Go FAQ 中,它让我想起了困扰我一段时间的事情。不幸的是,我真的不明白答案是什么。 似乎几乎所有非 C 类语言都将类型放在变量名之后,如下所示: var :
这是有效的 HTML 吗? 最佳答案 作为元素可以包含 phrasing content ,以及属于该组,则有效。 从语义上(并且具有一些常识),如果唯一的内容是 , 不;如果它同时包含文本和图像
这是有效的 HTML 吗? 最佳答案 作为元素可以包含 phrasing content ,以及属于该组,则有效。 从语义上(并且具有一些常识),如果唯一的内容是 , 不;如果它同时包含文本和图像
我有两本 T.Parr 写的关于 ANTLR 的书,我到处都看到美元符号和符号的引用。它也对我有用: term : IDENT -> { new TokenNode($IDENT) }; 或更复杂的东
我在实现段控制时遇到了一些问题。因为我希望它是一个固定的标题,所以当我滚动时我总是可以看到它,我已经在 - (UIView *)tableView:(UITableView *)tableView v
我有一个 20x36px (10x18pt) 的箭头图像,当我选择一个 UIImageView 时,将它拖到我的 View Controller 上然后设置图像,它总是模糊的。我只在我的项目中包含 @
How can I put background image when I hover a link Insert Bg in this a when hov
我需要在我的 .container 中添加(最新的第一个)新分区,但在 .controls (按钮)之后。可能吗? 注意:添加新的分区来保存按钮下方的前置控件对我来说不是一个选择。 HTML 需要保持
我是一名优秀的程序员,十分优秀!