0

この質問は、少なくとも私にとっては少し複雑です。さて、私はプロジェクトに取り組んでおり、もう少し助けが必要です..

実際、私はモジュールを持っています.1人のユーザーがログインすると、1つのテーブルから限られたデータを取得し、そのレコードを更新します. これで完了です。

2番目の問題:ログインしてデータを処理する5人のユーザーがいます。

しかし、1000 件のレコードがあるように、どのユーザーも同じデータを取得するべきではありません。

次に、最初のユーザー ログイン時: 1 から 10 までの 10 レコードを取得します。2 回目のユーザー ログイン: 次の 10 を取得します。11-20.同じように..

そして翌日彼らがログインしたとき。彼らは 51 からレコードを取得します。前日に 5 人のユーザーが最初の 50 のデータ レコードで作業したためです。

私の問題は、その2つの目標を達成する方法です?

これにはフレームワークが必要ですか?

または、単純な php n sql を使用して実行できますか?

どんなサポートも私にとって役に立ちます。:)

4

2 に答える 2

1

Ok。これは、より良いアイデアを提供するための生の答えです。これは、ログインを挿入する方法です。

次のフィールドを含むテーブルがあることを検討してください。

テーブル名: Temp_Table

ユーザー、assigned_rows_last_no、date_assigned

<?php
$con=mysqli_connect("example.com","hiren","abc123","my_db");

// These things can be included into a single file say config.php and including in every file so that you dont need to specify connection string everytime.

if (mysqli_connect_errno())
 {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
     } 

//This query required to be included into the file, which is exactly after login.php

$sql = mysqli_query($con,"SELECT assigned_rows_last_no FROM Temp_Table ORDER BY assigned_rows_last_no DESC LIMIT 1");
// This is because I want the last row number assigned to the user.

IF ($sql == 0) // Check whether the return answer is NULL or not.
{
    // If the result is empty than add new entry of the user with defined row number.
    // Suppose that current username can be retrieved from SESSION and stored into a variable.

    $insertquery = mysqli_query($con, "INSERT INTO Temp_Table Values ('" . $username . $"', 10, CURDATE()");
    mysqli_close($con);
}
else
{
    // Select the last entry of row and add 10 to it. Ex. User2 has been assigned to 11-20, table contains 20 in the row of user2, now user3 comes, this query will select the row_no, add 10 and insert again into the table (i.e. value 30 which means 21-30.)

    settype($sql, "int");
    $sql = $sql + 10;
    $insertquery = mysqli_query($con, "INSERT INTO Temp_Table Values ('" . $username . $"', '" . $sql . "', CURDATE()");
    mysqli_close($con);
}

mysqli_close($con);
?>

日付フィールドは、今日のエントリを認識するのに役立ちます。これにより、「同じ日に同じユーザーのエントリが重複してはならない」というロジックを設定できます。

次に、上記のことを確認する独自のページを作成し、ユーザーに行を割り当てます。

注: このコードは、ロジックを消去することしかできません。コードを変更しなくても機能するかどうかはわかりません。

于 2013-04-12T10:00:18.203 に答える
0

追加のフレームワークは必要ありません。php 'n' sql で簡単に実行できます。最後に編集した行 (行番号) を追加の SQL テーブルに保存しないのはなぜですか? 多分ユーザー名/ユーザーIDで。

于 2013-04-12T06:00:22.650 に答える