Könnte man die Abfrage in der Schleife nicht noch irgendwie geschickt in die 1. Abfrage mit reinpacken?
Und könnte man nicht überhaupt dann da den PHP Teil weglassen?
Der PHP Teil könnte zur Not auch da bleiben.
Währe nur besser wenn die 2. Abfrage in der 1. mit drin ist,
da sonst pro Kategorie immer eine extra Abfrage läuft.
Und könnte man nicht überhaupt dann da den PHP Teil weglassen?
Der PHP Teil könnte zur Not auch da bleiben.
Währe nur besser wenn die 2. Abfrage in der 1. mit drin ist,
da sonst pro Kategorie immer eine extra Abfrage läuft.
PHP:
<?php
$sql = 'SELECT categories.id AS categories_id, categories.name AS categories_name, user.id AS user_id, user.name AS user_name, user.sort_order AS user_sort_order, user.visible AS user_visible
FROM ' . MEMBERS_CATEGORIES_TABLE . ' categories
INNER JOIN ' . MEMBERS_USER_TABLE . ' user
ON categories.id = user.categories_id
ORDER BY categories.sort_order ASC, user.sort_order ASC';
$result = $db->sql_query($sql);
$catid = 0;
while ($row = $db->sql_fetchrow($result)) {
// categories
$categories_id = $row["categories_id"];
$categories_name = $row["categories_name"];
// users
$user_id = $row["user_id"];
$user_name = $row["user_name"];
$user_sort_order = $row["user_sort_order"];
$user_visible = $row["user_visible"];
if ($categories_id != $catid) {
$new_category = true;
$catid = $categories_id;
$sql_count = 'SELECT COUNT(id) AS counts
FROM ' . MEMBERS_USER_TABLE . '
WHERE categories_id=' . $categories_id;
$result_count = $db->sql_query($sql_count);
$records = (int) $db->sql_fetchfield('counts');
$db->sql_freeresult($result_count);
} else {
$new_category = false;
$sort_order_buttons = "normal_line";
}
if ($records == 1) {
$sort_order_buttons = "only_one_line";
} else if ($records == $user_sort_order) {
$sort_order_buttons = "last_line";
} else if ($user_sort_order == 1) {
$sort_order_buttons = "first_line";
}
}
$db->sql_freeresult($result);
?>