私は本当にこの1つの助けが必要です。私はあなたのケースをベースにmysqlの更新をしようとしているが、私はそれが正しいとは思わない。 ここに私が達成しようとしているものがあります。 は、私は、次のフィールドケースステートメントに基づいてmysqlデータベースを更新する
user_id, rank, weekly, monthly, justwinners
1 9 0 0 0
2 29 0 0 0
3 8 0 0 0
4 10 0 0 0
5 12 0 0 0
何私が達成したいことは iは2011年5月7日の開始日を持っていると言うことができます特定の日付に基づいて、毎週、毎月とjustwinnersフィールドを更新することで、テーブルを持っています。 $ startdate = 5-07-2011; 12/07/2011の1週間の終わりに、私は最高ランク1のユーザの週間フィールドを1に更新したいと考えています。同時に、同時に最高の順位を持つ次の3人のユーザの フィールドを更新します。 今週19/07/2011の第2週の終わりに、値がまだ「0」から2になる最も高いランクのユーザーの週単位のフィールドを更新し、 の値を持つjustwinnersフィールドを更新したいまだ0になっています。 これは月間のフィールドを更新する1ヶ月の時間になるまで続きます。 これはこれまで私がこれまで働いていないことを考え出すことができたものです。
//Initiate the database connection here
function get_db_conn() {
$conn = mysql_connect(HOST, DB_USER, DB_PASSWORD) or die('Could not Connect!');
mysql_select_db(DATABASE, $conn) or die ('could not connect to database');
return $conn;
}
function updateWinners($limit, $field) {
$conn = get_db_conn();
switch($field) {
case "weekly" :
$limit = 1;
case "monthly" :
$limit = 1 ;
case "giftpack" :
$limit = 10 ;
default:
$limit = 1 ;
}
$sqlquery = "SELECT * FROM application rank DESC " ;
$sqlquery .= " where $field < 1 ";
$sqlquery .= " LIMIT $limit ";
$result = mysql_query($sqlquery);
$user_data = mysql_fetch_row($result);
if(isset($user_data)) {
$user_data = 0 ;
while($user_data){
$uid = $user_data(user_id);
$rank = $user_data(rank);
$query = "INSERT INTO application_winners (user_id, rank, date) VALUES ('$uid', '$rank' 'now()')";
mysql_query($query) or die('Error, insert winners query failed');
switch ($action) {
case "weekly":
$startdate = "5-07-2011";
$sqlquery = "UPDATE application SET weekly = CASE
WHEN (CURDATE() = (startdate * 7))
THEN weekly = '1'
WHEN (CURDATE() = (startdate * 14))
THEN weekly = '2'
WHEN (CURDATE() = (startdate * 30))
THEN weekly = '3'
ELSE weekly
END";
}
$user_data = $user_data + 1;
} //endwhile
}
else {
echo "Error in updating the winners";
}
}
これを実装する方法がわかっている場合は、親切に分かち合う。
はい、どこでも何のアクションがありません、私は本当に知らない、実際に私は何だDOIこれらのコード行では無視されます。私はこれまでに行ったことを見ずに自分のシステムを実装する最良の方法を手伝ってくれるだけです。 – stanley