我想在数据库中存储一个具有特定值的变量,当用户再次单击它时,它会使用新值更新数据库列。
我的代码:
if(isset($_REQUEST['submit1'])) {
if ( $submit[msurf] >= $msurfclicks ) {
$sql=$Db1->query("INSERT INTO d_bonus VALUES('$userid','0.02',NOW())");
echo "success";
}
else {
echo "wrong";
}
header("location:".$_SERVER['PHP_SELF']);
}
答案 0 :(得分:0)
正如评论中所提到的,我认为你应该从基本的laravel教程开始,以获得有关基本概念的更多知识,但是这里是你如何解决问题。
假设您有一个带有user_id和“amount”的表“d_bonus”
// get current values
$amount = DB::table('d_bonus')->where('user_id', Auth::user()->id)->first();
// increase amount
$amount += 2;
// store new amount
DB::table('d_bonus')->where('user_id', Auth::user()->id)
->update(['amount' => $amount]);
// redirect
return redirect('/my-route');
别忘了添加use Auth;
和use DB;
但是,我建议在用户和课程之间建立关系以便了解这一点。然后,您无需直接使用DB
。
<强>更新强>:
要创建一个调用此按钮的按钮,您至少需要一个调用此代码的路径
e.g。
Route::get('clicked-my-button', function() {
// put code here, dont forget to add facaeds in header
// better use a controller instead of a function within your routes!
});
您的表单就像
<form action="/clicked-my-button" method="GET">
{{csfr_field()}} <!-- hopefully you are using blade -->
<input type="submit" value="submit" />
</form>
答案 1 :(得分:0)
如果您为表使用model,则可以使用firstOrCreate或firstOrNew方法进行工作。
// Retrieve the flight by the attributes, or create it if it doesn't exist...
$flight = App\Flight::firstOrCreate(['name' => 'Flight 10']);
// Retrieve the flight by the attributes, or instantiate a new instance...
$flight = App\Flight::firstOrNew(['name' => 'Flight 10']);
对于mor信息: