Avatar billede px6 Nybegynder
22. januar 2005 - 15:20 Der er 5 kommentarer

Hjælp med at sortere output fra en SQL tabel, nybegynder

Jeg er ved at sætte mig ind i php. Jeg har hentet et gratis script og moddet det til , så det passer til mine formål. Det er et script man bruger til at hurtigt oprette eller slette links i en SQL base.

Her er den del af koden der viser links:


    function _display_links() {

        $this->_display_header();
        $html = sprintf("<div align='%s'>\n", $this->Messages['table_align']);
        $html .= sprintf("<a href='%s?act=add'>%s</a>", basename(__FILE__), $this->Messages['add_str']);
        $html .= sprintf("<table border='0' cellspacing='0' cellpadding='0' align='%s'>\n", $this->Messages['table_align']);
        $html .= "<tr>\n";
        $query = sprintf("select id, url, link from %s order by link", $this->Table);
        $result = $this->mysql_ask($query);
        while ( $row =  mysql_fetch_object($result) ) {
            $seen[strtoupper(substr($row->link, 0, 1))][] = $row->id;
            $link[$row->id] = $row->link;
        }
        foreach (array_keys($seen) as $letter) {
            $html .= "<tr>\n";
            $html .= sprintf("    <td align='%s'>\n", $this->Messages['cells_align']);
            $html .= sprintf("        <a name='%s'>&nbsp;</a>\n", $letter);
            $html .= "    </td>\n";
            $html .= "</tr>\n";
            foreach (array_keys($seen[$letter]) as $id) {
                $uri = $this->_add_proto($url[$seen[$letter][$id]]);
                $html .= "<tr>\n";
                $html .= sprintf("    <td align='%s'>\n", $this->Messages['cells_align']);
                $html .= sprintf("<a href='%s?act=del&id=%d' title='click to delete URL'><font>%s</a>\n", basename(__FILE__), $seen[$letter][$id], $this->Messages['del_str']);
                $html .= "&nbsp;";
                $html .= sprintf("<a='%s' target='_parent'>%s</a>", $uri, stripslashes($link[$seen[$letter][$id]]));
                $html .= "    </td>\n";
                $html .= "</tr>\n";
            }
        }
        $html .= "</table>\n";
        print $html;
        $this->_display_footer();
    }


--

Her kommer mit problem -> alle nye links får tildelt et id og en timestamp. Overstående kode sorterer linksene efter bogstav. Jeg vil gerne have at den spytter dem ud i den rækkefølge jeg indsatte dem, enten ved at bruge id eller timestampen.

Koden i dens helhed kan hentes her: http://www.opusserver.dk/kode.rar

tak på forhånd, px
Avatar billede jakoba Nybegynder
22. januar 2005 - 16:00 #1
lav om i din sql kommando i linien
    $query = sprintf("select id, url, link from %s order by link", $this->Table);
så der står:
    $query = sprintf("select id, url, link from %s order by id", $this->Table);
Avatar billede px6 Nybegynder
22. januar 2005 - 16:05 #2
det kom jeg også frem til lige nu, og var egentligt på vej til at svare på mit eget spørgsmål, godt skudt jakoba.
Avatar billede px6 Nybegynder
22. januar 2005 - 16:06 #3
du skal lige give mig et svar :8
Avatar billede px6 Nybegynder
22. januar 2005 - 16:19 #4
Og hvis jeg vil have sorteret outputtet, nyest øverst, istedet for nu hvor nyest er nederst? .. behøver ikke at svare.
Avatar billede Slettet bruger
26. januar 2005 - 19:47 #5
order by id DESC
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester