BinarySoul
New member
Hallo,
ich habe folgendes Problem. Ich muss einen Wert von PHP erzeugen lassen. Diesen dann per Javascript auslesen und wieder zurück an PHP schicken.
Das klingt jetzt verwirrend. Aber ich versuch das mal zu erklären:
Ich benutze das Framework "Laravel". Dieses zieht daten aus einer Datenbank und schreibt diese in eine Tabelle.
In jeder Tabellenreihe soll ein Button sein, der ein Menü aufruft, den Datensatz dieser Reihe zu bearbeiten.
Das bearbeiten funktioniert aber nur, wenn Laravel die ID des Objekts besitzt das ich bearbeiten will.
Und genau diese geht unterwegs verloren.
Die Tabelle wird mit foreach erzeugt. Für jedes Element aus der Datenbank wird eine neue tr erzeugt. Der code dazu sieht so aus:
Wenn ich am ende der Tabelle auf das Icon klicke, das Modal sich öffnet und ich die Optionen "Bearbeiten", "Löschen" und "Moderator informieren" dann brauch ich für jede dieser 3 Optionen die information um welchen Film es sich handelt. Diese kann ich aber nicht einfach mit {{titles-id}} auslesen, weil ... genau weiß ich auch nicht wieso, jedenfall ist die ID dann immer "1" egal wohin man klickt.
Ich muss also die ID irgendwie ins Modal befördern.
Mein Ansatz war jetzt das ganze mit JS zu machen. Und zwar mit diesem Skript:
Ausserdem habe ich natürlich den Link, wie folgt geändert:
Und das Modal ebenfalls angepasst:
Was ich jetzt brauche ist eine Möglichkeit, wie ich in PHP den Inhalt von "data-set-if" auslese und in eine Variable speichern kann.
Oder eine wesentlich weniger umständliche Lösung.
Hat dazu vielleicht jemand eine Idee?
ich habe folgendes Problem. Ich muss einen Wert von PHP erzeugen lassen. Diesen dann per Javascript auslesen und wieder zurück an PHP schicken.
Das klingt jetzt verwirrend. Aber ich versuch das mal zu erklären:
Ich benutze das Framework "Laravel". Dieses zieht daten aus einer Datenbank und schreibt diese in eine Tabelle.
In jeder Tabellenreihe soll ein Button sein, der ein Menü aufruft, den Datensatz dieser Reihe zu bearbeiten.
Das bearbeiten funktioniert aber nur, wenn Laravel die ID des Objekts besitzt das ich bearbeiten will.
Und genau diese geht unterwegs verloren.
Die Tabelle wird mit foreach erzeugt. Für jedes Element aus der Datenbank wird eine neue tr erzeugt. Der code dazu sieht so aus:
PHP:
<table class="table table-bordered table-hover tile">
<thead>
<th>ID</th>
<th>Filmname</th>
<th>Erschienen am:</th>
<th>Regie führte:</th>
<th>Genre:</th>
<th>Thema:</th>
<th>Bild zum Film:</th>
<th>Eingereicht durch:</th>
<th>Eingereicht am:</th>
<th>Bearbeiten:</th>
</thead>
@foreach ($output as $titles)
<tr>
<td>{{$titles->id}}</td>
<td>{{$titles->movieName}}</td>
<td>{{$titles->releaseYear}}</td>
<td>{{$titles->director}}</td>
<td>{{$titles->genre}}</td>
<td>{{$titles->topic}}</td>
<td><a href="{{$titles->picture}}" target="_blank">Klick!</a></td>
<td>{{$titles->user->nickName}}</td>
<td>{{$titles->created_at}}</td>
<td><a data-toggle='modal' href='#userDialog'><span class="glyphicon glyphicon-list-alt"></span></a></td>
</tr>
@endforeach
</table>
Ich muss also die ID irgendwie ins Modal befördern.
Mein Ansatz war jetzt das ganze mit JS zu machen. Und zwar mit diesem Skript:
Code:
function findRowInTable() {
$('#userDialog').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
var getID = button.data('edit-id');
var getName = button.data('movie-name');
$('#moviename').text('Filmname: ' + getName);
$('#edit').attr('data-set-id' , getID);
});
}
Ausserdem habe ich natürlich den Link, wie folgt geändert:
HTML:
<td><a data-toggle='modal' href='#userDialog' data-edit-id='{{$titles->id}}' data-movie-name='{{$titles->movieName}}'><span class="glyphicon glyphicon-list-alt"></span></a></td>
Und das Modal ebenfalls angepasst:
HTML:
<div class="modal-header">
<h4 class="modal-title" id="movieID">Was möchtest du tun?</h4>
</div>
<div class="modal-body">
<div class="block-area" id="tableHover">
<div class="table-responsive overflow">
<table class="table table-bordered table-hover tile">
<thead>
<th id="moviename"></th>
</thead>
<tbody>
<tr>
@if ($titles->user_id == Auth::user()->id)
@endif
<td><span class="glyphicon glyphicon-edit"></span> <a href="" id='edit' data-set-id="">Diesen Film editieren</a></td>
</tr>
<tr>
<td><span class="glyphicon glyphicon-trash"></span> <a href="">Diesen Film löschen!</a></td>
</tr>
<tr>
<td><span class="glyphicon glyphicon-facetime-video"></span> <a href="subscribeMovie">Diesen Film einem Moderator melden!</a>
</td>
</tr>
<tbody>
</table>
</div>
Oder eine wesentlich weniger umständliche Lösung.
Hat dazu vielleicht jemand eine Idee?