Ankündigung

Einklappen
Keine Ankündigung bisher.

Sortierte ausgabe?

Einklappen

Neue Werbung 2019

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

  • Sortierte ausgabe?

    hallo,
    wie kann mann daten, die in in der datenbank vorhanden sind
    alphabetisch ausgeben?

    Mein jetziges script liest den datensatz aus und stellt ihn auch dar- nur querbeet, also nicht alphabetisch sortiert. Und das möchte ich gern ändern

    Muss ich dafür meine DB neu anlegen bzw. umstruckturieren oder geht das auch anders? Wenn ja, welche Funktionen brauche ich, um mein Vorhaben umzusetzen?


    thx


  • #2
    ORDER BY feldname ASC

    Kommentar


    • #3
      ?? das sagt mir gar nöchts
      wo pack ich das ein? Beim Auslesen?

      Kommentar


      • #4
        ORDER BY ist eine SQL-Klausel, die nach der WHERE-Klausel in den Query kommt. Beispiel:

        SELECT a, b, c FROM d WHERE e ORDER BY a ASC

        Steht alles in der SQL-Doku, such nach "select".

        Kommentar


        • #5
          hi,
          ich hab die doku durch.
          Da sind zwar beispiele drin, ich versteh nur nicht, wie ich den dazu bring alphabetisch zu starten.

          Ich verstehe nicht
          SELECT a, b, c FROM d WHERE e ORDER BY a ASC
          Warum a, b, c.
          warum from d where e
          und warum by a ASC?

          Eine sortierung habe ich jetzt eingebaut.
          Nur wie gesagt alphabetisch weiss ich net .
          Bei mir sieht es so aus:
          Code:
          include($other."/mysql.php");
          
          if(!isset($seite)) 			$seite=0;
          if(!isset($orderclause1))	$orderclause1="ORDER BY email";
          if(!isset($orderclause2))	$orderclause2=" ASC";
          if(!isset($whereclause))	$whereclause="";
          
          $start=(int)$seite*20;
          
          $query=stripslashes("SELECT cat as cat,email as email,acc as acc,name as name FROM ".$cfg[dbpre]."user $whereclause $orderclause1$orderclause2 LIMIT $start, 20");
          $dbres=@mysql_query($query) or error(mysql_error());
          
          $dbres2=@mysql_query("SELECT * FROM ".$cfg[dbpre]."cat") or error(mysql_error());
          $dbres3=@mysql_query(stripslashes("SELECT count(id) FROM ".$cfg[dbpre]."user $whereclause $orderclause1$orderclause2"));
          $dbres3=mysql_fetch_array($dbres3);
          $anzahl=$dbres3[0];
          $categories=Array();
          @mysql_close($conn);
          while($row=mysql_fetch_array($dbres2,MYSQL_ASSOC)) {
          	$categories["id".$row[id]]=$row;
          }
          @mysql_free_result($dbres2)

          Kommentar


          • #6
            upps , langsam komme ich dahinter.
            ich raffs. Danke

            Kommentar


            • #7
              Zitat von peri
              hi,
              hi,

              Zitat von peri
              Ich verstehe nicht
              SELECT a, b, c FROM d WHERE e ORDER BY a ASC
              [...er versteht nicht...]
              Das ist ein Beispiel-Query, damit du ORDER BY einordnen kannst. Ich gehe davon aus, dass du weißt, wo du diesen Query einsetzen kannst. Schließlich geht's dir um SQL, nicht um PHP.

              Zitat von peri
              Eine sortierung habe ich jetzt eingebaut.
              Nur wie gesagt alphabetisch weiss ich net .[= er hat ne Sortierung, die nicht funktioniert ...]
              Gib mit echo() einfach mal den zusammengebastelten Query aus und poste ihn hier. Dann kann man dir den Fehler zeigen.

              Nach welchem Tabellen-Feld willst du denn sortieren?

              Kommentar


              • #8
                ?

                Wieso soll das nicht funktionieren?
                Versteh mich bitte net falsch, ich mach das erst seit knapp ner woche.
                Ich muss nen code bearbeiten den ein anderer erstellt hat und einiges kommt mir dabei spanisch vor.

                Gib mit echo() einfach mal den zusammengebastelten Query aus und poste ihn hier. Dann kann man dir den Fehler zeigen.
                Wie kann mann ein echo auf ein query legen?

                ich möchte lediglich das wenn ein name vorhanden ist, dieser alphabetisch gelistet wird. Wenn kein name vorhanden ist soll er die email alphabetisch listen. bei der Ausgabe meiner mail hab ich knallkopp klammern.
                Und die müssen wech- sonst läuft es net. habe ich allerdings auch erst jetzt bemerkt. Folglich müssen die felder name und email sortiert aus meiner $cfg[dbpre]ausgelesen werden.

                Kommentar


                • #9
                  Re: ?

                  Zitat von peri
                  Wieso soll das nicht funktionieren?
                  Das war mehr ironisch gemeint

                  Zitat von peri
                  Versteh mich bitte net falsch, ich mach das erst seit knapp ner woche.
                  Ich muss nen code bearbeiten den ein anderer erstellt hat und einiges kommt mir dabei spanisch vor.
                  Ich verstehe dich richtig, ich hab auch klein angefangen

                  Zitat von peri
                  Gib mit echo() einfach mal den zusammengebastelten Query aus und poste ihn hier. Dann kann man dir den Fehler zeigen.
                  Wie kann mann ein echo auf ein query legen?
                  echo $query;

                  Zitat von peri
                  ich möchte lediglich das wenn ein name vorhanden ist, dieser alphabetisch gelistet wird. Wenn kein name vorhanden ist soll er die email alphabetisch listen.
                  Du willst das Feld "Name" mit dem Feld "E-Mail" gleichsetzen? Keine Ahnung, ob und wie das funktioniert.

                  Kommentar


                  • #10
                    Hallo,
                    danke für die schnelle antwort.

                    Ich hab das mal gemacht
                    raus kommt:
                    Code:
                    SELECT cat as cat,email as email,acc as acc,name as name FROM newsl_user ORDER BY email ASC LIMIT 0, 20

                    Kannst du damit was anfangen?
                    ich nicht

                    Kommentar


                    • #11
                      Zitat von peri
                      Code:
                      SELECT cat as cat,email as email,acc as acc,name as name FROM newsl_user ORDER BY email ASC LIMIT 0, 20
                      Kannst du damit was anfangen?
                      Freili Aber zuerst bauen wir den Query sinnig:
                      Code:
                      SELECT cat, email, acc, name FROM newsl_user ORDER BY email ASC LIMIT 0, 20
                      Code:
                      GIB MIR DIE FELDER cat, email, acc und name AUS DER TABELLE newsl_user  SORTIERT (alphabetisch) NACH email AUFSTEIGEND (von A nach Z), BEGINNE DABEI BEIM EINTRAG 0 (erster Eintrag) UND LIEFERE MAXIMAL 20 EINTRÄGE

                      Kommentar


                      • #12
                        Zitat von Saraneus
                        Code:
                        GIB MIR DIE FELDER cat, email, acc und name AUS DER TABELLE newsl_user  SORTIERT (alphabetisch) NACH email AUFSTEIGEND (von A nach Z), BEGINNE DABEI BEIM EINTRAG 0 (erster Eintrag) UND LIEFERE MAXIMAL 20 EINTRÄGE
                        Klasse Sache
                        Ich bau dir gleich noch n Parser dafür *ggg*

                        Kommentar


                        • #13
                          Zitat von Thice
                          Zitat von Saraneus
                          Code:
                          GIB MIR DIE FELDER cat, email, acc und name AUS DER TABELLE newsl_user  SORTIERT (alphabetisch) NACH email AUFSTEIGEND (von A nach Z), BEGINNE DABEI BEIM EINTRAG 0 (erster Eintrag) UND LIEFERE MAXIMAL 20 EINTRÄGE
                          Klasse Sache
                          Ich bau dir gleich noch n Parser dafür *ggg*
                          Für mind. die Hälfte der Forumbenutzer müsstest du aber eine Rechtschreibkorrektur einbauen ^^

                          Kommentar


                          • #14
                            Klasse ich habs. Vielen Dank

                            Möcht aber aus Neugier noch was wissen:
                            Warum hatte mein vorgänger

                            Code:
                            SELECT cat as cat,email as email,acc as acc,name as name
                            verwendet. Hat das ne besondere bedeutung?

                            Kommentar


                            • #15
                              Künstliche Arbeitszeitverlängerung für mehr Gehalt? Einen Alias für einen Feldnamen zu setzen macht nur Sinn, wenn dieser anders lautet

                              Kommentar

                              Lädt...
                              X