Advertisement
Guest User

Untitled

a guest
Apr 21st, 2022
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.02 KB | None | 0 0
  1. <?php
  2. // p_ax_such_uv.php
  3. //
  4. // AJAX: Suche nach Unterrichtsvorhaben in der Datenbank auf der Basis eines Suchbegriffs und der derzeit angezeigten UV.
  5. //
  6. // ************************************************************
  7. // Projektname: p = Partituren
  8. // ************************************************************
  9. //
  10. // DigSyLand http://www.digsyland.de/
  11. //
  12. //
  13. // fh, 15-APR-2012.
  14. // lr: fh, 14-SEP-2013, Anpassung an neue Plan-Struktur (keine Bearbeitungszeile).
  15. // -------------------------------------------------------------
  16.  
  17. // Änderungsdatum:
  18. $strGChangeDate="14.09.2013";
  19.  
  20. // PHP-Kopf, include-Dateien:
  21. require_once ("lib/p_sys_includes.inc.php");
  22.  
  23. // Achtung, hier keine Session, daher noch keine Prüfung der Berechtigung.
  24. // Man könnte die Session-ID mit übergeben und in der DB überprüfen.
  25.  
  26. // Parameter einlesen:
  27. $strSuchbegriff=ut_get_webpar('ssuche'); // Suchbegriff.
  28. // Weitere Parameter werden 1:1 aus Get-Aufruf des Plans weitergeleitet.
  29.  
  30. // -------------------------------------------------------------
  31. // Variablen initialisieren:
  32. $numFehler=0; // Fehler-Indikator
  33. $strFehlercode=''; // Code für aufgetretenen Fehler.
  34. $boolDEBUG=(($boolGDEBUG) or (false)); // Wenn true, wird Debugging angeschaltet, sonst wird $boolGDEBUG übernommen.
  35. $numSuccess=0; // Rückgabecode: 0 - ok, 1 - Fehler ist aufgetreten.
  36. if ($boolDEBUG) {trigger_error("start p_ax_such_uv.php");trigger_error(serialize($_REQUEST)); }
  37. $arrResult=array();
  38.  
  39.  
  40. // -------------------------------------------------------------
  41. // Fehlerprüfungen:
  42. /*
  43. Keine bisher
  44. if ($numFehler == 0)
  45. {
  46. } // IF: Fehler?
  47. */
  48.  
  49. // -------------------------------------------------------------
  50.  
  51. if (($numFehler == 0) and ($strSuchbegriff != ''))
  52. {
  53.  
  54. list($numFehler,$strFehlercode,$arrFormparam)=p_read_auswahlform();
  55. if ($numFehler == 0)
  56. {
  57. // Ergebnis auf Einzelvariablen verteilen:
  58. list($numSF_ID,$strSchulform,$strSF_Kuerzel,
  59. $arrKatFaecher,$strFachCond,
  60. $arrKatStufen,$strStufenCond,
  61. $arrKatZuege,$strZugCond,
  62. $arrKatKursarten,$strKursartCond) = $arrFormparam;
  63. }
  64. elseif ($boolDEBUG)
  65. {
  66. {trigger_error("Fehler: $strFehlercode"); }
  67. }// IF: Fehler beim Auslesen des Formulars?
  68.  
  69.  
  70. if ($numFehler == 0)
  71. {
  72. // Abfragebedingung zur Abfrage der Daten aus der DB:
  73. $strCond="$strFachCond $strStufenCond $strZugCond $strKursartCond";
  74.  
  75. if ($boolDEBUG) {trigger_error("Abfragebedingung: $strCond"); }
  76.  
  77.  
  78. // Daten aus der DB auslesen:
  79. $arrUV=array();
  80. $strSuchtext='%' . strtolower($strSuchbegriff) . '%';
  81. // Zunächst ohne Textfelder:
  82. $strSQL="SELECT DISTINCT tuv.uv_id,tuv.fach_id,
  83. tuv.stufe_id,tuv.kursart_id,tuv.zug_id
  84. FROM $strGtabEinUnterrichtsvorhaben AS tuv
  85. WHERE (tuv.schulform_id=$numSF_ID)
  86. AND (LOWER(tuv.uv_titel) LIKE '$strSuchtext' )
  87. $strCond";
  88. $stmtSQL = db_exec($strSQL,$boolDEBUG);
  89. while (db_fetch_arr($stmtSQL,$arrSQL))
  90. {
  91. $numUVID=$arrSQL['uv_id'];
  92. $strDivTag='F' . $arrSQL['fach_id'] . '_S' . $arrSQL['stufe_id'] . '_K' . $arrSQL['kursart_id'] . '_Z' . $arrSQL['zug_id'];
  93. $strUVTag='uv_' . $strDivTag . '_UV' . $numUVID;
  94. $arrUV[$numUVID]=$strUVTag;
  95. }
  96.  
  97. // Jetzt die Schleife durch die Textfelder mit einem INNER JOIN
  98. $strSQL="SELECT DISTINCT tuv.uv_id,tuv.schulform_id,tuv.fach_id,
  99. tuv.stufe_id,tuv.kursart_id,tuv.zug_id
  100. FROM $strGtabEinUnterrichtsvorhaben AS tuv
  101. INNER JOIN $strGtabEinUVTextfelder AS ttf
  102. ON tuv.uv_id=ttf.uv_id
  103. WHERE (tuv.schulform_id=$numSF_ID)
  104. AND (LOWER(ttf.uv_text) LIKE '$strSuchtext' )
  105. $strCond";
  106. $stmtSQL = db_exec($strSQL,$boolDEBUG);
  107. while (db_fetch_arr($stmtSQL,$arrSQL))
  108. {
  109. $numUVID=$arrSQL['uv_id'];
  110. if (!isset($arrUV[$numUVID]))
  111. {
  112. $strDivTag='F' . $arrSQL['fach_id'] . '_S' . $arrSQL['stufe_id'] . '_K' . $arrSQL['kursart_id'] . '_Z' . $arrSQL['zug_id'];
  113. $strUVTag='uv_' . $strDivTag . '_UV' . $numUVID;
  114. $arrUV[$numUVID]=$strUVTag;
  115. } // IF: Schon vorhanden?
  116. }
  117.  
  118. if ($boolDEBUG) {trigger_error("UV:" . serialize($arrUV)); }
  119.  
  120. if (count($arrUV) > 0)
  121. {
  122. // $arrResult=array_values($arrUV); // Alle Array-Werte (IDs der UV-DIVs) numerisch durchnumerieren.
  123. $arrResult=$arrUV;
  124. }
  125. } // IF: Fehler?
  126. } // IF: Suchbegriff vorhanden?
  127.  
  128. // Ergebnis zurückgeben:
  129. $strResult=json_encode($arrResult);
  130. // trigger_error($strResult);
  131. echo $strResult;
  132.  
  133. // -----------------------------------------------------
  134. // Ende PHP.
  135. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement