Kom ihåg mig?
Home Menu

Menu


Samla värde från stort dynamiskt antal tabeller?

Ämnesverktyg Visningsalternativ
Oläst 2007-10-11, 05:52 #1
FredrikNass avatar
FredrikNas FredrikNas är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Oct 2006
Inlägg: 1 995
FredrikNas FredrikNas är inte uppkopplad
Bara ett inlägg till!
FredrikNass avatar
 
Reg.datum: Oct 2006
Inlägg: 1 995
Hejsan, jag har gått in lite i väggen på en fråga här:

Jag har en sida med 223 användare, alla användare har ett eget table som heter wp_"user-ID"_post, varje utav dessa innehåller ett antal inlägg.
user-ID är ju då alltså användarens ID

hur skulle en kodsnutt för att gå igenom dessa (just nu) 223 tables och samla ihop antalet rader i varje table se ut? Sen addera alla dessa värden till en variabel?

Mycket tacksam för hjälp med den här frågan!

MVH Fredrik Näs
FredrikNas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-10-11, 08:36 #2
jonny jonny är inte uppkopplad
Supermoderator
 
Reg.datum: Sep 2003
Inlägg: 6 941
jonny jonny är inte uppkopplad
Supermoderator
 
Reg.datum: Sep 2003
Inlägg: 6 941
Det luktar lite feldesign av databasen; egentligen, men om det är Wordpress MU kan du ju inte påverka så mycket.

Är det antalet inlägg i alla bloggar du vill få fram?
jonny är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-10-11, 11:33 #3
Daniel.sts avatar
Daniel.st Daniel.st är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 762
Daniel.st Daniel.st är inte uppkopplad
Mycket flitig postare
Daniel.sts avatar
 
Reg.datum: Jul 2006
Inlägg: 762
Ojoj, låter som databasen inte riktigt är normaliserad på rätt sätt. Om jag var du skulle jag ta mig en ordentlig funderare kring att designa om databasen innan jag gjorde något annat.

Vad kör du för db?
Daniel.st är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-10-11, 13:57 #4
FredrikNass avatar
FredrikNas FredrikNas är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Oct 2006
Inlägg: 1 995
FredrikNas FredrikNas är inte uppkopplad
Bara ett inlägg till!
FredrikNass avatar
 
Reg.datum: Oct 2006
Inlägg: 1 995
Ja precis jonny, jag försöker hämta sammanlagda antalet blogginlägg, sen göra samma med kommentarer.

Ja precis det är wordpressMu som är platformen,

DanielSt det är Mysql, lättare sagt än gjort att designa om databasen
FredrikNas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-10-11, 16:34 #5
Daniel.sts avatar
Daniel.st Daniel.st är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 762
Daniel.st Daniel.st är inte uppkopplad
Mycket flitig postare
Daniel.sts avatar
 
Reg.datum: Jul 2006
Inlägg: 762
Citat:
Originally posted by Novocain@Oct 11 2007, 13:57
Ja precis jonny, jag försöker hämta sammanlagda antalet blogginlägg, sen göra samma med kommentarer.
Ja precis det är wordpressMu som är platformen,
DanielSt det är Mysql, lättare sagt än gjort att designa om databasen
Då förstår jag bättre Tyvärr är jag ingen stjärna på MySQL. I SQL Server finns det en systemtabell man kan hämta alla tabellnamn ur, detta i kombination med en select union eller något liknande hade säkert fungerat. Går det inte att göra något liknande i MySQL?
Daniel.st är inte uppkopplad   Svara med citatSvara med citat
Oläst 2007-10-11, 21:04 #6
Jake.Nu Jake.Nu är inte uppkopplad
Medlem
 
Reg.datum: Oct 2006
Inlägg: 224
Jake.Nu Jake.Nu är inte uppkopplad
Medlem
 
Reg.datum: Oct 2006
Inlägg: 224
Man kan ordna så den slipper göra en fråga för varje tabell genom att gå igenom $tables och bygga upp en JOIN (inte vad jag gör nedan).

Kod:
$postcount = 0;
$tables = array();

$sql = mysql_query("SHOW TABLE STATUS FROM wordpress")or die(mysql_error());

while ($r = mysql_fetch_row($sql))
{
  if (preg_match("/wp_([0-9]+)_post/", $r[0], $match))
  {
    $tables[] = $match[1];
  }
}

foreach ($tables as $key => $id)
{
  $query = sprintf("SELECT COUNT(*) FROM wp_%u_post", $id);
  $sql  = mysql_query($query)or die(mysql_error());
  
  $postcount += mysql_result($sql, 0);
}

echo "Totalt: ", $postcount;

Senast redigerad av Jake.Nu den 2011-11-26 klockan 20:16
Jake.Nu är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 12:21.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017