Sida 1 av 1

LÖST: Banner modd id nummer

Postat: 2005-12-29 18:12
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

Re: id nummer

Postat: 2006-01-01 10:24
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