[PHP5] Array Elemente zählen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [PHP5] Array Elemente zählen

    Guten Tag,

    ich habe ein Array, dessen Elemente gezählt werden müssen.
    Leider funktioniert keine meiner Versuche.

    PHP-Code:
    $suchqueryy "SELECT bit_artikel.Art_Nummer_Prefix as pfix, bit_farben.Far_CodeNummer as code, bit_artikel.Art_Nummer as art, bit_kom_art_zu_gruppe.Kom_zu_Kat_ID as kat, bit_kom_art_zu_gruppe.Kom_zu_Hgp_ID as hgp, bit_kom_art_zu_gruppe.Kom_zu_Grp_ID as grp
                    FROM (bit_kom_art_zu_farbe RIGHT JOIN (bit_kom_art_zu_gruppe LEFT JOIN bit_artikel ON bit_kom_art_zu_gruppe.Kom_zu_Art_ID = bit_artikel.Art_ID) ON bit_kom_art_zu_farbe.Kom_zu_Art_ID = bit_artikel.Art_ID) LEFT JOIN bit_farben ON bit_kom_art_zu_farbe.Kom_zu_Far_ID = bit_farben.Far_Id
                    WHERE ((CONCAT(bit_artikel.Art_Nummer_Prefix, bit_farben.Far_CodeNummer, bit_artikel.Art_Nummer) Like '
    $such')) AND bit_artikel.art_Freigabe = 1 GROUP BY (CONCAT(bit_artikel.Art_Nummer_Prefix, bit_farben.Far_CodeNummer, bit_artikel.Art_Nummer))";

    $sucharrayy mysql_fetch_array($suchresultt); 
    So, das Array ansich ist perfekt, Abfrage stimmt.
    Hier das, war ich versuch habe:
    PHP-Code:
        // $count = array_count_values($sucharrayy);
        
    $count count($sucharrayy);
        echo 
    $count
    Die auskommentierte Version liefert anstelle einer Zahl "Array" als Text zurück. Die andere den Wert "12", dabei müssten es über 1000 Ergebnisse sein.

    Kann mir jemand helfen?



    Danke

  • #2
    mysql_fetch_array liefert nur einen Datensatz zurück.
    mysql_num_rows liefert die Anzahl der Datensätze.

    Wieso liest du 1000 Datensätze aus der Datenbank aus?
    Wenn du nur zählen willst, kannst du auch ein
    SELECT COUNT(*) AS anz FROM tabelle WHERE bla = "blub";
    machen und dann ein $row=mysql_fetch_array($result); und echo $row['anz'];

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Ein mysql_query() mal so zwischendurch kann übrigens auch Wunder wirken.

      Kommentar


      • #4
        Der SQl-Query wird natürlich auch gemacht,, habe nur vergessen ihn reinzukopieren:

        PHP-Code:
                $suchresultt mysql_query($suchqueryy);
                
                If (!
        $suchresultt) {
                    die(
        "Die Abfrage konnte nicht ausgeführt werden.");
                } 
        Vielen Dank für die Antworten.
        Die 1000 Datensätze sind nur ein Beispiel. Das ist eine Suchfunktion und falls man nach der Artikelnummer "6" sucht, wird man entsprechend viele Datensätze finden. Enstprechend findet man bei Eingabe der kompletten Artikelnummer nur einen Datensatz.

        Den Counter im SQL-Query habe ich in so ziemlich jeder Variation ausprobiert. Er funktionierte auch in der vorherigen Version der Abfrage, allerdings musste ich diese ändern und daher auch den Cpunter neu schreiben...

        Ich werde das mal mit den Num_rows ausprobieren. Danke nochmal

        EDIT:

        Es funktioniert. DANKE
        Zuletzt geändert von ManuelSchweer; 29.10.2007, 10:18.

        Kommentar

        Lädt...
        X