SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

 
 
Themen-Optionen Ansicht
  #1  
Alt 09.06.2016, 15:20:19
Fake Fake ist offline
Anfänger
 
Registriert seit: May 2016
Alter: 30
Beiträge: 33
ON DUPLICATE KEY UPDATE

Hallöchen,

vorab ist zu erwähnen, dass folgende Struktur vorhanden ist.

id | group_id | right_id | negate
------------------------------------
1 | 2 | 20 | 0
2 | 2 | 30 | 0
3 | 2 | 40 | 1

Die Einträge sind beispielhaft.

Bei der Auswertung meines Formulars werden alle Rechte übergeben
und sollen bestehende Rechte in der Datenbank aktualisieren oder ggf. falls
die Checkboxen GRANT & REVOKE "unchecked" sind, dieses Recht löschen.

Die Checkboxen werden folgendermaßen erzeugt:

PHP-Code:
negate 0: <input type="checkbox" name="' . $right['name'] . '" value="1" checked />
negate 1: <input type="checkbox" name="' . $right['name'] . '" value="0" checked /> 
Ist eine oder beide Checkboxen "checked", soll das Recht in der Datenbank
eingetragen werden oder ggf. aktualisiert werden. Ist keine Checkbox
"checked" soll das Recht wieder entfernt werden oder wenn es nicht existent ist,
nichts unternommen werden.


Das Problem:

PHP-Code:
ON DUPLICATE KEY UPDATE 
Die Spalte id hat auto_increment und ist der Primärschlüssel.

In der Auswertung des Formulars kann ich die id aber nicht ermitteln.
Sie ist also als Primärschlüssel nutzlos.

Die group_id kann ich nicht als Primärschlüssel setzen, da diese mehrfach
für jedes einzelne Recht je Gruppe vorkommt.

Setze ich right_id als Primärschlüssel existiert das selbe Problem.


Lösung?

Kann ich zwei Primärschlüssel festlegen, für die das jeweilige Recht überprüft wird?
So entstehen keine Verwechselungen.

Sprich ON DUPLICATE KEY UPDATE reagiert auf group_id und right_id.


PHP-Code:
mysqli_query($_MySQL"INSERT INTO `group_rights` (group_id, right_id, negate) VALUES (" $_group_edit_id ", " $col['id'] . ", 0) ON DUPLICATE KEY UPDATE `id` = `id` + 1;"); 
Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
HTML Input Felder als Array auslesen und Update MKJ MySQLi/PDO/(MySQL) 3 12.09.2013 20:23:21
REPLACE anstatt INSERT oder UPDATE? Leyyin MySQLi/PDO/(MySQL) 5 09.08.2010 20:09:38
insert into on duplicate key update Loki555 MySQLi/PDO/(MySQL) 1 23.09.2009 10:22:02
mysql update und neue daten in eine andere Tabelle eintragen cooperraser MySQLi/PDO/(MySQL) 5 12.10.2008 02:46:35
UPDATE im Block plekz MySQLi/PDO/(MySQL) 1 12.08.2008 11:43:03


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:06:27 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt