Eddie: knifflige Array-Funktion II

Das ganze Problem aus meinem vorangegangenen Thread nochmal aus einem anderen Blickwinkel:

Ich habe eine Datenbank-Tabelle

kuerzel |   name   | synonym
------------------------------
   cg    |  Congo   |  Zaire
   mm    | Myanmar  |  Burma

und als Endprodukt brauche ich ein nach Laendernamen sortiertes Array (PHP):

$eintrag[0][0] = 'mm';
$eintrag[0][1] = 'Burma';    // B
$eintrag[1][0] = 'cg';
$eintrag[1][1] = 'Congo';    // C
$eintrag[2][0] = 'mm';
$eintrag[2][1] = 'Myanmar';  // M
$eintrag[3][0] = 'cg';
$eintrag[3][1] = 'Zaire';    // Z

Wisst Ihr, ob man da mit MySQL was machen kann?

  1. Das ganze Problem aus meinem vorangegangenen Thread nochmal aus einem anderen Blickwinkel:

    Ich habe eine Datenbank-Tabelle

    kuerzel |   name   | synonym

    cg    |  Congo   |  Zaire
       mm    | Myanmar  |  Burma

    und als Endprodukt brauche ich ein nach Laendernamen sortiertes Array (PHP):

    $eintrag[0][0] = 'mm';
    $eintrag[0][1] = 'Burma';    // B
    $eintrag[1][0] = 'cg';
    $eintrag[1][1] = 'Congo';    // C
    $eintrag[2][0] = 'mm';
    $eintrag[2][1] = 'Myanmar';  // M
    $eintrag[3][0] = 'cg';
    $eintrag[3][1] = 'Zaire';    // Z

    Wisst Ihr, ob man da mit MySQL was machen kann?

    ... und mit PHP? Ich benutze mal die PHP-Lib-Syntax:

    SELECT * FROM tabelle ORDER BY kuerzel

    $i=0;
    while ($qry->next_record())
    {
    $dummy[$i][0] = $qry->f("kuerzel");
    $dummy[$i][1] = $qry->f("name");
    $dummy[$i+1][0] = $qry->f("kuerzel");
    $dummy[$i+1][1] = $qry->f("synonym");
    $i += 2;
    }

    Dann mußt das Array nur noch nach dem zweiten Schlüssel sortieren (s. PHP-Manual).

  2. kuerzel |   name   | synonym

    cg    |  Congo   |  Zaire
       mm    | Myanmar  |  Burma

    Da mir der name (formerly known as normalerName?) bei Deiner Anwendung keine höhere/andere Priorität als das synonym zu haben schein, spricht meiner Meinung nach nichts gegen die um Welten einfach zu handhabende Struktur:

    kuerzel |   name
    -------------------
       cg    |  Congo
       mm    | Myanmar
       cg    |  Zaire
       mm    |  Burma

    Was machst Du außerdem, wenn es einmal mehr als ein Synoym gibt?

    1. Da mir der name (formerly known as normalerName?) bei Deiner Anwendung keine höhere/andere Priorität als das synonym zu haben schein, spricht meiner Meinung nach nichts gegen die um Welten einfach zu handhabende Struktur:

      kuerzel |   name

      cg    |  Congo
         mm    | Myanmar
         cg    |  Zaire
         mm    |  Burma

      Geht leider nicht, weil ich zwei verschiedene Typen von Listen brauche, einmal mit Synonym und einmal ohne. Alternativ koennte ich natuerlich noch eine Spalte 'isSynonym' einfuehren. Mmmh, vielleicht garkeine so schlechte Idee...

      Was machst Du außerdem, wenn es einmal mehr als ein Synoym gibt?

      Gibt's nicht! Oder kann mir jemand plausibel ein Land nennen, das (halbwegs offiziell) unter mehr als 2 Namen gehandelt wird?

      Im Augenblick schlage ich mich nur noch mit der Sortierung rum, 'Ägypten' sollte eigentlich am Anfang kommen und nicht am Ende... Nerv!