2016-06-30 4 views
0

Ich möchte eine Variable in der Datenbank speichern, die einen bestimmten Wert hat und wenn der Benutzer sie erneut anklickt, aktualisiert sie die Datenbankspalte mit dem neuen Wert.Wie man eine Variable in der Datenbank unter Verwendung von Laravel speichert

Mein Code:

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']); 
} 
+2

Dies ist nicht, wie Sie Laravel verwenden sollten. Ich denke, dass Sie einige grundlegende Laravel Tutorials auf Laracast versuchen, um das grundlegende Konzept von allem wie Routing zu bekommen. –

+0

Ich habe grundlegende Tutorials Ich möchte wirklich wissen, wie man solche Taste usig PHP oder Java-Skript hinzufügen @FrankProvost mein Projekt basiert auf Laravel – abhiii

+0

Wenn Sie den Javascript-Teil von diesem wollen, warum fragen Sie für den PHP-Teil? Wenn ich deinen Code betrachte, denke ich, dass das im Grunde nichts mit Laravel zu tun hat, es ist ein einfaches PHP. Sie verwenden nicht die Fassaden, eloquent, Modelle usw., aber ich hoffe immer noch, dass meine Antwort Ihnen einige Hinweise über eine bessere Annäherung gibt –

Antwort

0

Wie im Kommentar erwähnt Ich glaube, Sie mit grundlegenden Laravel Tutorial beginnen sollte mehr Wissen über die grundlegenden Konzepte zu bekommen, ist jedoch hier, wie Sie Ihr Problem lösen können.

Vorausgesetzt Sie haben eine Tabelle „d_bonus“ haben mit einem user_id und einer „Menge“

// 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'); 

Vergessen Sie nicht use Auth; und use DB;

jedoch hinzufügen, schlage ich vor, die Schaffung der Beziehungen zwischen dem Nutzer und dem Kurs um das zu lernen. Sie müssten dann nicht DB direkt verwenden.

aktualisieren:

Um eine Schaltfläche zu machen, die diese Anrufe benötigen Sie mindestens eine Route wird diesen Code

zum Beispiel Aufruf

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! 
}); 

Ihre Form wird wie

<form action="/clicked-my-button" method="GET"> 
    {{csfr_field()}} <!-- hopefully you are using blade --> 
    <input type="submit" value="submit" /> 
</form> 
0

, wenn Sie Modell für Ihre Tabelle verwenden, können Sie firstOrCreate oder firstOrNew Methode für Ihre Arbeit.

// 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']); 

für mor Informationen:

https://laravel.com/docs/5.1/eloquent

Verwandte Themen