Ankündigung

Einklappen
Keine Ankündigung bisher.

Order by in while schleife

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

  • Order by in while schleife

    Ich habe zwei Tabellen eine Zuordnungs Tabelle und eine Tabelle mit Einträgen ( schulen ) aus der Zuordnungstabelle ( zuordnung ) werde bestimmte Nummer ID gefiltert und dann sollen die entsprechenden IDs aus der Eintragstabelle dargestellt und sortiert werden nun funz die Sortierung order by DESC nicht.

    Hier mal der Code:
    PHP-Code:
    $ukat_id $_GET['ukat_id'] ;

    $sqlbz "SELECT * FROM `zuordnung` WHERE uk_id = '$ukat_id'" ;
    $resultbz mysql_query $sqlbz );
    while (
    $rowbz mysql_fetch_row $resultbz )){ ;



    $sqlb "SELECT * FROM `schulen` WHERE id = '$rowbz[2]' order by position DESC" ;
    $resultb mysql_query $sqlb );
    $rowb mysql_fetch_row $resultb ) ;

    echo 
    $rowb[0] ;



    Vielen Dank für Eure Hilfe


  • #2
    Was heißt "funzt nicht"?

    DIe mysql_* Funktionen sind übrigens veraltet und sollten nicht mehr verwendet werden.

    SELECT * sollte ebenfalls nicht verwendet werden.

    Datenbankabfragen in Schleifen sind böse. Mach sowas nicht, sondern beschäftige dich mit Joins.

    Kommentar


    • #3
      Quelltext bitte hier in den entsprechenden Code-Tags posten. Ich ergänze das oben mal.

      beschäftige dich mit Joins.
      MOD: Verschoben von PHP-Fortgeschrittten
      PHP.de Wissenssammlung | Debugging: Finde DEINE Fehler selbst! | mysql_* ist veraltet! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__ | Kein Support per PN

      Kommentar


      • #4
        Danke für Deine Antwort ..... ich mache das nur ganz neben bei nur alle halbe Jahre mal .... und das mit den Joins ist mir bekannt nur verstehe ich das leider nicht .... ....aber dennoch danke

        Kommentar


        • #5
          Nachtrag ....Zitat .... was funst nicht....

          wenn aus der zuornungstabelle drei Werte gezogen werden werden auch drei werteWerte aus der Tabelle schule angezeigt ..... nur die sortierung hat überhaupt keine wirkung...

          Kommentar


          • #6
            Lass erstmal PHP komplett weg. Poste Tabellenstruktur und Testdaten als SQL-Code, dazu deine SQL-Abfrage mit dem tatsächlichen Ergebnis und dem erwarteten Ergebnis.

            Kommentar


            • #7
              ist `position` eventuel varchar? Wäre so ein Klassiker ^^

              Kommentar


              • #8
                Wäre völlig egal, auch varchar kann man sortieren... Es wäre allerdings interessant, was überhaupt in "position" drinsteht?

                Andererseits, wenn man den Code betrachtet... es wird genau EIN Datensatz aus dem Ergebnis abgerufen. Sortierung macht halt erst ab 2 Datensätzen Sinn
                Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                Kommentar


                • #9
                  Hay lstegelitz und Kado nun wenn die $ukat_id 17 (Berlin) ist dann würde z.b. in der Tabelle zuornung nach der 17 gesucht und alles das angezeigt wo in den Einträgen eine 17 (Berlin) angezeigt also alle Berliner Schulen ....... Ja und die Spalte ist varchar habe es aber auch schon mit INT probiert ........ Danke an Euch

                  Kommentar


                  • #10
                    Beitrag #6 schon befolgt?
                    Bitte nicht alles ignorieren, sonst muss man immer mehrfach nachfragen.

                    Kommentar


                    • #11
                      Bitte nicht das gleiche Thema in weiteren Foren schreiben. Die Experten sind überall gleich.
                      Wenn du etwas nicht verstehst frage nach.

                      Kommentar


                      • #12
                        Zitat von lstegelitz Beitrag anzeigen
                        Wäre völlig egal, auch varchar kann man sortieren...
                        Klar kann man varchar sortieren, wenn jedoch das Problem wäre, dass Position 17 vor Position 2 angezeigt wird, dann liegt das daran, dass es varchar ist. Da wäre die Reihenfolge dann: 1, 11, 111, 2, ... und dann ist es nicht völlig egal, obs varchar ist.

                        Kommentar


                        • #13
                          Du hast vollkommen Recht Kado
                          Leider ist (mir) immer noch nicht klar, was "funzt net" bedeutet..

                          Zitat von Johnn44 Beitrag anzeigen
                          nun wenn die [/B]$ukat_id 17 (Berlin) ist dann würde z.b. in der Tabelle zuornung nach der 17 gesucht und alles das angezeigt wo in den Einträgen eine 17 (Berlin) angezeigt also alle Berliner Schulen
                          Es wird eben NICHT alles angezeigt, weil du nur einen einzigen Datensatz abrufst.

                          Probier mal folgendes SQL (bitte Felder noch anpassen) :
                          Code:
                          SELECT 
                            S.*   ## bitte Felder einzeln angeben!
                          FROM `schulen` as S
                          INNER JOIN `zuordnung` as Z ON S.cat_id = Z.uk_id ## ACHTUNG: Felder müssen entsprechend angepasst werden, ich kenne die Feldnamen nicht
                          WHERE
                            Z.uk_id = 17 ## Hier den Parameter der äußeren Schleife eintragen
                          ORDER BY
                            S.position DESC
                          Mit dem JOIN kannst du alle Informationen mit einem einzigen Query abrufen.
                          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                          Kommentar

                          Lädt...
                          X