Hallo,
ich habe den folgenden Code:
Zuerst einmal, was ich überhaupt erreichen möchte: Ich baue ein Dashboard für ein kleines Backend, dort sollen die 5 aktuellen News angezeigt werden. Zusätzlich sollen weitere Informationen angezeigt werden wie die Anzahl der existierenden News und die Anzahl der Benutzer.
Frage 1:
In den ersten vier Querys verwende ich COUNT(id), da ich nur die Anzahl der gefunden Ergebnisse erhalten möchte. Ist die Abfrage so schneller, als wenn ich COUNT weglassen würde? Ist sie außerdem schneller, wenn ich nur die ids zähle anstatt alle Spalten, also COUNT(*)?
Frage 2:
Mit dem dritten Query möchte ich die News ausgeben. Derzeitig ist $res ein eindimensionales Array, ich möchte aber bei meinem letzten Query ein zweispaltiges Array haben, sodass ich die News mit einer foreach-Schleife ausgeben kann. Im Moment ist es nämlich noch so, dass ich mit einer foreach-Schleife die Ergebnisse ALLER Querys ausgeben würde, und nicht nur die vom letzten.
Zum besseren Verständnis mal das Array, das ich erhalte:
Und ich weiß nicht, wie ich die News dynamisch ausgeben kann, ohne jetzt jede News einzeln anzusprechen ($res[4], $res[5], usw.)
Ich hoffe ihr versteht das Problem und könnt mir helfen.
Danke im Voraus!
ich habe den folgenden Code:
PHP-Code:
<?php
$queryCountStr = "SELECT COUNT(id) FROM " . $dbpraefix . "news; ";
$queryCountStr .= "SELECT COUNT(id) FROM " . $dbpraefix . "users; ";
$queryCountStr .= "SELECT COUNT(id) FROM " . $dbpraefix . "logs; ";
$queryCountStr .= "SELECT COUNT(title) FROM " . $dbpraefix . "backup_news; ";
$queryCountStr .= "SELECT * FROM " . $dbpraefix . "news ORDER BY date1 desc, time desc LIMIT 5; ";
if($con->multi_query($queryCountStr)) {
$i = 0;
do {
if($result = $con->store_result()) {
while($row = $result->fetch_assoc()) {
$res[] = $row;
}
if($con -> more_results()) {
$i++;
}
}
} while(@mysqli_next_result($con));
}
?>
Frage 1:
In den ersten vier Querys verwende ich COUNT(id), da ich nur die Anzahl der gefunden Ergebnisse erhalten möchte. Ist die Abfrage so schneller, als wenn ich COUNT weglassen würde? Ist sie außerdem schneller, wenn ich nur die ids zähle anstatt alle Spalten, also COUNT(*)?
Frage 2:
Mit dem dritten Query möchte ich die News ausgeben. Derzeitig ist $res ein eindimensionales Array, ich möchte aber bei meinem letzten Query ein zweispaltiges Array haben, sodass ich die News mit einer foreach-Schleife ausgeben kann. Im Moment ist es nämlich noch so, dass ich mit einer foreach-Schleife die Ergebnisse ALLER Querys ausgeben würde, und nicht nur die vom letzten.
Zum besseren Verständnis mal das Array, das ich erhalte:
PHP-Code:
Array
(
[0] => Array
(
[COUNT(id)] => 10
)
[1] => Array
(
[COUNT(id)] => 3
)
[2] => Array
(
[COUNT(id)] => 6
)
[3] => Array
(
[COUNT(title)] => 4
)
[4] => Array
(
[id] => 10
[author] => bla bla
[title] => bla
[subtitle] => bla
[textTeaser] => bla
[textFull] => bla
[date1] => 2014-09-18
[date2] =>
[time] => 13:27:08
[link] =>
[imageText] =>
[image] =>
)
[5] => Array
(
[id] => 7
[author] => bla
[title] => bla
[subtitle] =>
[textTeaser] => bla
[textFull] =>
[date1] => 2014-09-18
[date2] =>
[time] => 13:25:20
[link] =>
[imageText] =>
[image] =>
)
[6] => Array
(
[id] => 8
[author] => bla
[title] => bla
[subtitle] =>
[textTeaser] => bla
[textFull] =>
[date1] => 2014-09-18
[date2] =>
[time] => 13:25:20
[link] =>
[imageText] =>
[image] =>
)
)
Ich hoffe ihr versteht das Problem und könnt mir helfen.
Danke im Voraus!
Kommentar