Datenbank-Werte mit übergebenen Form-Werten vergleichen
bearbeitet von
> Nein, das liegt daran dass du unter MariaDB noch mit `VALUES(value)` arbeiten musst, [siehe Handbuch](https://mariadb.com/kb/en/values-value/) – bei MySQL ist der Syntax seit Version 8.0.20 als veraltet eingestuft.
Ja, mein Erklärungsversuch mit bindValue macht keinen Sinn.
> Du bräuchtest vor dem inneren foreach noch eine Variable (z.B. `$gefunden = false;`) welche du innerhalb des if-Blocks auf `true` setzt. Wenn `$gefunden` dann nach der inneren foreach-Schleife immer noch `false` ist, gibt es den Datensatz noch nicht und du müsstest ein INSERT ausführen.
Boah, na klar. Mann, vielen Dank, Tobias. Die Lösung ist so einfach und ich habe da sonst was für Verrenkungen angestellt. Das merke ich mir auf jeden Fall fürs nächste Mal. 🙏
So sieht das nun aus:
~~~ PHP
$isNew = true;
foreach ( $releases as $row )
if ( $row['id'] === $id )
$isNew = false;
if ( $isNew === true && $value > 0 )
$Releases -> create();
else $Releases -> update();
header( 'Location:' . $_SERVER['HTTP_REFERER'] );
~~~
Muss nur noch was rein, damit die Reihe wieder gelöscht wird, wenn der aktualisierte Wert 0 entspricht. Aber das geht ja wieder leicht.
Grüße
Boris
Ja, mein Erklärungsversuch mit bindValue macht keinen Sinn.
> Du bräuchtest vor dem inneren foreach noch eine Variable (z.B. `$gefunden = false;`) welche du innerhalb des if-Blocks auf `true` setzt. Wenn `$gefunden` dann nach der inneren foreach-Schleife immer noch `false` ist, gibt es den Datensatz noch nicht und du müsstest ein INSERT ausführen.
Boah, na klar. Mann, vielen Dank, Tobias. Die Lösung ist so einfach und ich habe da sonst was für Verrenkungen angestellt. Das merke ich mir auf jeden Fall fürs nächste Mal. 🙏
So sieht das nun aus:
~~~ PHP
$isNew = true;
foreach ( $releases as $row )
if ( $row['id'] === $id )
$isNew = false;
if ( $isNew === true && $value > 0 )
$Releases -> create();
else $Releases -> update();
header( 'Location:' . $_SERVER['HTTP_REFERER'] );
~~~
Muss nur noch was rein, damit die Reihe wieder gelöscht wird, wenn der aktualisierte Wert 0 entspricht. Aber das geht ja wieder leicht.
Grüße
Boris
Datenbank-Werte mit übergebenen Form-Werten vergleichen
bearbeitet von
> Nein, das liegt daran dass du unter MariaDB noch mit `VALUES(value)` arbeiten musst, [siehe Handbuch](https://mariadb.com/kb/en/values-value/) – bei MySQL ist der Syntax seit Version 8.0.20 als veraltet eingestuft.
Ja, mein Erklärungsversuch mit bindValue macht keinen Sinn.
> Du bräuchtest vor dem inneren foreach noch eine Variable (z.B. `$gefunden = false;`) welche du innerhalb des if-Blocks auf `true` setzt. Wenn `$gefunden` dann nach der inneren foreach-Schleife immer noch `false` ist, gibt es den Datensatz noch nicht und du müsstest ein INSERT ausführen.
Boah, na klar. Mann, vielen Dank, Tobias. Die Lösung ist so einfach und ich habe da sonst was für Verrenkungen angestellt. Das merke ich mir auf jeden Fall fürs nächste Mal. 🙏
Sogeht sieht das nun aus:
~~~ PHP
$isNew = true;
foreach ( $releases as $row )
if ( $row['id'] === $id )
$isNew = false;
if ( $isNew === true && $value > 0 )
$Releases -> create();
else $Releases -> update();
header( 'Location:' . $_SERVER['HTTP_REFERER'] );
~~~
Muss nur noch was rein, damit die Reihe wieder gelöscht, wenn der aktualisierte Wert 0 entspricht. Aber das geht ja wieder leicht.
Grüße
Boris
Ja, mein Erklärungsversuch mit bindValue macht keinen Sinn.
> Du bräuchtest vor dem inneren foreach noch eine Variable (z.B. `$gefunden = false;`) welche du innerhalb des if-Blocks auf `true` setzt. Wenn `$gefunden` dann nach der inneren foreach-Schleife immer noch `false` ist, gibt es den Datensatz noch nicht und du müsstest ein INSERT ausführen.
Boah, na klar. Mann, vielen Dank, Tobias. Die Lösung ist so einfach und ich habe da sonst was für Verrenkungen angestellt. Das merke ich mir auf jeden Fall fürs nächste Mal. 🙏
So
~~~ PHP
$isNew = true;
foreach ( $releases as $row )
if ( $row['id'] === $id )
$isNew = false;
if ( $isNew === true && $value > 0 )
$Releases -> create();
else $Releases -> update();
header( 'Location:' . $_SERVER['HTTP_REFERER'] );
~~~
Muss nur noch was rein, damit die Reihe wieder gelöscht, wenn der aktualisierte Wert 0 entspricht. Aber das geht ja wieder leicht.
Grüße
Boris
Datenbank-Werte mit übergebenen Form-Werten vergleichen
bearbeitet von
> Nein, das liegt daran dass du unter MariaDB noch mit `VALUES(value)` arbeiten musst, [siehe Handbuch](https://mariadb.com/kb/en/values-value/) – bei MySQL ist der Syntax seit Version 8.0.20 als veraltet eingestuft.
Ja, mein Erklärungsversuch mit bindValue macht keinen Sinn.
> Du bräuchtest vor dem inneren foreach noch eine Variable (z.B. `$gefunden = false;`) welche du innerhalb des if-Blocks auf `true` setzt. Wenn `$gefunden` dann nach der inneren foreach-Schleife immer noch `false` ist, gibt es den Datensatz noch nicht und du müsstest ein INSERT ausführen.
Boah, na klar. Mann, vielen Dank, Tobias. Die Lösung ist so einfach und ich habe da sonst was für Verrenkungen angestellt. Das merke ich mir auf jeden Fall fürs nächste Mal. 🙏
So geht sieht das nun aus:
~~~ PHP
$isNew = true;
foreach ( $releases as $row )
if ( $row['id'] === $id )
$isNew = false;
if ( $isNew === true && $value > 0 )
$Releases -> create();
else $Releases -> update();
header( 'Location:' . $_SERVER['HTTP_REFERER'] );
~~~
Muss nur noch was rein, damit die Reihe wieder gelöscht, wenn der aktualisierte Wert 0 entspricht. Aber das geht ja wieder leicht.
Grüße
Boris
Ja, mein Erklärungsversuch mit bindValue macht keinen Sinn.
> Du bräuchtest vor dem inneren foreach noch eine Variable (z.B. `$gefunden = false;`) welche du innerhalb des if-Blocks auf `true` setzt. Wenn `$gefunden` dann nach der inneren foreach-Schleife immer noch `false` ist, gibt es den Datensatz noch nicht und du müsstest ein INSERT ausführen.
Boah, na klar. Mann, vielen Dank, Tobias. Die Lösung ist so einfach und ich habe da sonst was für Verrenkungen angestellt. Das merke ich mir auf jeden Fall fürs nächste Mal. 🙏
So geht sieht das nun aus:
~~~ PHP
$isNew = true;
foreach ( $releases as $row )
if ( $row['id'] === $id )
$isNew = false;
if ( $isNew === true && $value > 0 )
$Releases -> create();
else $Releases -> update();
header( 'Location:' . $_SERVER['HTTP_REFERER'] );
~~~
Muss nur noch was rein, damit die Reihe wieder gelöscht, wenn der aktualisierte Wert 0 entspricht. Aber das geht ja wieder leicht.
Grüße
Boris
Datenbank-Werte mit übergebenen Form-Werten vergleichen
bearbeitet von
> Nein, das liegt daran dass du unter MariaDB noch mit `VALUES(value)` arbeiten musst, [siehe Handbuch](https://mariadb.com/kb/en/values-value/) – bei MySQL ist der Syntax seit Version 8.0.20 als veraltet eingestuft.
Ja, mein Erklärungsversuch mit bindValue macht keinen Sinn.
> Du bräuchtest vor dem inneren foreach noch eine Variable (z.B. `$gefunden = false;`) welche du innerhalb des if-Blocks auf `true` setzt. Wenn `$gefunden` dann nach der inneren foreach-Schleife immer noch `false` ist, gibt es den Datensatz noch nicht und du müsstest ein INSERT ausführen.
Boah, na klar. Mann, vielen Dank, Tobias. Die Lösung ist so einfach und ich habe da sonst was für Verrenkungen angestellt. Das merke ich mir auf jeden Fall fürs nächste Mal. 🙏
So geht sieht das nun aus:
~~~ PHP
$isNew = true;
foreach ( $releases as $row )
if ( $row['id'] === $id )
$isNew = false;
if ( $isNew === true && $value > 0 )
$Releases -> create();
else $Releases -> update();
header( 'Location:' . $_SERVER['HTTP_REFERER'] );
~~~
Grüße
Boris
Ja, mein Erklärungsversuch mit bindValue macht keinen Sinn.
> Du bräuchtest vor dem inneren foreach noch eine Variable (z.B. `$gefunden = false;`) welche du innerhalb des if-Blocks auf `true` setzt. Wenn `$gefunden` dann nach der inneren foreach-Schleife immer noch `false` ist, gibt es den Datensatz noch nicht und du müsstest ein INSERT ausführen.
Boah, na klar. Mann, vielen Dank, Tobias. Die Lösung ist so einfach und ich habe da sonst was für Verrenkungen angestellt. Das merke ich mir auf jeden Fall fürs nächste Mal. 🙏
So geht sieht das nun aus:
~~~ PHP
$isNew = true;
foreach ( $releases as $row )
if ( $row['id'] === $id )
$isNew = false;
if ( $isNew === true && $value > 0 )
$Releases -> create();
else $Releases -> update();
header( 'Location:' . $_SERVER['HTTP_REFERER'] );
~~~
Grüße
Boris
Datenbank-Werte mit übergebenen Form-Werten vergleichen
bearbeitet von
> Nein, das liegt daran dass du unter MariaDB noch mit `VALUES(value)` arbeiten musst, [siehe Handbuch](https://mariadb.com/kb/en/values-value/) – bei MySQL ist der Syntax seit Version 8.0.20 als veraltet eingestuft.
Ja, mein Erklärungsversuch mit bindValue macht keinen Sinn.
> Du bräuchtest vor dem inneren foreach noch eine Variable (z.B. `$gefunden = false;`) welche du innerhalb des if-Blocks auf `true` setzt. Wenn `$gefunden` dann nach der inneren foreach-Schleife immer noch `false` ist, gibt es den Datensatz noch nicht und du müsstest ein INSERT ausführen.
Boah, na klar. Mann, vielen Dank, Tobias. Die Lösung ist so einfach und ich habe da sonst was für Verrenkungen angestellt. Das merke ich mir auf jeden Fall fürs nächste Mal. 🙏
Grüße
Boris