[SQL allgemein] Frequenzen von Radiosendern sortieren

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

  • [SQL allgemein] Frequenzen von Radiosendern sortieren

    Hallo !

    Ich bin noch nicht so geübt mit Datenbanken aber ich versuche es trotzdem. Ich habe eine Programmtabelle mit Radiosendern und möchte diese von der kleinsten Frequenz bis zur größten sortiert haben.
    Das Problem ist, sie sind alle mit einem Komma versehen sprich 88,30 88,85 ...

    Ich habe bis jetzt immer den (order by) Befehl benutzt zum sortieren aber hier funktioniert es nicht, da er das Komma nicht beachtet.
    Er fängt an zu sortieren mit der kleinsten Zahl und die wäre

    101,30
    101,90 ... und dann erst die

    87,60
    88,30 ...

    Was ich ich tun, damit ich eine richtige Reihenfolge bekomme?

    Vielen Dank

  • #2
    welchen feldtyp haste denn verwendet?
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      Re: [SQL allgemein] Frequenzen von Radiosendern sortieren

      Original geschrieben von sieben
      Was ich ich tun, damit ich eine richtige Reihenfolge bekomme?
      ich würde den feldtyp FLOAT verwenden.

      für die ausgabe (das ein komma rein soll) kannst du number_format() verwenden.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        varchar wegen den stellen nach dem komma, bei dezimal bekomme ich keine z.B. 88,30 hin!

        Kommentar


        • #5
          Original geschrieben von sieben
          varchar wegen den stellen nach dem komma, bei dezimal bekomme ich keine z.B. 88,30 hin!
          und varchar sortiert eben alphabetisch. also ist 1 vor 8.

          nimm FLOAT und number_format() wie schon beschrieben.
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            ich würde eher zu DEC(5,2) tendieren...
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              ja. stimmt. die nehme ich nur meist nie....

              ist die 5 für alle stellen oder nur die vorkomma-stellen. bei letzterem würde auch eine 3 reichen....
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                mit DEC 5,2 sieht es besser aus als bei Float! Danke euch !!

                Nur mit dem punkt ins Komma anzeigen will nicht so richtig habe es so geschrieben
                $r_frequenz = number_format($r_frequenz, 2, ".", ",");

                wie gesagt, ich bin anfänger ! Danke für eure schnelle Hilfe !

                Kommentar


                • #9
                  andersrum...

                  so sollte es laufen.

                  $r_frequenz = number_format($r_frequenz, 2, ",", ".");
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    Hilfe - das will nicht ich sende dir mal mein script

                    PHP-Code:
                    // Insgesammte Abfrage Programmtabelle Radio
                    $rs3 MYSQL_QUERY("SELECT
                            section2,
                            r_name,
                            r_frequenz
                            FROM programm 
                            where section2=
                    $section2 order by r_frequenz");
                            
                    if(
                    $action=="programmtabelle"){

                    $row[2] = number_format($row[2], 2","".");
                                        
                    $rs3_update MYSQL_QUERY("update verzeichniss set
                                  c_anzahl=c_anzahl+1
                                  where section2=
                    $section2");{
                            
                          echo 
                    "<br><br><table width='450' valign='top' align='center'><font face='Times New Roman, Times, serif' size='4'>Radio Sender analaog</font></td></table><br>";      

                        while (
                    $row mysql_fetch_row($rs3)) {                 
                            if (
                    $row[2]!="0" && $row[2]!="") echo "
                                     <table width='350' border='2' cellspacing='0' cellpadding='0'>
                                        <tr> 
                                          <td width='250' valign='top' align='center'><font face='Times New Roman, Times, serif' size='3'>
                    $row[1]</font></td>
                                          <td width='100' valign='top' align='center'><font face='Times New Roman, Times, serif' size='3'>
                    $row[2]&nbsp;Mhz</font></td>
                                        </tr>
                                        </table> "

                                             echo 
                    "";}
                            }
                        } 

                    Kommentar


                    • #11
                      was klappt nicht?
                      das hier? $row[2] = number_format($row[2], 2, ",", ".");

                      schreibe es mal hinter das while aber vor das if.
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        Super funktioniert jetzt! DANKE

                        Kommentar


                        • #13
                          Original geschrieben von Abraxax
                          ja. stimmt. die nehme ich nur meist nie....

                          ist die 5 für alle stellen oder nur die vorkomma-stellen. bei letzterem würde auch eine 3 reichen....
                          nee, die 5 hab schon mit bedacht so gewählt.

                          dec(5,2) bedeutet 5 stellen genauigkeit, davon 2 nachkommastellen.

                          ergibt also insgesamt 3 vor und 2 nach dem komma.

                          zitat mysql-doku: Beachten Sie, dass in MySQL-Version 3.22 das M-Argument den Platz für das Vorzeichen und den Dezimalpunkt beinhaltet!

                          d.h. bei älteren versione müsste man wahrscheinlich 7 statt 5 stellen genauigkeit nehmen, da vorzeichen und komma dazugezählt werden(?)
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            Original geschrieben von wahsaga
                            dec(5,2) bedeutet 5 stellen genauigkeit, davon 2 nachkommastellen.
                            das meinte ich, ob die nachkommastellen, incl sind....
                            Original geschrieben von wahsaga
                            d.h. bei älteren versione müsste man wahrscheinlich 7 statt 5 stellen genauigkeit nehmen, da vorzeichen und komma dazugezählt werden(?)
                            ne. wenn dann reicht auch schon 6 aus. du hast ja nur maximal 3 stellen vor dem komma bei FM-radio...
                            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                            Kommentar


                            • #15
                              Original geschrieben von Abraxax
                              ne. wenn dann reicht auch schon 6 aus. du hast ja nur maximal 3 stellen vor dem komma bei FM-radio...
                              nein, 6 reichen nicht aus - zitat manual zum type DEC: "Kann nicht vorzeichenlos sein"

                              also 1 stelle vorzeichen + 3 stellen vorm komma + 1 komma + 2 stellen danach -> ergibt 7 stück.


                              aber wie gesagt, in neueren mysql-versionen sind vorzeichen und komma bei der berechnung der genauigkeit aussen vor, also eh müssig das jetzt noch weiter auszudisktuieren :-)
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X