• Willkommen, Gast!
  • Freitag, 30. Oktober 2020, 02:30:09
Position: Home » Allgemeines » Allgemeines Board » kleine Logikfrage - php
Antworten
Thema: kleine Logikfrage - php [Seite 1 ]

Kein neuer Beitrag Mars , 02.03.2011, 11:26
Beitrag #1   

IP: n/a
Rang: * * * * * * *
Registrierung: 04.09.2007, 15:49
Homepage: http://www.mliebgott.de
Wohnort: Dresden
 

Forum-Gott mit 1025 Punkte, 697 Beiträge
Mahlzeit liebe Leute :)

ich habe nur eine kleine Frage ...
ich bin gerade dabei mein Menü je nach Usergruppe anzeigen zu lassen.
Dafür hat bei mir jedes Menü-Objekt eine Eigenschaft, welche Usergruppe mindestens vorhanden sein
muss.
so ... nun daraufhin lese ich die Usergruppe des angemeldet User aus ... und lade die
entsprechenden Menüpunkte ...
funktioniert einwandfrei ..
Jetzt mein kleiner Knackpunkt ... die Menüs haben nicht nur die Eigenschaft das min. eine bestimmte
Usergruppe vorhanden sein muss, sondern zudem auch, ob diese den Gästen angezeigt wird. Wie kann
ich es nun verwirklichen, das ohne Anmeldung nur die Menüpunkte angezeigt werden, die für Gäste sind.
Hier zum meine SQL-Struktur
SQL:
1
2
3
4
5
6
7
  `id` int(11NOT NULL AUTO_INCREMENT,
  `enable` enum('0','1'NOT NULL,
  `name` varchar(20NOT NULL,
  `src` varchar(50NOT NULL,
  `target` enum('_self','_blank'NOT NULL,
  `group` enum('1','2'NOT NULL,
  `gast` enum('0','1'NOT NULL,

Dabei besonderes Augenmerk bei meinem Problem auf "group" bzw "gast"
Hier die stelle, wo die Gruppen-ID ausgelesen wird
PHP:
1
2
3
4
5
6
7
8
9
10
11
 $user = new user();
$cookie = new cookie();
$cookie = $cookie->getCookie("ID");
if($cookie !== 0){
       $user = $db->select("SELECT `group` FROM `user` WHERE id = '" . $cookie . "'");
       $user = $user[0]["group"];
}else{
       $user = "0";
}
                    
$menu = load_menu($user);

so nun hier die Funktion, die mir die Menüs laden soll
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
function load_menu($user){
    $db = new mysql();
    $anz = $db->anzDS("menu");
    $menu = new menu();
    if($user == "0"){
        $result = $db->select("SELECT * FROM `menu` WHERE `gast` = 1");
    }else{
        $result = $db->select("SELECT * FROM `menu` WHERE `group` >= '" . $user . "'");
    }
        
    return $result;
}


Ich hoffe ich konnte mich verständlich ausdrücken

MfG Marcel
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte Mal 02.03.2011, 11:28 von Mars.

 
Kein neuer Beitrag Nils , 02.03.2011, 15:08
Beitrag #2   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

sinnvoller wäre wahrscheinlich Gästen auch eine Usergruppe zu geben. Dann ließe sich das sauberer
lösen, weil man Spezialfälle vermeidet. Aber das nur am Rande.
Ich weiß nicht genau wo dein Problem ist. Was funktioniert denn nicht? Auf den ersten Blick sieht
dein Code so aus, als ob er das tun müsste, was du möchtest. (Bedenke, dass wir nicht wissen wie
deine Klassen und Funktionen, die hier nicht gepostet wurden, funktionieren ;))

mfg Nils

 
Kein neuer Beitrag Mars , 02.03.2011, 15:23
Beitrag #3   

IP: n/a
Rang: * * * * * * *
Registrierung: 04.09.2007, 15:49
Homepage: http://www.mliebgott.de
Wohnort: Dresden
 

Forum-Gott mit 1025 Punkte, 697 Beiträge
Hi,

ich glaube das mit der Gast-Gruppe ist gar nicht so eine schlechte Idee =)
Dies werde ich in den nächsten Tagen mal umsetzen ...
Danke für den Hinweis.

MfG Marcel

 
Kein neuer Beitrag Rafioso , 03.03.2011, 00:13
Beitrag #4   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Hallo,

auch ohne Gast-Gruppe sollte dein Code, so wie er hier steht, eigentlich funktionieren.

MfG
Rafioso

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------

 
Kein neuer Beitrag Mars , 03.03.2011, 07:39
Beitrag #5   

IP: n/a
Rang: * * * * * * *
Registrierung: 04.09.2007, 15:49
Homepage: http://www.mliebgott.de
Wohnort: Dresden
 

Forum-Gott mit 1025 Punkte, 697 Beiträge
Das dacht ich mir ja eigentlich auch ...
Naja ich werde mich heute nochmal drüber setzen, wenn kein Weg daran vorbeigeht, komm ich wohl
nicht drum rum eine Gästegruppe zu machen ...

MfG Marcel

Edith sagt:
Ich habe gerade bissl rumgespielt ... und dabei aber auch sachen eingebaut, was eigentlich keinen
Sinn macht ...
Meine Abfrage lautet nun so
SQL:
1
"SELECT * FROM `menu` WHERE `gast` != 1"


Edithh sagt:
Komischerweise schon wieder das selber Problem ... ich wollte etwas auslesen, wo die Kategorie = 1
ist ... jedoch musste ich wieder in der WHERE-Klausel != 1 machen ... kann mir das jemand erklären?

Edithhh sagt:
Es funktioniert ... wenn man enum('0', '1';) macht, dann sollte man
schon auf WHERE <bedingung> = '1' schon prüfen ...

MfG Marcel
Dieser Beitrag wurde insgesamt 3 mal editiert. Das letzte Mal 03.03.2011, 11:45 von Mars.

 
Kein neuer Beitrag Rafioso , 03.03.2011, 21:05
Beitrag #6   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Noch ein Tipp bezüglich Performance. Wähle niemals alle Spalten (*) aus, sondern immer die, die du
am Ende auch wirklich benötigst.

MfG
Rafioso

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------

 
Kein neuer Beitrag Mars , 03.03.2011, 21:34
Beitrag #7   

IP: n/a
Rang: * * * * * * *
Registrierung: 04.09.2007, 15:49
Homepage: http://www.mliebgott.de
Wohnort: Dresden
 

Forum-Gott mit 1025 Punkte, 697 Beiträge
Richtig, jedoch brauche ich alle Spalten =)

MfG Marcel

Abonnieren Druckansicht
Antworten

n/a n/a 1     (Anzeige: 1 – 7; insgesamt: 7) n/a n/a
User in diesem Thema: 0 Registrierte, 0 Versteckte, 1 Gast, 0 Bots
Keine
Legende: Administratoren, User, Moderatoren
Themenaktionen:
Beiträge verschieben

Toggle Ähnliche Themen zu „kleine Logikfrage - php“
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
Thema PS Pro unter PHP 7? 0 173929 17.03.2017, 02:03
Von: Tobi
17.03.2017, 02:03
Von: Tobi Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Seitenzahlen in PHP (MySQL) auflistung einbri ... 6 64176 08.07.2015, 21:39
Von: RommY
13.07.2015, 12:43
Von: RommY Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  PHP Script gesucht 8 48605 16.06.2015, 22:16
Von: RommY
20.06.2015, 01:45
Von: RommY Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, verschoben
  [PHP][REGEX] für Template 1 27277 28.02.2013, 14:28
Von: Mars
01.03.2013, 07:00
Von: Nils Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  [PHP] beste Möglichkeit User-IP auszulesen 2 39572 20.02.2013, 06:06
Von: Mars
20.02.2013, 08:03
Von: Mars Zum letzten Beitrag
  • 0.02952 Sek., 11 DB-Zugriffe, 928.320 KiB
  • Powered by Boardsolution v1.46