PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   array_count_values nur einen bestimmten wert zählen (http://www.selfphp.de/forum/showthread.php?t=20388)

neuling321 16.10.2008 20:33:23

array_count_values nur einen bestimmten wert zählen
 
hallo leider finde ich in den manuals nichts genaues über mein prob oder ich komm nicht auf den richtigen befehl


und zwar hab ich eine datenbankabfrage und erhalte als ergebnis lauter zahlenzwischen 1 und 500 die zahlen sind auch mehrmals enthalten.

ich wollte jetzt fragen, ob man jetzt einen bestimmten wert zb de '5' mit array_count_values
zählen lassen kann und als ergebnis nur die anzahl der '5' bekommt?

wie schaut das den dann aus?

vt1816 16.10.2008 23:27:54

AW: array_count_values nur einen bestimmten wert zählen
 
Beispiel:
PHP-Code:

<?php
$array 
= array(1"hello"1"world""hello");
print_r(array_count_values($array));
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
[1] => 2
[hello] => 2
[world] => 1
)

Du erhälst immer alle Einträge, nicht nur Deine "5". Das sollte aber kein Problem mehr darstellen - oder?

xabbuh 17.10.2008 10:08:21

AW: array_count_values nur einen bestimmten wert zählen
 
Je nachdem wie deine Datenbankabfrage aussieht, könntest du evtl. auch der Datenbank das Zählen überlassen.

neuling321 17.10.2008 10:30:42

AW: array_count_values nur einen bestimmten wert zählen
 
Im moment lasse ich so die Anzahl ermitteln und das sind für meinen geschmack zu viele abfragen.
Im moment hab ich alleine 144 datenbankabfragen nur für die index seite, das sind zu viele viel zu viele.

bin über jeden Tip dankbar

PHP-Code:

$qrypok1 "SELECT id FROM ".$prefix."_buchungen WHERE `user_id`="$userDaten['uid'] ." AND `betreff`='erster'";
$resultpok1 sql_query($qrypok1);
$pok1 mysql_num_rows($resultpok1);

$qrypok2 "SELECT id FROM ".$prefix."_buchungen WHERE `user_id`="$userDaten['uid'] ." AND `betreff`='zweiter'";
$resultpok2 sql_query($qrypok2);
$pok2 mysql_num_rows($resultpok2);

$qrypok3 "SELECT id FROM ".$prefix."_buchungen WHERE `user_id`="$userDaten['uid'] ." AND `betreff`='dritter'";
$resultpok3 sql_query($qrypok3);
$pok3 mysql_num_rows($resultpok3);

$qrypok4 "SELECT id FROM ".$prefix."_buchungen WHERE `user_id`="$userDaten['uid'] ." AND `betreff`='vierter'";
$resultpok4 sql_query($qrypok4);
$pok4 mysql_num_rows($resultpok4);

$qrypok5 "SELECT id FROM ".$prefix."_buchungen WHERE `user_id`="$userDaten['uid'] ." AND `betreff`='fuenfter'";
$resultpok5 sql_query($qrypok5);
$pok5 mysql_num_rows($resultpok5); 


vt1816 17.10.2008 10:33:07

AW: array_count_values nur einen bestimmten wert zählen
 
Zitat:

Zitat von neuling321 (Beitrag 121535)
...
bin über jeden Tip dankbar
...

Hast Du die Hinweise von oben schon mal umgesetzt?

neuling321 17.10.2008 11:14:15

AW: array_count_values nur einen bestimmten wert zählen
 
Ja bin gerade dabei

das mit den Tip hab ich auf xabbuh beitrag bezogen.
Zitat: könntest du evtl. auch der Datenbank das Zählen überlassen.

Sorry dachte er kennt noch eine andere möglichkeit

DokuLeseHemmung 17.10.2008 11:20:16

AW: array_count_values nur einen bestimmten wert zählen
 
Code:

SELECT betreff, COUNT(*) AS anzahl
  FROM {$prefix}_buchungen
  WHERE `user_id`= {$userDaten['uid']}
  GROUP BY betreff
  ORDER BY anzahl DESC, betreff ASC

*ungetestet*


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:01:35 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.