0

これは、データベースのすべてのデータに対する私の関数です。データベースから最後の 4 つのデータのみが必要です。

function spelerWeergeven()
{
    db.transaction(function(tx)
    {
        tx.executeSql('SELECT * FROM speler', [], function (tx, results)
        {
            var len = results.rows.length, i;
            if(len > 0)
            {
                $('#spelerTabel').replaceWith('<table id="spelerTabel"><tr><th>Spelers</th></tr></table>');
                $('#spelerTabel').hide();
                for(var i = 0; i< len; i++)
                {
                    $('#spelerTabel tr:last').after('<tr><td>'+results.rows.item(i).naam+'</td></tr>');
                }
                $('#spelerTabel').show('slow');
            }
            }, null);
    }
    );
}

誰も答えを知っていますか?

4

3 に答える 3

0
SELECT * FROM `speler` ORDER BY `id` DESC LIMIT 4;
于 2012-11-12T11:30:02.230 に答える
0

これはうまくいくはずです

SELECT *
FROM `speler`
ORDER BY `id` DESC
LIMIT 4;

(バッククォート (`) は、SQL がそれらの間の単語をキーワードとして読み取らないようにするために使用されます。SQL には非常に多くのキーワードがあるため、覚えておくとよいでしょう。)

編集:

query を使用して列id (主キー) とnaamを持つspelerというテーブルを作成したので、主キー列がidであることがわかります。CREATE TABLE IF NOT EXISTS speler (id INTEGER PRIMARY KEY, naam)

PS: 慣例により、テーブル名を大文字 ( Speler ) で始めるのは良いことです。

于 2012-11-12T12:20:04.640 に答える
0

これはサーバー側で行います:

SELECT TOP 4 * FROM 
speler
ORDER BY id DESC

また、Linq を使用してかなりきれいにします。

//dc would be a linq datacontext
string cmd = @"SELECT TOP 4 * from speler order by id DESC";
IEnumerable<speler> fourItems = dc.ExecuteQuery<speler>(cmd);
于 2013-03-19T15:29:33.110 に答える