Maison >développement back-end >tutoriel php >Utiliser ThinkPHP5 pour mettre en œuvre la méthode de traitement des devoirs non soumis des étudiants et des informations sur les devoirs soumis dans le système de gestion des devoirs

Utiliser ThinkPHP5 pour mettre en œuvre la méthode de traitement des devoirs non soumis des étudiants et des informations sur les devoirs soumis dans le système de gestion des devoirs

不言
不言original
2018-06-08 09:48:141434parcourir

Cet article présente principalement la méthode d'implémentation de ThinkPHP5 pour gérer les devoirs non soumis des étudiants et les informations sur les devoirs remis dans le système de gestion des devoirs.Il implique les techniques d'implémentation de thinkPHP pour les opérations de requête et de traversée des tables de données.Les amis dans le besoin peuvent s'y référer. 🎜>

L'exemple de cet article décrit comment ThinkPHP5 implémente la méthode de traitement des devoirs non soumis des étudiants et des informations sur les devoirs soumis dans le système de gestion des devoirs. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Dans le système de gestion des devoirs, une fois que les étudiants se sont connectés au centre personnel, ils peuvent consulter leurs devoirs soumis et leurs devoirs non soumis via le menu de gauche. . Alors comment interroger ces données dans le système ? Tout d’abord, nous devons comprendre la relation entre les trois tables Student, Class et Submit.

1. Chaque élève appartient à une classe

2. Chaque élève de la classe se verra attribuer les mêmes devoirs

3. Une fois que les élèves auront soumis leurs devoirs, ils ajouteront. enregistrements de réponses au tableau de soumission, tels que l'identifiant de l'étudiant, l'identifiant du devoir, le contenu soumis, etc.

Vous pouvez suivre les étapes ci-dessous pour obtenir les devoirs soumis et les devoirs non soumis des élèves

1 Obtenez tous les devoirs de la classe de l'élève

//获取学生所在班级的所有作业
 public function getTasks($stuno)
 {
 $stu=$this::get(['stu_no'=>$stuno]);
 $clas=Clas::get(['clas_id'=>$stu['clas_id']]);
 return $clas->task;
 }
Comme possible. vu de la leçon de code ci-dessus, obtenez d'abord les informations sur l'étudiant en fonction de l'identifiant de l'étudiant ($stuno), puis obtenez les informations de classe de l'étudiant via l'ID de classe (clas_id) enregistré dans la table d'informations sur l'étudiant, et enfin obtenez les nombreux -à plusieurs entre la classe et la feuille de devoirs (voir le manuel officiel Thinkphp5 pour plus de détails sur la partie associée du modèle), obtenez tous les devoirs assignés par la classe de l'élève.

2. Récupérez les devoirs non soumis des étudiants

//获取某学生所有未交作业
 public function getUnSubmitTasks($stuno)
 {
 $stu=$this::get(['stu_no'=>$stuno]);
 $alltask=$this->getTasks($stuno);
 foreach($alltask as $key=>$value)
 {
  if(Submit::get(['task_id'=>$value['task_id'],'stu_id'=>$stu['stu_id']]))
  {
  unset($alltask[$key]);//删除已提交作业
  }
 }
 return $alltask;
 }
Cette fonction appelle d'abord la fonction pour obtenir tous les devoirs ($this->getTasks($stuno)) pour obtenir tous les devoirs. du fonctionnement de la classe de l'élève. Cet ensemble de données est un tableau bidimensionnel. Parcourez le tableau bidimensionnel pour voir s'il y a des devoirs dans le tableau bidimensionnel qui a été soumis à Soumettre par l'étudiant. Si tel est le cas, supprimez l'élément.

3. Obtenir les devoirs soumis par les étudiants

Avec les deux fonctions ci-dessus, obtenir les devoirs soumis devient simple Le tableau bidimensionnel obtenu par la première fonction est soustrait de la seconde Les tableaux. renvoyé par les deux fonctions est la collection de devoirs que les étudiants ont soumis. Faites simplement la différence entre les tableaux bidimensionnels

//获取某学生所有已交作业(所有作业和未交作业的差集)
 public function getSubmitTasks($stuno)
 {
 $unsubmit=$this->getUnSubmitTasks($stuno);
 $alltasks=$this->getTasks($stuno);
 $submittasks=array();
 foreach ($alltasks as $key=>$value)
 {
  if(!in_array($value,$unsubmit))
  {
  $submittasks[]=$value;
  }
 }
 return $submittasks;
 }
Ce qui précède est l'intégralité du contenu de cet article. à l'apprentissage de tous. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

ThinkPHP réalise la conversion des données de résultat de requête de base de données dans le type correspondant

thinkPHP3.2.3 se combine avec Laypage pour réaliser la fonction de pagination

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn