Variablenzahl neben Kategorie

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

  • Variablenzahl neben Kategorie

    Hallo zusammen,

    ich versuche ein Kursverzeichnis Script zu codieren.

    Erst mal gibt es die Bundesländer, darunter Städte und darunter die Kurse,
    für jede gibt es verschiedene dbs (bundesland - orte - kurse)

    möchte jetzt die Städte auflisten aber neben der Stadtnamen die Zahl der Kurse unter dieser Stadt zeigen lassen.

    z.B.


    Aachen [34]
    Wiesbaden [44]
    Dortmund [123]
    .
    .
    .


    und ich hab's so gemacht

    PHP-Code:
    <?
    $bundes=mysql_db_query($db_adi, "SELECT * FROM orte where bid='$id' order by id ASC") or die ("Fehler");
    $busay=mysql_num_rows($bundes);
    while($bund=mysql_fetch_array($bundes)) {
    $kurse=mysql_db_query($db_adi, "SELECT * FROM kurse where ort='$bund[id]' and bestaetigung='E'") or die ("Fehler");
    $kurs=mysql_num_rows($kurse);
    ?>
    ----------
    <?
    }
    ?>

    aber wenn ich die Städte so aufliste, wird so langsam.

    deswegen möchte ich hier erfahren, ob es dafür ein besserer Weg gibt ??

    Danke.
    Worterbuch.NET - Online Wörterbuch

  • #2
    1.) http://de3.php.net/mysql_db_query schau mal was dort da unten steht. Das mit dem 'veraltet'

    2.) Ja gibt es. Du könntest die per JOIN verknüpfen. Schau mal im SQL-Forum hier, da gibts nen Sticky-Thema dazu.

    3.) Bitte merken: SQL-Statements in Schleifen sind BÖSE (und Scheiße). Nur benutzen wenns UMBEDINGT nötig ist und nicht anders geht...!

    4.) Die Linie da könntest du auch mit echo machen. Das rein / rauswechseln aus dem PHP-Modus finde ich persönlich zum

    5.) Versuch am besten immer die Variablen aus den Strings rauszutrennen. Finde ich sauberer...


    Nur Tips
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      Hallo noch mal,

      ich habe die JOIN Methode geguckt, aber konnte leider nicht herausfinden, wie es bei meiner Situation gemacht werden soll,

      habe viele Varianten versucht aber leider.

      kann jemand bitte mir helfen ?

      danke noch mal.
      Worterbuch.NET - Online Wörterbuch

      Kommentar


      • #4
        z.B.

        PHP-Code:
        SELECT *
            
        FROM orte a
               LEFT JOIN kurse b
                  ON b
        .ort a.id AND b.bestaetigung 'E'
            
        WHERE
                  a
        .bid='$id'
            
        ORDER BY id ASC 
        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
        var_dump(), print_r(), debug_backtrace und echo.
        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

        Kommentar


        • #5
          so ist es funktioniert ,


          PHP-Code:
          SELECT a.id as ida.name as namecount(b.name) as zahl
              FROM orte a
                 LEFT JOIN kurse b
                    ON b
          .ort a.id AND b.bestaetigung 'E'
              
          WHERE
                    a
          .bid='$id'
              
          GROUP by a.id ASC 

          die Variablen wurden genannt
          und
          stat ORDER, wurde GROUP genutzt.


          danke sehr für die Hilfe.
          Worterbuch.NET - Online Wörterbuch

          Kommentar

          Lädt...
          X