Array zerlegen ?

martin-schulz

Mitglied
Hallo ich habe mal eine Frage die andere bestimmt schneller wie ich gelöst bekommen.

ich habe schon einiges probiert komme aber leider nicht auf die Lösung.

Meine Frage:
Ich habe mir eine Abfrage für meinen Shop geschrieben die mit Verkäufe und Gewinn pro Geschlecht ermittelt.

PHP:
SELECT customers.customers_gender as geschlecht, count(*) as anzahl_bestellungen, format( sum(value),2) as gesamtsumme
	FROM orders, customers, orders_total 
	WHERE orders.customers_id = customers.customers_id and
	orders_total. orders_id = orders.orders_id
	and orders_total.class = "ot_total"
	group by geschlecht



while($row = mysql_fetch_array($usercash2))
{
echo '<b> ' . $row['geschlecht'] . '</br>';
echo '<b> ' . $row['anzahl_bestellungen'] . '</br>';
echo '<b> ' . $row['gesamtsumme'] . '</br>';
;
}

So weit funktioniert auch alles top jedoch möchte ich die Werte nicht in einer schleife ausgeben sondern alle werte einzeln.

ich weiss nicht wie ich die Arrays einzeln ausgeben kann.

mein Ansatz war
PHP:
echo $row[0]['geschlecht'];
echo $row[1]['geschlecht'];

dies geht aber irgend wie nicht irgendwo habe ich einen Denkfehler kann mir jemand helfen ?

PS: evtl liege ich ja komplett falsch.
 
Du musst natürlich noch [phpf]mysql_fetch_array[/phpf] jeweils aufrufen, dies machst du ja bei der Schleifen-Version ja auch.
Und die Variable $row existiert schon gar nicht, denn wo wird sie denn gesetzt?

Probier das:
PHP:
$firstRow = mysql_fetch_array($usercash2);
echo $firstRow['geschlecht']; 

$secRow = mysql_fetch_array($usercash2);
echo $secRow['geschlecht'];

// Du kannst natürlich $secRow und $firstRow gleiche Namen vergeben
// dann überschreibst du sie eben jedes Mal

Übrigens ist die mysql-Erweiterung wirklich veraltet. Sie wird bald ganz entfernt in den Stable-Versionen von PHP.

Nimm besser MySQLi oder PDO, vor allem für eine neue Shopseite ;)
 
PHP:
$return = array();
$count = 1;

while($row = mysql_fetch_array($usercash2)) 
{ 
    $return[$count] = array( $row['geschlecht'], $row['anzahl_bestellungen'], $row['gesamtsumme']);
    $count++; 
}

Das?
 
Danke für die schnellen antworten

leider funktioniert das mit dem code nicht


PHP:
$firstRow = mysql_fetch_array($usercash2);
echo $firstRow['geschlecht']; 

$secRow = mysql_fetch_array($usercash2);
echo $secRow['geschlecht'];

ich benötige die einzelne werte an verschiedenen stellen auf der Seite deswegen keine schleife
 
Was gibt denn folgender Befehl aus:
PHP:
$firstRow = mysql_fetch_array($usercash2);
// folgendes einfügen
var_dump($firstRow);
 
okay hatte ein fehler in meinem Quellcode die lösung mit

PHP:
$firstRow = mysql_fetch_array($usercash2);
echo $firstRow['geschlecht']; 

$secRow = mysql_fetch_array($usercash2);
echo $secRow['geschlecht'];

geht

aber wie kann ich sagen das ich z.b. zuerst den 2 wert haben will also einen gezielten Array wert
 
Zurück