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 ::

TYPO3 Kochbuch

TYPO3 Kochbuch 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

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 09.06.2016, 16: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
  #2  
Alt 09.06.2016, 16:40:43
chorn chorn ist offline
Junior Member
 
Registriert seit: Apr 2016
Alter: 44
Beiträge: 171
AW: ON DUPLICATE KEY UPDATE

Zitat:
Zitat von Fake Beitrag anzeigen
In der Auswertung des Formulars kann ich die id aber nicht ermitteln.
lös doch erstmal dieses Problem.
Mit Zitat antworten
  #3  
Alt 09.06.2016, 16:48:45
Fake Fake ist offline
Anfänger
 
Registriert seit: May 2016
Alter: 30
Beiträge: 33
AW: ON DUPLICATE KEY UPDATE

Das Problem hat sich bereits erledigt.

Ich habe die Spalte id gelöscht, da die auto_increment Spalte
gleichzeitig der Primärschlüssel sein muss. Ich habe danach die Spalten
group_id und right_id beide als Primärschlüssel festgelegt.

Problem gelöst...
Mit Zitat antworten
Antwort


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 21:23:21
REPLACE anstatt INSERT oder UPDATE? Leyyin MySQLi/PDO/(MySQL) 5 09.08.2010 21:09:38
insert into on duplicate key update Loki555 MySQLi/PDO/(MySQL) 1 23.09.2009 11:22:02
mysql update und neue daten in eine andere Tabelle eintragen cooperraser MySQLi/PDO/(MySQL) 5 12.10.2008 03:46:35
UPDATE im Block plekz MySQLi/PDO/(MySQL) 1 12.08.2008 12:43:03


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:16:58 Uhr.


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


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