Array sortieren...

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

  • Array sortieren...

    Hallo!

    Ich glaub ich steh heute aufm Schlauch...ich hab folgendes Szenario...

    Ich habe eine Schleife...Bei jedem Schleifendurchlauf wird ein count(*)-SQL-Statement auf eine Datenbank ausgeführt

    Was ich jetzt brauche ist, das in ein Array der gefundene count(*)-Wert UND der name der geschäftsstelle gespeichert wird.

    Nach der Schleife soll dann das Array anhand den count(*)-Werten sortiert und dann ausgegeben werden...Das heißt ich hätte vor dem Sortieren z.b.:

    Ort1=34
    Ort2=47
    Ort3=12

    Und nach dem Sortieren dann:

    Ort3=12
    Ort1=34
    Ort2=47


    Aber ich habe gerade keine Ahnung wie ich die daten in das array zu speichern habe und wie ich es dann sortiere!

    Kann mir da mal jemand helfen?

    mfg
    infernalshade

  • #2
    z.B
    PHP-Code:
    $orte['ort1'] = 34;
    $orte['ort2'] = 12;
    $orte['ort3'] = 7
    und dann noch eine Array Sortierfkt, die die Zuordnung von Key und Values beibehält und nicht neue Keys setzt. Zu finden im Manual
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      asort sollte das afaik können!

      Kommentar


      • #4
        Hm ne das hilft mir nicht weiter...ich hol mal weiter aus...Folgendes frag ich ab:

        PHP-Code:
        $sql3="SELECT count(*) FROM arbeitsunfall WHERE PERSNR LIKE '".$g."%';";
                        
        $sqlerg3=mysql_query($sql3);
                        list(
        $anzahl)=mysql_fetch_row($sqlerg3);
                        
                        if(
        $g==11$gsname="Ort1";
                        if(
        $g==12$gsname="Ort2";
                        if(
        $g==13$gsname="Ort3";
                        if(
        $g==14$gsname="Ort4";
                        if(
        $g==15$gsname="Ort5";
                        if(
        $g==16$gsname="Ort6";
                        if(
        $g==17$gsname="Ort7";
                        if(
        $g==18$gsname="Ort8";
                        if(
        $g==19$gsname="Ort9";
                        if(
        $g==60$gsname="Ort10"
        $g ist die jeweilige gs-nummer (das ist auch die schleifenvariable)

        deswegen kann ich nicht

        PHP-Code:
        $array[$gsname]=$anzahl
        machen oder?!? weil da ist ja dann der gsname nicht mitgespeichert oder?

        mfg

        Kommentar


        • #5
          weil da ist ja dann der gsname nicht mitgespeichert oder?
          Bist du sicher? Der Key wäre ja dann das Gesuchte, oder?
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Ich sagte ja ich steh aufm Schlauch, is eh ganz einfach

            Habs jetzt so:

            PHP-Code:
            asort ($array);
                        
                        foreach (
            $array as $key => $val) {
                            echo 
            $key." (".$val.")<br />";
                        } 
            dann funzt's einwandfrei!

            dankeschön leute!!

            mfg

            Kommentar


            • #7
              Original geschrieben von infernalshade
              Ich sagte ja ich steh aufm Schlauch
              Hängt doch mal eure Schläuche an die Decke, dann steht ihr nicht dauernd drauf.

              Aber wieder im Ernst, warum lässt du nicht schon die DB deine Daten gruppieren und sortieren?:
              PHP-Code:
              $sql "
                  SELECT
                      persnr,
                      count(*) AS count
                  FROM 
                      arbeitsunfall 
                  GROUP BY
                      persnr
                  ORDER BY
                      count"
              ;
              $res mysql_query($sql) || exit(mysql_error());
              while (
              $zeile mysql_fetch_row($res)){
                  echo 
              "$zeile[0] war $zeile[1] mal krank<br />"// Or what you want to do

              Gruss
              H2O

              Kommentar


              • #8
                das wär meine 2. lösung gewesen aber ich wollte mich nur mal wieder in arrays einlesen...und das haute auf anhieb nicht so hin!

                mfg

                Kommentar


                • #9
                  OffTopic:
                  PHP-Code:
                  if($g==11$gsname="Ort1";
                  if(
                  $g==12$gsname="Ort2";
                  if(
                  $g==13$gsname="Ort3";
                  ... 
                  Folgendes ist wesentlich einfacher:
                  PHP-Code:
                  $blubb = array ( 11 => 'Ort1'12 => 'Ort 2', ... );
                  echo 
                  $blubb $g ]; 

                  Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                  Kommentar


                  • #10
                    Original geschrieben von infernalshade
                    das wär meine 2. lösung gewesen aber ich wollte mich nur mal wieder in arrays einlesen...und das haute auf anhieb nicht so hin!

                    mfg
                    Morgen,

                    wenn Du dich mal einlesen möchtest so schaue Dir mal den Artikel: http://www.php-space.info/php/space/...-sortieren.php an den ich vor ein paar Monaten geschrieben habe.

                    mfg. Nico
                    Webspace , Php

                    Kommentar


                    • #11
                      Original geschrieben von Nico_Schubert
                      schaue Dir mal den Artikel: http://www.php-space.info/php/space/...-sortieren.php an den ich vor ein paar Monaten geschrieben habe.
                      Und du solltest dich einmal über den Begriff rekursiv informieren
                      Gruss
                      H2O

                      Kommentar


                      • #12
                        Streitet euch doch nicht

                        Aber danke für die Tips!

                        mfg

                        Kommentar

                        Lädt...
                        X