MyBB.de Forum

Normale Version: Präfixauswahl erzwingen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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.
So geht es einfacher:
Code:
SELECT count(*)  FROM mybb_threadprefixes WHERE CONCAT(',',forums,',') LIKE '%,2,%'
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.
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;

Seiten: 1 2