Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z strlen
Forum PHP.pl > Forum > Przedszkole
dopal
Witam,

Mam taki problem. Pobieram sobie z bazy ( niestety nie moja, nie mam wpływu na jej strukturę ) dane na podstawie poniższego zapytania.
  1. $query3a="SELECT DADWNZ, DADWIM, DADWPS FROM OSOBY WHERE ID='$id_gen'";
  2. $result3a = odbc_exec($connect, $query3a) or die( odbc_error());
  3.  
  4. $naz_bk1a = trim(odbc_result($result3a, 1));
  5. $imi_bk1a = trim(odbc_result($result3a, 2));
  6.  
  7.  
  8. $pes_bka1 = trim(odbc_result($result3a, 3));
  9.  

Problem pojawia się przy $pes_bka1. Zmienna ta pobiera pole pesel z tabeli. Gdy pesel był w postaci 11 cyfr np. 98010112345 nie było problemu. Problem pojawiał się z osobami urodzonymi w roku 2000 i kolejnymi latami, gdyż na początku peselu
widnieją cyfry 00 np. 00110112345, a w zmiennej wyświetla się 110112345.

wiec pomyślałem, że będę zliczał znaki i dodawał brakujące 0 na początku
  1.  
  2. if (strlen ($pes_bka1==11) ){
  3.  
  4. $r_tekst = '00'.$pes_bka1.'';
  5. }
  6. elseif (strlen ($pes_bka1==10)){
  7.  
  8. $r_tekst = '0'.$pes_bka1.'';
  9. }
  10. elseif (strlen ($pes_bka1==9)){
  11.  
  12. $r_tekst = '0'.$pes_bka1.'';
  13. }
  14. else {
  15.  
  16. $r_tekst = ''.$pes_bka1.'';
  17. }
  18.  
  19. echo $r_tekst;
  20.  


Ale przy takim zapisie mi to niestety nie działa i wyświetla taką ilość znaków jak pobrał z bazy. Ktoś wie w czym może być problem lub jak to inaczej zrobić?
dopal
Cytat(trueblue @ 23.01.2018, 10:04:32 ) *

Jesli chodzi o zmianę typu pola w bazie, to nie mogę tego zrobić.

Jeśli robię
  1. echo strlen ($pes_bka1);

To wyświetla mi się zliczona ilość znaków ze zmiennej np. 11 czy 9
Pytanie dlaczego przy stosowaniu warunków nie są wprowadzane zmiany i dodane np. 00
trueblue
Sprawdzałeś linki, które podałem?
dopal
Cytat(trueblue @ 23.01.2018, 11:12:51 ) *
Sprawdzałeś linki, które podałem?

tak
Jeśli miałeś ma myśli zmianę typu pola w bazie, to napisałem, że nie mogę tego zrobić. Chyba, że coś innego masz na myśli. Jeśli tak to nie rozumiem co.
trueblue
Przejrzyj je jeszcze raz. Dokładnie.
dopal
Cytat(trueblue @ 23.01.2018, 11:14:50 ) *
Przejrzyj je jeszcze raz. Dokładnie.

Ok. Chyba działa snitch.gif
Przynajmniej w jednym miejscu ( mało istotnym ). Teraz to przetestuję w istotnym miejscu programu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.