Ahoj, potřeboval bych trochu poradit. Mám databázovou proměnou int(10) (projistotu) a když spustím dotaz na databázi tak mi vrátí výsledek př.: 0000000220,- . Potřeboval bych ořezat ty nuly na začátku. Vím že by to šlo pomocí formátování řetězců, ale nechce se mi aby skript u každé ceny zjišťoval kdy je nula a kdy už může začít vypisovat čísla. A taky se mi nechce věřit že na to neexistuje žádná funkce, která by to dělala. Poradí mi někdo?
Fórum › PHP
Ořezání nul na začátku z dotazu na mysql
pidgin
Měla by to zvládat ltrim()[1]. Ale to vracení nul na začátku se mi nějak nezdá. Opravdu je ten sloupec číselný? Neprochází výsledky z databáze ještě nějaký preprocessingem, než je vypisuješ?
[1] http://php.net/ltrim
Odpoveď na otázku: www.php.net/intval
1. int(10) zožerie rovnako veľa pamäte ako int(1). Ide len o šírku stĺpca - o to, že na koľko pozícií sa má číslo vypísať, keď za zavolá.
2. celočíselné stĺpce majú vlastnosť zerofill, ktorú má tvoj stĺpec nastavenú na true - kôli tomu sa ti to číslo doplní nulami. zmeň ten stĺpec na zerofill=0 a máš po probléme,
3. tú funkciu intval použi aj tak (aj keď vykonáš bod 2) PHP totiž z databázy získané hodnoty chápe ako stringy, a niekedy je lepšie, keď mu to vysvetlíš ručne.
Pochopil jsem z dotazu, že ty sám jsi tvůrce databáze a předpokládám, že to je MySQL. Proto při vytvoření databáze nenastavuj typ sloupce jako INT(10), ale jako INT. Ta desítka v závorce je prakticky k ničemu. Jediné co způsobuje je ten efekt, co jsi popsal, tedy doplnění čísla s méně než deseti číslicemi nulami ze zečátku, aby mělo deset číslic.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Mysql CACHE dotazu — založil Pavelv
Mysql zistenie vysledku dotazu — založil JannyM
Desetinné číslo v dotazu mysql? Proč nejde? — založil martinb1984
MySql, Java - kombinování více "podmínek :D" v SQL dotazu — založil santa58
SQLITE - Úprava MySQL dotazu pro použití v SQLITE — založil Ajtak
Moderátoři diskuze