Prevod cisla do alfanumerického stringu – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Prevod cisla do alfanumerického stringu – PHP – Fórum – Programujte.comPrevod cisla do alfanumerického stringu – PHP – Fórum – Programujte.com

 

marioff0
Expert
23. 12. 2009   #1
-
0
-

Zdravim,

potreboval by som urobit algoritmus, ktory bude z nejakeho cisla (napr. zo mysql_insert_id();) generovat znaky a cisla, nieco na principe hexdec atd... Ale chcel by som tam mat vsetky znaky 0-9a-z

ukazka:
1 ------- 1
11 ------ a
55 ------ napr. 0c
5465 ----- napr. cj
atd atd.....

potrebujem to ako jednoznacny identifikator, ktory bude vo web adrese, vypocitany na zaklade auto_increment z db, a na nic rozumne neviem prist :(

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
KIIV
~ Moderátor
+43
God of flame
23. 12. 2009   #2
-
0
-

co base64 ?

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
marioff0
Expert
23. 12. 2009   #3
-
0
-

KIIV napsal:
co base64 ?

nie nie... ide mi o "postupnost" znakov... teda napr. 0..1..2...3....f....z......01.....0g......5c......zz.....001.....0hj.... co neni s base64 mozne :(

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
KIIV
~ Moderátor
+43
God of flame
23. 12. 2009   #4
-
0
-

To marioff : aha takze prevod mezi soustavama ..

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
marioff0
Expert
23. 12. 2009   #5
-
0
-

no da sa to tak povedat... zatial ma len napadlo taketo nieco....

v poli budu znaky:

function prevod2($cislo) {

$znaky=array(1=>"1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");


kedze je ich spolu 35, cislo ktore sa bude prevadzat sa nim bude delit...

napr. mas previest: 555

555 / 35 = 15
555 - (15 * 35) = 30

cize vysledok bude 15.ty a 30.znak v poli: fu

lenze ako nahle bude cislo vacsie ako 35 * 35 (teda 3 znaky) to uz nejak neviem vyriesit... teda neviem postavit funkciu (na 2 znaky uz mam)... nemam asi svoj den :(

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
KIIV
~ Moderátor
+43
God of flame
23. 12. 2009   #6
-
0
-

nezapomen na 0

ja to delavam obvykle v C, ale v php by to vypadalo asi takto:

while ( $cislo > 0 ) {
$vysledek = $znaky[$cislo % $zaklad] . $vysledek;
$cislo = floor($cislo/$zaklad);
}

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
marioff0
Expert
23. 12. 2009   #7
-
0
-

KIIV teba je tu skoda :) .... vali to , a vyzera ze dobre... idem co ocekovat detailne... obrovskéééééééééééééé dik..

ale nasiel som predsa chybu:

ked je cislo = pocet poloziek v poli tak mi zobrazi prvu (teda 0)

$znaky=array(1=>"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");

$cislo=36;
while ( $cislo > 0 ) {
$vysledek = $znaky[$cislo % 36] . $vysledek;
$cislo = floor($cislo/36);
}
echo $vysledek;


fakt nemam svoj den :( , samozrejme ze pole musi zacinat od kluca 0, nie 1.... a si ma nato aj upozornil.... no nic tu je funkcna verzia pre niekoho kto to bude tiez potrebovat:

function prevod($cislo) {

$znaky=array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
while ( $cislo > 0 ) {
$vysledek = $znaky[$cislo % 36] . $vysledek;
$cislo = floor($cislo/36);
}
return $vysledek;
}

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 21 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý