CGollhardt
Mitglied
Guten Tag,
ich möchte gerne folgenden PHP Code:
auf eine einzige Datenbankabfrage Reduzieren. Ich bin soweit:
Leider ist mein Wissen über Datenbanken sehr beschränkt. Daher auch der "komische" SQL Querry, der nicht funktioniert.
Es geht eigentlich nur um den SQL Befehl im zweiten Abschnitt. Ich hoffe ihr könnt erkennen, wie ich diesen gerne hätte.
Ist es möglich den PHP Code mit beiden Querrys so umzuschreiben, das nur ein mysql_fetch_array() verwendet wird?
Das ganze läuft in einer ziemlich großen Schleife. Wäre diese Möglichkeit auch Performanter, als die bereits verwendete, oder erzeugt dies das Gegenteil?
Hinter $db -> select () hängt ein mysql_fetch_array()
Vielen Dank für eure Mühe.
edit:
Ich verwende mysql_fetch_object und nicht array, aber das kommt im endefekt aufs gleiche hinaus
ich möchte gerne folgenden PHP Code:
PHP:
$count = $db -> count_rows ('SELECT id FROM userprogress
WHERE gamertagid = "' . $clanmitglied -> id . '" AND gameid = "' . $game -> id . '"');
if ($count > 0) {
//Folgendes Noch Umsetzen:
//Select....... IF count rows von oben in einem MySQL Statement
$MitgliedsDaten = $db -> select ('SELECT id, gamertag FROM members WHERE id = "' . $clanmitglied -> userid . '"', true);
if (isset ($BesitzerLink)) {
$BesitzerLink .= ', <a href="&id=' . $MitgliedsDaten -> id . '">' . $MitgliedsDaten -> gamertag . '</a>';
} else {
$BesitzerLink = '<a href="&id=' . $MitgliedsDaten -> id . '">' . $MitgliedsDaten -> gamertag . '</a>';
}
}
PHP:
$MitgliedsDaten = $db -> select ('IF (
COUNT(*) FROM userprogress
WHERE gamertagid = "' . $clanmitglied -> id . '" AND gameid = "' . $game -> id . '"
) > 0 THEN SELECT id, gamertag FROM members WHERE id = "' . $clanmitglied -> userid . '"', true);
if (isset ($MitgliedsDaten -> id)) {
if (isset ($BesitzerLink)) {
$BesitzerLink .= ', <a href="&id=' . $MitgliedsDaten -> id . '">' . $MitgliedsDaten -> gamertag . '</a>';
} else {
$BesitzerLink = '<a href="&id=' . $MitgliedsDaten -> id . '">' . $MitgliedsDaten -> gamertag . '</a>';
}
}
Es geht eigentlich nur um den SQL Befehl im zweiten Abschnitt. Ich hoffe ihr könnt erkennen, wie ich diesen gerne hätte.
Ist es möglich den PHP Code mit beiden Querrys so umzuschreiben, das nur ein mysql_fetch_array() verwendet wird?
Das ganze läuft in einer ziemlich großen Schleife. Wäre diese Möglichkeit auch Performanter, als die bereits verwendete, oder erzeugt dies das Gegenteil?
Hinter $db -> select () hängt ein mysql_fetch_array()
Vielen Dank für eure Mühe.
edit:
Ich verwende mysql_fetch_object und nicht array, aber das kommt im endefekt aufs gleiche hinaus
Zuletzt bearbeitet: