Location: PHPKode > scripts > PuszBaza > puszbaza/PB_1_2_help.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
<TITLE>PuszBaza 1.2 help</TITLE>

<STYLE>
<!--
A        {color: #000082; text-decoration: none; font-family: Verdana; font-size: 11px; FONT-WEIGHT: bold;}
A:hover  {color: white; text-decoration: none; font-family: Verdana; font-size: 11px;}

BODY     {SCROLLBAR-FACE-COLOR: #395893; SCROLLBAR-ARROW-COLOR: white; SCROLLBAR-TRACK-COLOR: #2b3357;}
P        {TEXT-ALIGN: justify; COLOR: #000000; FONT-SIZE: 11px; FONT-FAMILY: Verdana; 
          MARGIN-LEFT: 3%; MARGIN-RIGHT: 4%; LINE-HEIGHT: 180%;}
SPAN     {FONT-SIZE: 11px; FONT-FAMILY: Verdana; COLOR: white; FONT-WEIGHT: bold; BACKGROUND: #395893;}
.uwaga   {BACKGROUND: red;}

H1       {FONT-FAMILY: Impact, Verdana, Arial; FONT-WEIGHT: bold; FONT-SIZE: 35pt; COLOR: #000082; MARGIN-LEFT: 3%;}
H2       {FONT-FAMILY: Verdana, Arial; FONT-WEIGHT: bold; FONT-SIZE: 15pt; COLOR: #000082; MARGIN-LEFT: 3%;}
H3       {FONT-FAMILY: Verdana, Arial; FONT-WEIGHT: bold; FONT-SIZE: 12pt; COLOR: #000082; MARGIN-LEFT: 3%;}

PRE      {MARGIN-LEFT: 6%; MARGIN-RIGHT: 3%; LINE-HEIGHT: 180%;}
HR       {COLOR: #395893; MARGIN-LEFT: 3%; MARGIN-RIGHT: 4%;}
TABLE    {BACKGROUND: white; MARGIN-LEFT: 3%; MARGIN-RIGHT: 3%; WIDTH: 93%;}
-->
</STYLE>
</HEAD>

<BODY BGCOLOR="#BCD0FE">
<H1>PuszBaza 1.2</H1>

<UL>
<LI><A HREF="#wprowadzenie">Wprowadzenie</A>
<LI><A HREF="#instalacja">Instalacja</A>
<LI><A HREF="#funkcje">Lista funkcji i zmiennych</A>
<LI><A HREF="#przegladanie">Przegl±danie wyników</A>
<LI><A HREF="#varia">Ró¿ne przydatne sztuczki</A>
<LI><A HREF="#plany">Plany</A>
</UL>

<HR>
<P>Autor, Micha³ &#8222;Puszkin&#8221; Marszalik, udostêpnia <B>PuszBazê</B> jako freeware. Mo¿esz 
j± kopiowaæ i u¿ywaæ na potrzeby prywatne lub komercyjne, ale nie mo¿esz jej sprzedawaæ. Autor nie
ponosi ¿adnej odpowiedzialno¶ci za efekty u¿ytkowania skryptu, jak i za jego sprawno¶æ:
korzystaj±c z PuszBazy robisz to na w³asn± odpowiedzalno¶æ. Wszelkie pytania proszê kierowaæ do <A
HREF="mailto:hide@address.com">hide@address.com</A>, natomiast uwagi w sprawie dokumentacji PuszBazy 
do <A HREF="mailto:hide@address.com?Subject=Uwagi do dokumentacji PuszBazy">Przemys³awa Jackowskiego</A>. 
Najnowsze wersje znajdziesz na stronie <A HREF="http://www.puszkin.polbox.pl/">http://www.puszkin.polbox.pl/</A>. </P>
<HR>

<A NAME="wprowadzenie"></A><H2>Wprowadzenie</H2>
<P>PuszBaza to bazodanowy skrypt napisany w PHP4 z my¶l± o osobach, które nie maj± dostêpu do MySQL 
czy PostgreSQL, a chc± szybko napisaæ skrypt obs³uguj±cy ksiêgê go¶ci, forum, sondê etc. &#8211; lub
nawet bardziej skomplikowany... PuszBaza dzia³a na plikach tekstowych (ang. &#8222;flat
files&#8221;) podobnych do csv (=&#8222;comma separated values&#8221;), tzn. o nastêpuj±cej
strukturze: w pierwszej linii nazwy pól, oddzielone ¶rednikami, za¶ kolejne rekordy &#8211; w
kolejnych liniach, np.: </P>

<PRE>
id;autor;tytul;
1;Agatha Christie;Z³o czai siê wszêdzie;
2;Arthur Conan Doyle;Studium w szkar³acie;
3;Raymond Chandler;¯egnaj laleczko;
</PRE>

<P>Jedyn± ró¿nic± pomiedzy formatem u¿ywanym przez PuszBazê a csv jest konieczno¶æ umieszczenia
¶rednika <B>po ostatnim polu</B>, tj. na koñcu ka¿dej linii. Na potrzeby tego dokumentu pliki z
danymi bêd± mia³y rozszerzenie <B>pbf</B> (=&#8222;PuszBaza format&#8221; ;-) choæ naprawdê mo¿e 
byæ ono dowolne (np. txt). </P>

<P>Aby korzystaæ z PuszBazy, wystarczy wpisaæ jednolinijkow± komendê: </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
include "puszbaza.php";
?&gt;</PRE></TD></TR></TABLE>

<P><SPAN>&nbsp;PODPOWIED¬:&nbsp;</SPAN> Aby strony korzystaj±ce z PuszBazy ³adowa³y siê szybciej 
do przegl±darki, mo¿na wykasowaæ z pliku <B>puszbaza.php</B> komentarze oraz funkcje, z których 
siê nie bêdzie korzysta³o, np. <B>delete_pb</B> czy <B>update_pb</B>. </P>

<P><SPAN>&nbsp;PODPOWIED¬:&nbsp;</SPAN> Plikowi z baz± danych (*.pbf, *.txt) nale¿y nadaæ prawa 
zapisu dla wszystkich, inaczej zostanie wy¶wietlony komunikat <B>Permission denied</B> (=&#8222;dostêp
zabroniony&#8221;). Ka¿dy program do ftp (tak¿e popularny Windows Commander) ma mo¿liwo¶æ zmiany 
praw dostêpu do plików. </P>

<P><SPAN>&nbsp;UWAGA:&nbsp;</SPAN> Baza nie ma najmniejszych nawet zabezpieczeñ. Je¿eli kto¶ 
zorientuje siê, jaka jest nazwa pliku z danymi, bêdzie móg³ bez problemu je obejrzeæ. </P>

<HR>

<A NAME="instalacja"></A><H2>Instalacja</H2>
<P>Instalacja PuszBazy nie jest potrzebna &#8211; po prostu wgraj plik <B>puszbaza.php</B> tam,
gdzie trzymasz pozosta³e pliki projektu; to wszystko! </P>

<HR>

<A NAME="funkcje"></A><H2>Lista funkcji i zmiennych</H2>
<UL>
<LI><A HREF="#connect">connect_pb</A>
<LI><A HREF="#select">select_pb</A>
<LI><A HREF="#count">count_pb</A>
<LI><A HREF="#insert">insert_pb</A>
<LI><A HREF="#update">update_pb</A>
<LI><A HREF="#delete">delete_pb</A>
</UL>

<HR>
<A NAME="connect"></A><H3>connect_pb</H3>

<P><SPAN>&nbsp;SK£ADNIA:&nbsp;</SPAN> connect_pb("nazwa_pliku"); </P>

<P><SPAN>&nbsp;OPIS SK£ADNI:&nbsp;</SPAN> <BR> 
<B>nazwa_pliku</B> to nazwa pliku tekstowego, zawieraj±cego kolejne rekordy, o dowolnym 
rozszerzeniu; pola musz± byæ oddzielone ¶rednikami; mo¿na u¿yæ ¶cie¿ki dostêpu. </P>

<P><SPAN>&nbsp;CEL:&nbsp;</SPAN> Funkcja <B>connect_pb</B> ³±czy z plikiem danych. </P>

<P><SPAN>&nbsp;PRZYK£AD 1:&nbsp;</SPAN> dla pliku <B>data.pbf</B> po³±czenie wygl±da nastêpuj±co: </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
$conn = connect_pb("data.pbf");
?&gt;</PRE></TD></TR></TABLE>

<P>Plik z danymi mo¿e znajdowaæ siê w innym katalogu ni¿ <B>puszbaza.php</B>: </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
$conn = connect_pb("moje_bazy/ta_baza/data.pbf");
?&gt;</PRE></TD></TR></TABLE>

<P>Mo¿na te¿ u¿yæ zmiennej: </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
$nazwa_pliku = "moje_bazy/ta_baza/data.pbf";
$conn = connect_pb($nazwa_pliku);
?&gt;</PRE></TD></TR></TABLE>

<P>Funkcja <B>connect_pb</B> zwraca zmienn± (tablicê ze wszystkimi warto¶ciami), na której mo¿na 
dokonywaæ intrukcji <A HREF="#select">select_pb</A>. Po pojedynczym wywo³aniu <B>connect_pb</B> 
mo¿na wielokrotnie u¿ywaæ <B>select_pb</B>; je¶li jednak w miêdzyczasie plik z danymi zosta³ 
zmieniony (np. na skutek u¿ycia <A HREF="#insert">insert_pb</A>, nale¿y ponownie u¿yæ 
<B>connect_pb</B>. </P>

<HR>
<A NAME="select"></A><H3>select_pb</H3>

<P><SPAN>&nbsp;SK£ADNIA:&nbsp;</SPAN> select_pb($conn,'pole','warunek'[,'pole_do_sortowania'][,'sposób_sortowania']); </P>

<P><SPAN>&nbsp;OPIS SK£ADNI:&nbsp;</SPAN><BR>
<B>$conn</B> &#8211; zmienna zwrócona przez funkcjê <B>connect_pb</B> <BR>
<B>pole</B> &#8211; nazwa pola, do której odnosi siê warunek <BR>
<B>warunek</B> &#8211; warunek PHP (czyli np. &#8222;równa siê&#8221; to <B>==</B>, &#8222;nie równa siê&#8221;
to <B>!=</B> etc.); zamiast nazwy kolumny nale¿y wstawiæ <B>x</B> <BR>
<B>pole_do_sortowania</B> &#8211; nazwa pola, wed³ug której ma siê odbywaæ sortowanie (opcjonalnie) <BR>
<B>sposób_sortowania</B> &#8211; mo¿e byæ <B>ASC</B> (rosn±co) b±d¼ <B>DESC</B> (rosn±co) (opcjonalnie; 
domy¶lnie jest <B>ASC</B>) </P>

<P><SPAN>&nbsp;CEL:&nbsp;</SPAN> Funkcja <B>select_pb</B> pozwala wy¶wietliæ wybrane (zgodnie z 
warunkiem lub warunkami) dane z pliku i odpowiednio je uszeregowaæ (posortowaæ). </P>

<P><SPAN>&nbsp;PRZYK£AD 2:&nbsp;</SPAN> wyszukaj wszystkie rekordy, dla których warto¶æ <B>id</B> jest
wiêksza ni¿ 2 i uszereguj je rosn±co wg pola <B>id</B>:</P>

<TABLE><TR><TD><PRE>
&lt;?PHP
$conn = connect_pb("data.pbf");
$wynik = select_pb($conn,"id","x > 2",'id',"ASC");
?&gt;</PRE></TD></TR></TABLE>

<P><SPAN>&nbsp;UWAGA:&nbsp;</SPAN> Jako warunek mo¿na u¿yæ dowolnej funcji PHP, zwracaj±cej 
w wyniku <B>true</B> b±d¼ <B>false</B>, np. warunkiem mo¿e byæ <B>ereg('2',x)</B> (co dzia³a 
podobnie jak <B>like</B> w SQLu) &#8211; nale¿y pamiêtaæ o u¿ywaniu apostrofów. </P>

<P><SPAN>&nbsp;PRZYK£AD 3:&nbsp;</SPAN> wyszukaj wszystkie rekordy, w których pole <B>tytul</B>
zawiera frazê <B>cie</B>, i uszereguj je rosn±co wed³ug pola <B>id</B>: </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
$wynik = select_pb($conn,"tytul","ereg('cie',x)",'id',"ASC");
?&gt;</PRE></TD></TR></TABLE>

<P><SPAN>&nbsp;PRZYK£AD 4:&nbsp;</SPAN> Czy mo¿na u¿yæ do selekcji wiêcej ni¿ jednego warunku? Mo¿na,
jednak trzeba zastosowaæ koniunkcjê warunków, tzn. u¿ywaæ tylko AND (u¿ycie OR oraz nawiasów da
w rezultacie komunikat o b³êdzie). We wszystkich warunkach nale¿y u¿yæ <B>x</B>; PuszBaza sama
podstawi odpowiednie nazwy pól pod kolejne warunki, trzeba tylko pamiêtaæ, ¿eby liczba pól 
oddzielonych AND równa³a siê liczbie warunków tak¿e oddzielonych AND. Uwaga: 1) AND musi byæ pisane 
wielkimi literami; 2) trzeba podaæ nazwê pola, wg którego wyniki <B>select_pb</B> maj± zostaæ 
posortowane. W poni¿szym przyk³adzie zostan± wybrane wszystkie rekordy, dla których warto¶æ pola 
<B>id</B> jest wiêksza lub równa 1 i mniejsza ni¿ 3, a warto¶æ pola <B>data</B> jest wcze¶niejsza 
ni¿ 12 marca 2001 r. i posortowane wg pola <B>id</B>: </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
$wynik = select_pb ($conn,"id AND id AND data","x >= 1 AND x < 3 AND mktime(x) < mktime('12-3-2001')","id") 
?&gt;</PRE></TD></TR></TABLE>

<HR>

<A NAME="count"></A><H3>count_pb</H3>

<P><SPAN>&nbsp;SK£ADNIA:&nbsp;</SPAN> count_pb($wynik); </P>

<P><SPAN>&nbsp;OPIS SK£ADNI:&nbsp;</SPAN><BR>
<B>$wynik</B> &#8211; zmienna otrzymana z funkcji <A HREF="#select">select_pb</A> </P>

<P><SPAN>&nbsp;CEL:&nbsp;</SPAN> Funkcja <B>count_pb</B> zwraca liczbê rekordów (czyli wierszy pliku 
z danymi), odpowiadaj±c± warunkowi postawionemu w <A HREF="#select">select_pb</A>.

<P><SPAN>&nbsp;PRZYK£AD 5:&nbsp;</SPAN> podaj liczbê rekordów, dla których warto¶æ <B>id</B> jest
wiêksza ni¿ 2: </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
$conn = connect_pb("data.pbf");
$wynik = select_pb($conn,"id","x > 2",'id',"ASC");
$liczba = count_pb($wynik);
?&gt;</PRE></TD></TR></TABLE>

<HR>
<A NAME="insert"></A><H3>insert_pb</H3>

<P><SPAN>&nbsp;SK£ADNIA:&nbsp;</SPAN> insert_pb("nazwa_pliku","rekord"); </P>

<P><SPAN>&nbsp;OPIS SK£ADNI:&nbsp;</SPAN><BR>
<B>nazwa_pliku</B> &#8211; nazwa pliku z baz± danych <BR>
<B>rekord</B> &#8211; pe³ny rekord, tj. z wszystkimi polami zadeklarowanymi w pierwszej linii
pliku z danymi </P>

<P><SPAN>&nbsp;CEL:&nbsp;</SPAN> Funkcja <B>insert_pb</B> pozwala dopisaæ nowy rekord (czyli kolejny 
wiersz do pliku z danymi). </P>

<P><SPAN>&nbsp;PRZYK£AD 6:&nbsp;</SPAN> </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
insert_pb("data.pbf","4;Ross McDonald;Sprawa Galtona;");
?&gt;</PRE></TD></TR></TABLE>

<P><SPAN>&nbsp;UWAGA:&nbsp;</SPAN> Nale¿y pamiêtaæ, ¿e w <B>rekord</B> nie mog± wystêpowaæ 
¶redniki inne ni¿ te oddzielaj±ce pola, inaczej bêdzie tych pól nieco wiêcej :) Aby siê przed tym
zabezpieczyæ, mo¿na u¿yæ funkcji <B>ereg_replace()</B>: </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
$wartosc1 = ereg_replace(";","",$wartosc1);
$wartosc2 = ereg_replace(";","",$wartosc2);
$wartosc3 = ereg_replace(";","",$wartosc3);
insert_pb("data.pbf","$wartosc1;$wartosc2;$wartosc3;")
?&gt;</PRE></TD></TR></TABLE>

<P>Aby jednak &#8222;przemyciæ&#8221; ¶rednik, który jest czêsto u¿ywany np. przy wpisach do
ksiêgi go¶ci czy forum, wystarczy przed u¿yciem <B>insert_pb</B> zamieniæ go na inny ci±g 
znaków, np.: </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
$wartosc = ereg_replace(";","##srednik##",$wartosc);
?&gt;</PRE></TD></TR></TABLE>

<P>a po <B>select_pb</B> przywróciæ mu dawny wygl±d :) </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
$wartosc = ereg_replace("##srednik##",";",$wartosc);
?&gt;</PRE></TD></TR></TABLE>

<HR>
<A NAME="update"></A><H3>update_pb</H3>

<P><SPAN>&nbsp;SK£ADNIA:&nbsp;</SPAN> update_pb("nazwa_pliku","pole","warunek",
 "klucz","wartosc"); </P>

<P><SPAN>&nbsp;OPIS SK£ADNI:&nbsp;</SPAN><BR>
<B>nazwa_pliku</B> &#8211; nazwa pliku z baz± danych <BR>
<B>pole</B> &#8211; nazwa pola, do którego odnosi siê <B>warunek</B> <BR>
<B>warunek</B> &#8211; warunek PHP (jak w <A HREF="#select">select_pb</A>)<BR>
<B>klucz</B> &#8211; pole, którego warto¶ci bêd± zmieniane <BR>
<B>wartosc</B> &#8211; warto¶æ, jak± przyjmie pole <B>klucz</B> </P>

<P><SPAN>&nbsp;CEL:&nbsp;</SPAN> Funkcja <B>update_pb</B> pozwala zmieniæ dane w jednym lub wiêcej
rekordach bazy danych. </P>

<P><SPAN>&nbsp;PRZYK£AD 7:&nbsp;</SPAN> aby w bazie wszystkim rekordom powy¿ej drugiego zmieniæ
warto¶æ pola <B>autor</B> na &#8222;Ross MacDonald&#8221;, nale¿y u¿yæ: </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
update_pb("data.pbf","id","x > 2","autor","Ross MacDonald");
?&gt;</PRE></TD></TR></TABLE>

<HR>
<A NAME="delete"></A><H3>delete_pb</H3>

<P><SPAN>&nbsp;SK£ADNIA:&nbsp;</SPAN> delete_pb("nazwa_pliku","pole","warunek"); </P>

<P><SPAN>&nbsp;OPIS SK£ADNI:&nbsp;</SPAN><BR>
<B>nazwa_pliku</B> &#8211; nazwa pliku z baz± danych <BR>
<B>pole</B> &#8211; nazwa pola, do którego odnosi siê <B>warunek</B> <BR>
<B>warunek</B> &#8211; warunek PHP (jak w <A HREF="#select">select_pb</A>) </P>

<P><SPAN>&nbsp;CEL:&nbsp;</SPAN> Funkcja <B>delete_pb</B> pozwala skasowaæ dowolny rekord, 
odpowiadaj±cy <B>warunkowi</B>. </P>

<P><SPAN>&nbsp;PRZYK£AD 8:&nbsp;</SPAN> skasuj wszystkie rekordy, w których pole <B>autor</B> ma warto¶æ
&#8222;Ross MacDonald&#8221;: </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
delete_pb("data.pbf","autor","x == 'Ross MacDonald'");
?&gt;</PRE></TD></TR></TABLE>

<HR>

<A NAME="przegladanie"></A><H2>Przegl±danie wyników</H2>

<P><SPAN>&nbsp;PRZYK£AD 9:&nbsp;</SPAN> aby wy¶wietliæ wszystkie rekordy, mo¿na napisaæ: </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
include "puszbaza.php";
$conn = connect_pb("data.pbf");
$wynik = select_pb($conn,"id","x > -1",'id',"ASC");
$liczba = count_pb($wynik);

for($i=0; $i < $liczba; $i++)
    {
    $id = $wynik["id"][$i];
    $autor = $wynik["autor"][$i];
    $tytul = $wynik["tytul"][$i];
    echo "$id) $autor: &lt;B>$tytul&lt;/B> &lt;BR>";
    }
?&gt;</PRE></TD></TR></TABLE>

<P>Rezultat bêdzie nastêpuj±cy: </P>
<TABLE><TR><TD>
1) Agatha Christie: <B>Dwana¶cie prac Herkulesa</B><BR>
2) Arthur Conan Doyle: <B>Studium w szkar³acie</B><BR>
3) Joe Alex: <B>Cicha jak ostatnie tchnienie</B>
</TD></TR></TABLE>

<P>Warunkiem celowo jest "x > -1": dziêki temu zostan± wy¶wietlone wszystkie rekordy ³±cznie z tym,
dla którego <B>id</B> równa siê 0. </P>

<P><SPAN>&nbsp;PODPOWIED¬:&nbsp;</SPAN> Aby wy¶wietliæ <B>wszystkie</B> rekordy w przypadku, je¶li 
brak jest pola <B>id</B>, nale¿y dzia³aæ na wyniku <B>connect_pb</B> tak, jakby to by³ wynik 
<B>select_pb</B>: </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
include "puszbaza.php";
$conn = connect_pb("data.pbf");
$liczba = count_pb($conn);

for($i=0; $i < $liczba; $i++)
    {
    $id = $conn["id"][$i];
    $autor = $conn["autor"][$i];
    $tytul = $conn["tytul"][$i];
    echo "$id) $autor: &lt;B>$tytul&lt;/B> &lt;BR>";
    }
?&gt;</PRE></TD></TR></TABLE>

<HR>

<A NAME="varia"></A><H2>Ró¿ne przydatne sztuczki</H2>

<H3>max, min, sum</H3>

<P>S³u¿± do wyznaczenia kolejno: pola o najwiêkszej warto¶ci, najmniejszej warto¶ci oraz sumy 
warto¶ci pól. </P>

<P><SPAN>&nbsp;PRZYK£AD 10:&nbsp;</SPAN> </P>

<TABLE><TR><TD><PRE>
&lt;?PHP
include "puszbaza.php";
$conn = connect_pb("data.pbf");
$wynik = select_pb($conn,"id","x > -1",'id',"ASC");

if ($wynik != 0) $id_max = max($wynik["id"]);
if ($wynik != 0) $id_min = min($wynik["id"]);
if ($wynik != 0) $id_sum = array_sum($wynik["id"]);
?&gt;</PRE></TD></TR></TABLE>

<HR>

<H3>$data</H3>

<P>Jak zapisaæ datê, ¿eby móc pó¼niej w ³atwy sposób sortowaæ (ASC lub DESC) wpisy wed³ug niej?
Mo¿na to zrobiæ, wstawiaj±c jedn± liniê: </P>

<TABLE>
<TR><TD><PRE>&lt;?PHP
$data = date("ymdHi");
?&gt;</PRE></TD></TR>
</TABLE>

<P>W ten sposób w zmiennej <B>$data</B> zostanie zapisana data w formacie <B>rrmmddggmm</B>, czyli
np. 0205122045 (= <B>12.05.02, 20:45</B>). Poniewa¿ rok zapisany jest na pierwszym miejscu,
nastêpnie miesi±c, dzieñ etc., daty mo¿na sortowaæ porównuj±c je jak liczby: 0205122045 jest wiêksze
ni¿ np. 0203251212 (=25.03.02, 12:12), czyli pierwsza wymieniona data jest pó¼niejsza ni¿ druga.
Uwaga: ten sposób dzia³a tylko dla dat od roku 2000; ¿eby porównywaæ i daty wcze¶niejsze, trzeba do
zapisu roku u¿yæ czterech cyfr, tzn. </P>

<TABLE>
<TR>
<TD><PRE>&lt;?PHP
$data = date("YmdHi");
?&gt;</PRE></TD></TR>
</TABLE>

<P>Jak zamieniæ ten format daty na &#8222;normalny&#8221;? Na przyk³ad tak: </P>

<TABLE>
<TR>
<TD><PRE>&lt;?PHP
function data_norm($var)
{
$var = $var[4].$var[5].'.'.$var[2].$var[3].'.'.$var[0].$var[1].', '.$var[6].$var[7].':'.$var[8].$var[9];
return $var;
}
?&gt;</PRE></TD></TR>
</TABLE>

<P><SPAN>&nbsp;PRZYK£AD 11:&nbsp;</SPAN></P>

<TABLE>
<TR>
<TD><PRE>&lt;?PHP
$zmienna = '0203251212';
echo data_norm($zmienna);
?&gt;</PRE></TD></TR>
</TABLE>

<P>...da w rezultacie: </P>

<TABLE>
<TR>
<TD><PRE>25.03.02, 12:12</PRE></TD></TR>
</TABLE>

<HR>

<A NAME="plany"></A><H2>Plany</H2>

<P>Je¶li masz pomys³ na jak±¶ dodatkow± funkcjê, to <A HREF="mailto:hide@address.com">napisz do mnie</A>! </P>

</BODY>
</HTML>
Return current item: PuszBaza