LÖST: Banner modd id nummer

Frågor kring MODdar (modifikationer) för phpBB 2.0.x.

Moderatorer: Moderatorgrupp, Supportgrupp

dallas
Extra aktiv medlem
Extra aktiv medlem
Inlägg: 196
Blev medlem: 2005-09-03 23:07
Svar: 0

LÖST: Banner modd id nummer

Inlägg av dallas »

när jag lägger in en ny banner i databasen och den skall få ett
"newid" så verkar det som om koden här räknar antalet som
finns i databasen oavsett idnummer.

Så här blir det när jag testat
om jag lagt in: id1, id2, id3, id4, id5

och sedan tar bort t.ex id2
då finns det 4st id kvar vilket innebär att när jag lägger in nästa
får den 4+1 vilket blir id5
men det finns ju redan och det blir också 2st id5 i databasen.
Jag har kollat med lite olika antal och det blir så.

Skall jag sedan ta bort en av dom två id5 så ryker ju båda två bort vilket inte är så lyckat.
(visserligen kan jag ta bort det i databasen direkt men det är ju inte meningen när jag kan sköta detta i aministrationspanelen)


här den aktuella koden tror jag
hela sidan finns annars i mitt andra inlägg om banner

hur får man det att nästa idnummer blir högre än det nuvarande högsta?
så inte två blir samma

dallas

Kod: Markera allt

//get the id of this new banner:
		//count all previous ones:
		$sql = "SELECT id"
			."		FROM ".$table_prefix."random_banners";
		if(! ($count_banners = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, "Could not count amount of banners!!", "", __LINE__, __FILE__, $sql);
		}
		$number_banners = $db->sql_numrows($count_banners);
		$newid = $number_banners + 1;
	//end getting new id
dallas
Extra aktiv medlem
Extra aktiv medlem
Inlägg: 196
Blev medlem: 2005-09-03 23:07
Svar: 0

Re: id nummer

Inlägg av dallas »

det är löst så här...
i filen admin/admin_banner.php

Find:

Kod: Markera allt

//get the id of this new banner: 
      //count all previous ones: 
      $sql = "SELECT id" 
         ."      FROM ".$table_prefix."random_banners"; 
      if(! ($count_banners = $db->sql_query($sql)) ) 
      { 
         message_die(GENERAL_ERROR, "Could not count amount of banners!!", "", __LINE__, __FILE__, $sql); 
      } 
      $number_banners = $db->sql_numrows($count_banners); 
      $newid = $number_banners + 1; 
   //end getting new id
Replace it with:

Kod: Markera allt

//get the id of this new banner: 
      //count all previous ones: 
      $sql = "SELECT MAX(id) as id" 
         ."      FROM ".$table_prefix."random_banners"; 
      if(! ($count_banners = $db->sql_query($sql)) ) 
      { 
         message_die(GENERAL_ERROR, "Could not count amount of banners!!", "", __LINE__, __FILE__, $sql); 
      } 
      $number_banners = $db->sql_fetchrow($count_banners); 
      $newid = $number_banners['id'] + 1; 
//end getting new id

sedan gjorde jag en ändring till för att få dom i ordning i administrationspanelen

Find:

Kod: Markera allt

//get all data:
	$sql = 'SELECT id, creator, path, url, url_hover FROM '.$table_prefix.'random_banners';
Replace it with:

Kod: Markera allt

//get all data:
	$sql = 'SELECT id, creator, path, url, url_hover FROM '.$table_prefix.'random_banners ORDER BY id';
dallas
Skriv svar

Vilka är online

Användare som besöker denna kategori: 1 och 0 gäst