Subversion Repositories personal-webbase

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. <?php
  2.  
  3. if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgef&uuml;hrt werden.');
  4.  
  5. // Datenbankreinigung: IDs sammeln
  6.  
  7. $faecher = '';
  8. $res = db_query("SELECT `id` FROM `".$WBConfig->getMySQLPrefix()."schule_faecher`");
  9. while ($row = db_fetch($res))
  10. {
  11.         $faecher .= "'".$row['id']."', ";
  12. }
  13. $faecher = substr($faecher, 0, strlen($faecher)-2);
  14.  
  15. $jahrgaenge = '';
  16. $res = db_query("SELECT `id` FROM `".$WBConfig->getMySQLPrefix()."schule_jahrgaenge`");
  17. while ($row = db_fetch($res))
  18. {
  19.         $jahrgaenge .= "'".$row['id']."', ";
  20. }
  21. $jahrgaenge = substr($jahrgaenge, 0, strlen($jahrgaenge)-2);
  22.  
  23. // Alle Noten löschen, zu denen kein gültiges Fach/Jahrgang gefunden wurde.
  24.  
  25. if (($faecher != '') && ($jahrgaenge != ''))
  26. {
  27.         $add = "WHERE `fach_cnid` NOT IN ($faecher) OR `year_cnid` NOT IN ($jahrgaenge)";
  28. }
  29. else
  30. {
  31.         $add = '';
  32. }
  33.  
  34. db_query("DELETE FROM `".$WBConfig->getMySQLPrefix()."schule_noten`$add");
  35.  
  36. if (db_affected_rows() > 0)
  37. {
  38.         db_query("OPTIMIZE TABLE `".$WBConfig->getMySQLPrefix()."schule_noten`");
  39. }
  40.  
  41. // Alle Fächer löschen, zu denen kein gültiger Jahrgang gefunden wurde.
  42.  
  43. if ($jahrgaenge != '')
  44. {
  45.         $add = "WHERE `year_cnid` NOT IN ($jahrgaenge)";
  46. }
  47. else
  48. {
  49.         $add = '';
  50. }
  51.  
  52. db_query("DELETE FROM `".$WBConfig->getMySQLPrefix()."schule_faecher`$add");
  53.  
  54. if (db_affected_rows() > 0)
  55. {
  56.         db_query("OPTIMIZE TABLE `".$WBConfig->getMySQLPrefix()."schule_faecher`");
  57. }
  58.  
  59. // Alle Hausaufgaben löschen, zu denen kein gültiges Fach/Jahrgang gefunden wurde.
  60.  
  61. if (($faecher != '') && ($jahrgaenge != ''))
  62. {
  63.         $add = "WHERE `fach_cnid` NOT IN ($faecher) OR `year_cnid` NOT IN ($jahrgaenge)";
  64. }
  65. else
  66. {
  67.         $add = '';
  68. }
  69.  
  70. db_query("DELETE FROM `".$WBConfig->getMySQLPrefix()."schule_hausaufgaben`$add");
  71.  
  72. if (db_affected_rows() > 0)
  73. {
  74.         db_query("OPTIMIZE TABLE `".$WBConfig->getMySQLPrefix()."schule_hausaufgaben`");
  75. }
  76.  
  77. ?>