Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Präfixauswahl erzwingen
#11
Oweia- tatsächlich scheint's nur zu klappen, wenn die gesuchte Id am Anfang der Aufzählung steht.

"2" und "2,3,5" werden gezählt, "1,2,3" dagegen nicht.


Wie sieht's denn damit aus?:
Code:
SELECT count( * ) FROM mybb_threadprefixes WHERE forums REGEXP '(2,)|2$'


"2" ist wieder die Beispiel-ID.
MfG,
Mithrandir

MyBB 1.6 im Intranet unter Ubuntu 10.04.1 Server
Zitieren
#12
So geht es einfacher:
Code:
SELECT count(*)  FROM mybb_threadprefixes WHERE CONCAT(',',forums,',') LIKE '%,2,%'
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#13
Ja, das ist natürlich besser lesbar als so'n Regexp-Gedöns. Wink


Gibt es Erkenntnisse bzgl. Performance-Unterschieden zwischen LIKE und REGEXP? Nachtrag: Okay, die ersten Google-Ergebnisse sprechen für deine Variante.
MfG,
Mithrandir

MyBB 1.6 im Intranet unter Ubuntu 10.04.1 Server
Zitieren
#14
Hallo noch einmal,

um meinen Vorschlag aus Beitrag #6 noch einmal zum Abschluss zu bringen, hier hoffentlich funktionierender Code, der die Präfixe besser abfragt:

PHP-Code:
function verify_prefix()
{
global 
$db;
$fid = &$this->data['fid'];
$prefix = &$this->data['prefix'];

// If a valid prefix isn't supplied, don't assign one.
if(!$prefix || $prefix 1)
 {
  
$query $db->simple_select("threadprefixes""COUNT(*) AS prefixcount""forums='-1' OR CONCAT(',',forums,',') LIKE '%,".$fid.",%'");
  
$prefixinthisforum $db->fetch_field($query"prefixcount");
  if (
$prefixinthisforum==0)
   {
    
$prefix 0;
   } 
  else {
    
$this->set_error("missing_prefix");
    return 
false;
  }
 }
return 
true;

MfG,
Mithrandir

MyBB 1.6 im Intranet unter Ubuntu 10.04.1 Server
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Präfixe erzwingen raba 2 1.598 14.07.2012, 08:43
Letzter Beitrag: raba