Thread Verfasser: Rolly8-HL
Thread ID: 995
Thread Info
Es gibt 5 Beiträge zu diesem Thema, und es wurde 3231 Mal angesehen.
 Thema drucken
Frage zu dbcount
Rolly8-HL
Hallo, habe dazu mal eine Frage.

Zitat

$subm_count = dbcount("(submit_id)", DB_SUBMISSIONS , "submit_type='P'");

Hiermit werden mir alle angezeigt mit 'P' habe aber noch mehr da drin.

Vorhanden sind N , P , A der Admin hat aber nur die Rechte für N,P nicht für A Frage wie kann ich das machen das alle Einträge ausgelesen werden mit den Rechten die der Admin hat und die die wo er nicht hat ignoriert werden?

Hat jemand eine Idee wo das so gemacht wird?
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
David
Hallo Rolly,

ich würde das ganze so angehen:


// Allgemeines
$where = "";
$rights = array("A", "N", "P");

// Where Abfrage aufbauen
foreach ($rights AS $right) {
   if (!checkrights($right)) {
      $where = ($where ? " AND " : "")."submit_type !='".$right."'";
   }
}

// Counter
$count = dbcount("(submit_id)", DB_SUBMISSIONS, $where);


Ist zwar ungetestet, aber sollte Ansich funktionieren.
Liebe Grüße, David Smile

PHP-Fusion Österreich
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Rolly8-HL
Jeep, Ja hat geklappt, so in etwa hatte ich es mir vorgestellt konnte es aber selbst nicht umsetzen.

Erst ein mal besten Dank, so geht es.

Jetzt aber noch eine Frage dazu, in der

Zitat

$rights = array("A", "N", "P");

ist es jetzt fest vorgegeben, war nur ein Beispiel, kann man das jetzt auch auslesen lassen?

Ich meine aus der DB_ADMIN => admin_rights ? oder so?

Zusammengefügt am 28. Juni 2016 um 18:06:53:
Nachtrag:
Muss mich korigiren geht leider doch nicht, wenn er keine Rechte hat nur SU für Einsendung bekomme ich das

Zitat

» Logout You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND submit_type !='P'' at line 1

Bearbeitet von Rolly8-HL am 28. Juni 2016 16:06:53
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
David
Hoppla, nur einen Punkt vergessen ..


// Allgemeines
$where = "";
$rights = array("A", "N", "P");

// Where Abfrage aufbauen
foreach ($rights AS $right) {
   if (!checkrights($right)) {
      $where .= ($where ? " AND " : "")."submit_type !='".$right."'";
   }
}

// Counter
$count = dbcount("(submit_id)", DB_SUBMISSIONS, $where);

Liebe Grüße, David Smile

PHP-Fusion Österreich
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Rolly8-HL
Jeep. so weit scheint es jetzt zu klappen, was diese Kleinigkeit doch für Wirkung hat.

Bleibt für mich jetz aber noch die 2. Frage offen wie kann ich die

Zitat

$rights = array("A", "N", "PH");

jetzt so an die admin_rights anbinden ohne einen festen Eintrag dafür haben zu müssen.

Da bei jeder neuen Anwendung die ich nach installiere auch weitere Rechte mit aufgenommen werden können die ich dann ungern per Hand hier nachtragen wollte.

Habe mir das SUBMISSIONS System so umgestellt das auch andere Anwendungen die Möglichkeit haben auf diesem Wege Einsendungen zu tätigen.

Momentan bekomme ich nicht die Werte so übergeben das es auch funktioniert, weiß leider nicht wie das aussehen kann.
Gibt es in der Fusion schon irgendwo eine Stelle die das so über nimmt? damit ich mir es da mal anschauen kann?

Zusammengefügt am 29. Juni 2016 um 13:27:51:
Nachtrag:

Habe schon etwas gefunden, besten Dank für Deine Hilfe.

   $where = "";
// Allgemeines
   $result_order_rights = dbquery("SELECT * FROM ".DB_ADMIN);
   while ($order_rights = dbarray($result_order_rights)) {
   $rights = array("admin_rights" => $order_rights['admin_rights'], );
// Where Abfrage aufbauen
   foreach ($rights AS $right) {
   if (!checkrights($right)) {
   $where .= ($where ? " AND " : "")."submit_type !='".$right."'";
   }}}
// Counter
   $subm_count = dbcount("(submit_id)", DB_SUBMISSIONS, $where);


Bearbeitet von Rolly8-HL am 29. Juni 2016 11:27:51
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
Information:
PHP Version: Nicht ausgewählt •  MySQL Version: Nicht ausgewählt •  PHP-Fusion: Nicht ausgewählt
 
Springe ins Forum: