1Danke
ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
531
531
EMPFEHLEN
-
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.
PHP-Code:<?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);
?>Tutorials: Ajax JSON Chat PHP
-
Item: Wo wertest du die Variablen der Schleife aus?
Item: Du kannst den Count als Subquery anhängen
Code sql:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
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, item_counts.counts AS categories_items_count FROM MEMBERS_CATEGORIES_TABLE categories INNER JOIN MEMBERS_USER_TABLE USER ON categories.id = USER.categories_id INNER JOIN ( SELECT categories_id, COUNT(id) AS counts FROM MEMBERS_USER_TABLE GROUP BY categories_id ) item_counts ON categories.id = item_counts.categories_id ORDER BY categories.sort_order ASC, USER.sort_order ASC
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Tutorials: Ajax JSON Chat PHP
Ähnliche Themen
-
Abfragen zusammenführen
Von starbug im Forum Office-AnwendungenAntworten: 2Letzter Beitrag: 02.11.11, 13:33 -
MySQL - Bei Zusammenführen von zwei Tabellen Auto_Increment Spalte erstellen
Von eingeist im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 20.09.10, 09:35 -
MySQL - Zwei Tabellen in Abfrage zusammenführen
Von d-braun im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 06.09.10, 12:04 -
MySQL-Query Result zusammenführen...
Von thing im Forum PHPAntworten: 2Letzter Beitrag: 29.01.04, 09:49 -
Felder in MySql zusammenführen?
Von Luda im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 09.01.04, 08:02





Zitieren


Login





