| 
	
 | 
 
           
             
               
               
                 
                   | 
                   Тема
                    | 
                     запис на телефон в база данни 
 | 
 
 |  
| Автор | 
nilam (непознат
) |  
| Публикувано | 28.07.08 16:16 |  
             |  
           | 
            
           
  Здравете!
 Записвам телефонен номер с php и mysql в база, но нулите в началото на номера изчезват. Пробвах с различни формати на полето,  но - все същото.
 Някой може ли да ми помогне?
 
 Редактирано от nilam на 28.07.08 16:17. 
           
  
             |   |  
           
             
               
               
                 
                   | 
                   Тема
                    | 
                     Re: запис на телефон в база данни 
[re: nilam]
 | 
 
 |  
| Автор | 
AйeзCeдaй ((бойна)) |  
| Публикувано | 28.07.08 16:29 |  
             |  
           | 
            
           
  Не, не сипробвал със всички.
 Полето го направи varchar2, т.е текст. С определена големина разбира се. Примерно 50. Знам ли какви тел ще записваш....
  
           
  
             |   |  
           
             | 
               
                |  
           | 
            
           
  Има някакъв стандарт и той е под 20 - ама това са подробности разбира се.
  Bеer? Mоre?
 
 
           
  
             |   |  
           
             
               
               
                 
                   | 
                   Тема
                    | 
                     Re: запис на телефон в база данни 
[re: nilam]
 | 
 
 |  
| Автор | 
bira_more (бира) |  
| Публикувано | 28.07.08 18:18 |  
             |  
           | 
            
           
  инсърта трябва да е нещо от сорта:
 $mynum = '0088216xxxxxxxxxx';
 insert into creten set num = '$mynum';
  Bеer? Mоre?
 
 
           
  
             |   |  
           
             
               
               
                 
                   | 
                   Тема
                    | 
                     Re: запис на телефон в база данни 
[re: nilam]
 | 
 
 |  
| Автор | 
v45O (безинтересен) |  
| Публикувано | 29.07.08 17:10 |  
             |  
           | 
            
           
  Нулите може да си ги добавиш през php-то. Ако искаш нули полето трябва да е varchar или varchar2 за Oracle.
 Идеята е полето да е цифрово а не varchar понеже как би индексирал avrchar поле. 
 Може разбирасе, но е доста бавничко когато натрупаш добро количество записи.
 Затова ги разкарвай тези нули и после само си ги вади при разпечатка например :)
 Слагай си полето да е number.
 Освен това по стандарт телефоният номер не може да надвърля 12 цифри.Редактирано от v45O на 29.07.08 17:13. 
           
  
             |   |  
           
             
               
               
                 
                   | 
                   Тема
                    | 
                     Re: запис на телефон в база данни
[re: v45O]
 | 
 
 |  
| Автор | 
headhunter (huntz orcxez) |  
| Публикувано | 30.07.08 13:52 |  
             |  
           | 
            
           
  Varchar също може се индексира с bTree*. Все пак дори стринговете подлежат на сортиране и може да е достатъчно бързо, ако са достатъчно кратки. А ако е по-дълъг от, да кажем 10 байта, може да ползва битмап индекс.
 Не мога да се сетя повод да индексирам телефон... в смисъл, има ли случай да знаеш телефонния номер и да не знаеш човека, че да търсиш по телефон? Виж, ако става дума за търсене по кънтри или ареа код, там нещата са други..
  General Protection Fault in module 0xDEEBAA. Рестартирайте държавата!
           
  
             |   |  
           
             
               
               
                 
                   | 
                   Тема
                    | 
                     Re: запис на телефон в база данни 
[re: headhunter]
 | 
 
 |  
| Автор | 
v45O (безинтересен) |  
| Публикувано | 30.07.08 16:33 |  
             |  
           | 
            
           
  Естествено, че може да се индексира и по varchar. Проблемът е колко големи ще станат индексите :) 
 Едно е да индексираш по varchar а друго по numeric. Начин да се индексира по varchar с bitmap не е идейно. Помисли какво би се случило с битмап индекс при 10000 различни номера.
 Представи си, че натрупаш над 1000000 записа и се наложи да правиш справки за периода ...
 
 Редактирано от v45O на 30.07.08 16:56. 
           
  
             |   |  
           
             
               
               
                 
                   | 
                   Тема
                    | 
                     Re: запис на телефон в база данни 
[re: v45O]
 | 
 
 |  
| Автор | 
headhunter (huntz orcxez) |  
| Публикувано | 31.07.08 10:26 |  
             |  
           | 
            
           
  Вярно. 
 Битмап индекса е по-добре да се използва ако варчаровете са ключ в някоя dictionary таблица.
 За телефони, е-маил и подобни 'рандъмс' би било самоубийство .
  General Protection Fault in module 0xDEEBAA. Рестартирайте държавата!
           
  
             |   |  
           
             
               
               
                 
                   | 
                   Тема
                    | 
                     Re: запис на телефон в база данни 
[re: bira_more]
 | 
 
 |  
| Автор | 
O!Sag (гуулем гъзар) |  
| Публикувано | 26.10.08 23:31 |  
             |  
           | 
            
           
  Стандарта е за 13 символа, но не се спазва.
 Особено в Германия, Австрия, тук там и още в БГ.
 
 По темата: направи си типа на колоната CHAR, VARCHAR, BINARY, VARBINARY и ще се записват и нулите.
  --
 
           
  
             |   |  
  |   
 
 
 |  
 |   
 |