Integration eines PHP Codes in $row

GoldenEye

Erfahrenes Mitglied
Ich habe folgendes Script:

PHP:
error_reporting(E_ALL);

include 'own/config.php';

$sql3="SELECT SUM(cash_amt) FROM phpbb_cash_amt WHERE cash_id=1";
$db->setQuery($sql3);
$rows3 = $db->loadObjectList();
foreach ($rows3 as $row3)
{
$count=1;
$sql="SELECT user_id, cash_amt FROM phpbb_cash_amt WHERE cash_id=1 ORDER BY cash_amt DESC";
$db->setQuery($sql);
$rows = $db->loadObjectList();
foreach ($rows as $row)
{
$sql2="SELECT user_id, username FROM phpbb_users WHERE user_id=$row->user_id";
$db->setQuery($sql2);
$rows2 = $db->loadObjectList();
foreach ($rows2 as $row2)
{
$title = "[Platz $count] $row2->username: <strong>$row->cash_amt</strong> Punkt(e)= "100 / $row3 * $row->cash_amt"<br />";
echo JText::_( $title );
$count++; 
}
}
}

Dort, wo unten $rows3 steht würde ich Gerne die Daten aus der 1. Abfrage ($sql3) haben.

Dieses ganze Knstrukt ("100 / $rows3 * $row->cash_amt") soll übrigens eine Prozentberechnung sein.

Kann mir da jemand weiterhelfen?
 
Hi,

$row3 kommt doch aus der 1. Abfrage... :confused:

Irgendwie sieht das Ganze aber auch aus, als könntest Du das über einen JOIN machen, statt Queries innerhalb von Schleifen abzusetzen...

LG
 
Hi,

ach so, das wird natürlich ein Objekt sein. Wenn Du in der ersten Abfrage einen Spaltennamen vergibst: SELECT SUM(cash_amt) AS Summe ...
dann solltest Du das über $row3->Summe ansprechen können. Sonst einfach mal ein var_dump($row3) machen.

LG
 
Hi,

ach so, das wird natürlich ein Objekt sein. Wenn Du in der ersten Abfrage einen Spaltennamen vergibst: SELECT SUM(cash_amt) AS Summe ...
dann solltest Du das über $row3->Summe ansprechen können. Sonst einfach mal ein var_dump($row3) machen.

LG

komisch, also das mit dem AS Summe funktioniert auch nicht:

PHP:
$sql3="SELECT SUM(cash_amt) AS Summe FROM phpbb_cash_amt WHERE cash_id=1";
$db->setQuery($sql3);
$rows3 = $db->loadObjectList();
echo "$rows3->Summe";

Die zweite Möglichkeit, die du angesprochen hast verstehe ich nicht ganz.
 
kuddeldaddeldu meinte:

PHP:
$sql3="SELECT SUM(cash_amt) AS Summe FROM phpbb_cash_amt WHERE cash_id=1";
$db->setQuery($sql3);
$rows3 = $db->loadObjectList();
var_dump($rows3);

Damit du mal siehst, was drin ist.
 
Hi,

du musst genau lesen. $rows3 ist ein Array. Sonst könntest Du das nicht mit foreach durchlaufen. Du musst die Summe innerhalb der foreach-Schleife, also an der gewünschten Stelle mit $row3->Summe (statt $row3) ausgeben.

Die zweite Möglichkeit, die du angesprochen hast verstehe ich nicht ganz.

Das soll eine Testausgabe sein. Damit kannst Du sehen, wie $row3 überhaupt aufgebaut ist.

LG
 
Ihr seid die Besten! Vielen Dank!

EDIT: Hat sich erledigt. Mit ein wenig ausprobieren hab ichs selbst hinbekommen!
 
Zuletzt bearbeitet:
Zurück