Najde nejvyšší číslo z DB a přičte 1

Nechápu to =D
Mám jednoduchej kód, kterej mi šáhne do databáze, vybere nejvyšší číslo a přičte k němu 1. Potom ještě zkontroluje, zda to číslo, které vytvořil (číslo+1) již neexistuje a pokud existuje, tak k němu bude přičítat 1 tak dlouho, dokud nebude jedinečné.
_______________________________________
// najde nejvyšší a přičte k němu +1
@$databaze = mysql_connect($server, $db_user, $db_pass)
or die("<font color=\"red\"><b><h3>Nelze navázat spojení s databází id!</h3></b></font>");
mysql_query("SET NAMES cp1250");
mysql_select_db($database);
$vypis=mysql_query("select * from web_navstevy order by cislo desc limit 1");
if (!$vypis):
echo "<font color=\"red\"><b><h3>Nemohu vypsat data!</h3></b></font>";
endif;
while ($zaznam = MySQL_Fetch_Array($vypis)) {
$id = $zaznam["cislo"];
if ($id < 11) {
$id = "10";
}
$iid = $id+1;
}

// zkontroluje, jestli $iid již neexistuje, pokud ano, tak bude dělat $iid++
@$databaze = mysql_connect($server, $db_user, $db_pass)
or die("<font color=\"red\"><b><h3>Nelze navázat spojení s databází id!</h3></b></font>");
mysql_query("SET NAMES cp1250");
mysql_select_db($database);
$vypis=mysql_query("select * from web_navstevy order by cislo desc limit 1");
if (!$vypis):
echo "<font color=\"red\"><b><h3>Nemohu vypsat data!</h3></b></font>";
endif;
while ($zaznam = MySQL_Fetch_Array($vypis)) {
while ($zaznam["cislo"] > $iid) {
$iid++;
}
}
_______________________________________
Teď mám ale zajímavej problém: tenhle kód krásně funguje, všechno dělá, jak má, ale jakmile se dostanu k číslu 100, tak přestane fungovat. Prostě jakmile by mělo bejt $iid 101, tak to nejde a pořád mi píše, že nejvyšší číslo v DB je 99, takže $iid musí bejt 100 - ale 100 už v databázi je zapsaná, ale prostě ji to nevidí. Nechápu to...
Tuší někdo, v čem je chyba?
:-O
Už to chápu, ale nevim, jak to vyřešit...
Když si v PHPMyAdminovi seřadim sloupec "cislo", tak mi vypíše tohle:
00,01,02,03,04,05,06,07,08,09,100,10,11,12...
Takže to stovku zařadí mezi 09 a 10 =D
Jak se tomu mám vyhnout? To MUSIM všechna čísla zapisovat takhle: 000000001,000000002,000000003...?
Ukaž strukturu tabulky web_navstevy, hlavně typ sloupce cislo.
Sloupec cislo je nastavenej na varchar(250)...
No jasně, těžko můžeš chtít po varchar, aby ti to řadil jako čísla. Pak je logické, že to je 01 02 100 11

Pokud chceš počítat, budeš ho muset změnit na INT (jsou i SMALLINT, TINYINT - podle toho, co potřebuješ).
Jéžiš, tak že to bude v tomhle by mě nikdy nenapadlo =D
Díky!