Aus einer Quote eine Rangliste erzeugen.

  • Aus einer Quote eine Rangliste erzeugen.

    Hallo,

    ich hab da folgendes Problem. Kurze Vorgeschichte. In einer SQL Tabelle stehen Mitarbeiternummer und Erledigte Aufträge, jetzt soll ich aus den erledigten Aufträgen eine bestimmte Quote errechnen. Das ist ja nicht weiter das Problem.
    Aber aus der Quote soll ich noch eine Rangliste erzeugen. Bisher habe ich die Mitarbeiternummen (ca. 15 Stk) in einem indizierten Array verteilt und die Quoten ebenfalls in einem anderen Array. Jetzt sortiere ich das Quotenarray und verlauf mich in der Sackgasse. Denn nun passen ja die Mitarbeiterarrays nicht mehr zu den Quotenarrays und eine Rangliste hab ich auch noch nicht.

    Hat jemand einen Tipp für mich, wie ich mich da wieder rausschaufeln kann? Sprich gibt es evtl. eine fertige Funktion für sowas? Kann man evtl. sowas mit Mehrdimensionalen Arrays gestalten? Dazu muss ich aber zugeben, dass ich damit noch keine Erfahrung habe und dann etwas ausführlichere Beispiele benötige.

    Ich hoffe ihr versteht, was ich will, auch ohne Quelltext.

    Vielen Dank.
    Gruß Hennak
  • hi,

    wieviele Daten willst du denn speichern?
    Wenn du nur 2 Daten brauchst reicht ein eindimensionales Array.

    Das könntest du dann entweder von Anfang an mit $array[$data1] = $data2; befüllen, oder am Ende zusammenführen. Wie das geht siehst du in folgendem Code:

    Quellcode

    1. <?php
    2. $mitarbeiter = array(
    3. 1 => 'Anton',
    4. 2 => 'Berta',
    5. 3 => 'Cäsar',
    6. 4 => 'Dora'
    7. );
    8. $quote = array(
    9. 1 => 10,
    10. 2 => 90,
    11. 3 => 35,
    12. 4 => 40
    13. );
    14. $combine = array_combine(array_values($mitarbeiter),array_values($quote));
    15. /* print_r($combine);
    16. Array
    17. (
    18. [Anton] => 10
    19. [Berta] => 90
    20. [Cäsar] => 35
    21. [Dora] => 40
    22. )*/
    23. arsort($combine);
    24. //Ausgabe
    25. foreach($combine as $person => $quote) {
    26. echo ++$i . ") $person hat die Quote: $quote<br />";
    27. }
    28. ?>
    Alles anzeigen


    Ausgabe:
    1) Berta hat die Quote: 90
    2) Dora hat die Quote: 40
    3) Cäsar hat die Quote: 35
    4) Anton hat die Quote: 10
  • "Yaroc" schrieb:

    Ich habe den Quelltext mal kopiert und dann kam bei mir Folgender Fehler

    Fatal error: Call to undefined function: array_combine() in /usr/export/www/vhosts/funnetwork/hosting/troubled/test/test.php on line 16


    Grund dafür ist sicherlich, dass du beim Testen eine jüngere Version von PHP verwendet hast. Benötigt wird Version 5.