From b1ab0ddf18ff50ba5671d3bd897b857756daf055 Mon Sep 17 00:00:00 2001 From: kindlm Date: Mon, 7 Jul 2025 14:23:59 +0200 Subject: [PATCH] Zeilenumbruch, wenn Fragen-Liste zu lang --- cis/testtool/admin/index.php | 107 ++++++++++++++++++++++++----------- 1 file changed, 73 insertions(+), 34 deletions(-) diff --git a/cis/testtool/admin/index.php b/cis/testtool/admin/index.php index 5080a6ffa..4f010784f 100644 --- a/cis/testtool/admin/index.php +++ b/cis/testtool/admin/index.php @@ -65,7 +65,7 @@ if (isset($_GET['nummer'])) } else { - $nummer = ''; + $nummer = '0'; } if (isset($_GET['frage_id'])) @@ -944,44 +944,83 @@ if (($anzahl !== 0) || ($stg_kz == '-1') && ($stg_kz !== '')) inaktiv'; } - echo '
- '; - foreach ($resultArray AS $key=>$value) - { - if ($nummer == '') - $nummer = $value['nummer']; + echo '
'; - $style = ''; - if ($db->db_parse_bool($value['aktiv']) == false) - $style = 'style="color: lightgrey"'; + $counter = 0; + $maxPerTable = 50; + $totalItems = count($resultArray); - $styleSelected = ''; - if ($nummer == $value['nummer']) - { - $styleSelected = 'style="background-color: lightblue"'; - } + // Erste Tabelle öffnen + echo '
Nummer:
+ '; - echo ''; + foreach ($resultArray AS $key=>$value) { + // Neue Tabelle starten, wenn 50 Einträge erreicht sind + if ($counter > 0 && $counter % $maxPerTable == 0) { + // Aktuelle Tabelle schließen + echo ''; + + // Level-Zeile für die vorherigen Einträge + $startIndex = $counter - $maxPerTable; + $endIndex = $counter; + $tempArray = array_slice($resultArray, $startIndex, $maxPerTable, true); + + foreach ($tempArray AS $tempKey=>$tempValue) { + $leveltext = ''; + if ($tempValue['level'] == '') { + $leveltext = '-'; + } else { + $leveltext = $tempValue['level']; + if ($tempValue['demo'] == 't') { + $leveltext .= '*'; + } + } + echo ''; + } + + echo '
Nummer:'.$value['nummer'].'
Level:'.$leveltext.'

'; + + // Neue Tabelle starten + echo ' + '; + } + + if ($nummer == '') + $nummer = $value['nummer']; + $style = ''; + if ($db->db_parse_bool($value['aktiv']) == false) + $style = 'style="color: lightgrey"'; + $styleSelected = ''; + if ($nummer == $value['nummer']) { + $styleSelected = 'style="background-color: lightblue"'; + } + echo ''; + + $counter++; } - echo ' - '; - $leveltext = ''; - foreach ($resultArray AS $key=>$value) - { - if ($value['level'] == '') - { - $leveltext = '-'; - } - else - { - $leveltext = $value['level']; - if ($value['demo'] == 't') - { - $leveltext .= '*'; - } - } - echo ''; + + // Letzte Tabelle schließen + echo ''; + + // Level-Zeile für die letzten Einträge + $remainingItems = $counter % $maxPerTable; + if ($remainingItems == 0) $remainingItems = $maxPerTable; + $startIndex = $counter - $remainingItems; + $tempArray = array_slice($resultArray, $startIndex, $remainingItems, true); + + foreach ($tempArray AS $tempKey=>$tempValue) { + $leveltext = ''; + if ($tempValue['level'] == '') { + $leveltext = '-'; + } else { + $leveltext = $tempValue['level']; + if ($tempValue['demo'] == 't') { + $leveltext .= '*'; + } + } + echo ''; } + echo '
Nummer:'.$value['nummer'].'
Level:'.$leveltext.'
Level:'.$leveltext.'
'; echo " neue Frage hinzufuegen"; $frage_obj = new frage();