Sem budu dávat nějaké svoje scripty a fce, které by se někomu mohly hodit.
Fórum › PHP
Některé PHP scripty - nevkládat další!
Tato fce prijima UNIX TIMESTAMP a vraci formatovany datum - den.mesic. hodina:minuta
function make_date($timestamp){
return date("j.n. H:i", $timestamp);
}
Sry, ale budou vsechny ty skripty a fce takhle slozite?
Pane CommanderZ, toto forum neni jenom pro Vas, jestli to jeste nezjistil ;) BTW proc jste nedelal moderatora, kdyz jste tak zbehly v PHP?
Jestli se to beres takhle tak sorry, omlouvam se to, jen mi tahle funkce prisla opravdu zbytecna - neni jednodussi proste zavolat rozvnou tu funkci date?
A moderatorstvim bych se byt tebou prilis neohanel, po case prijdes na to ze je to pekny opruz, protoze to znamena dany web navstevovat uz z povinnosti, ne proto ze se ti proste chce :ms_0029:
Proč to nevolám rovnou? Třeba proto, že mám objekt, kde jsou všechny funkce, které používám, abych měl přehled. Tak navíc není problém libovolně upravovat výstup. Dělám moderátora i proto, abych sem mohl dávat svoje funkce a scripty, mám nad tím lepší kontrolu. Opruz? Buď to dělat chci, nebo ne. ;)
Poradím ti, jak vyřešit tvůj problém bez té fce, jen s použitím fce date();. Definuj někde konstantu (pokud chceš mít po celém webu tvar data stejný), do které ulož tvar data (třeba to "j.n. H:i"), a tuto konstantu pak použij ve fci date:
date(FORMAT_DATA, $timestamp);
To xHire: toto je užitečnější ;)
Aj ja sem chcem vkladat skripty :P
Napisal som si skript pre vyber piatich nahodnych obrazkov z databazy galerie bez toho aby sa opakovali. Rozmyslal som nad roznymi sposobmi a toto sa mi zda asi najjednoduchsie
$query = "SELECT * FROM fotogaleria WHERE 1";
$result = mysql_query($query, $link);
$pocet_riadkov = mysql_num_rows($result);
for($i=0;$i<5;$i++)
{
if($i==0) $minimum = 1;
else $minimum = $zaznam[$i-1]+1;
$maximum = $pocet_riadkov - (5 - $i); //(5 - $i) je kvoli tomu aby sa hned nedosiahla maximalna hranica, pretoze potom sa nemusi zobrazit 5 obrazkov, ale menej
$nahodneID = rand($minimum, $maximum);
round($nahodneID);
$zaznam[$i] = $nahodneID;
}
for($i=0;$i<5;$i++)
{
$query = "SELECT * FROM fotogaleria WHERE ID = \"$zaznam[$i]\"";
$result = mysql_query($query, $link);
while($row=mysql_fetch_array($result))
{
echo '<tr><td width=166px height=70px align=center valign=top><img src="./fotos/from_action/'.$row["adresa"].'" width=80px height=60px></td></tr>';
}
}
nebo prostě
for ($x = 0;$x<5;$x++)
{
$pole[4];
$nahoda = rand (0,454545454);
if (in_array($nahoda, $pole))
{
for (;;)
{
$nahoda2 = rand (0,454545454);
if (in_array($nahoda, $pole)) continue;
$nahoda = $nahoda2;
break;
}
}
$pole[$x] = $nahoda;
}
for($e = 0;$e<5;$e++)
{
//a tady vypsání obrázku
}
a nebo proste :D
pro mysql:
$pocet = 5;
$vyber = mysql_query("select * from mojeFotogalerie order by RAND() limit ".$pocet);
while($rada = mysql_fetch_object($vyber))
...
nevim, jeslti to jde i v pg, nebo dalsi db, ale vzhledm k pouzivanosti mysql se to muze hodit :)
Sakra, niekedy skutocne jednoduche riesenia lezia cloveku priamo pred nosom :Dinsider píše:#
# a nebo proste :D#
##
#pro mysql:#
###
#$pocet = 5;#
##
#$vyber = mysql_query("select * from mojeFotogalerie order by RAND() limit ".$pocet);#
#while($rada = mysql_fetch_object($vyber))#
#...#
#
##
#nevim, jeslti to jde i v pg, nebo dalsi db, ale vzhledm k pouzivanosti mysql se to muze hodit :)#
#
ja reagoval na Smokieho, ten psal pri vyberu z databaze, tys dopsal "nebo proste", tak sem navazal :), popravde, tvoje reseni sem si ani neprocital, vim jen, ze uz potrebujes mit ty data v promenne abys s nema mohl pracovat.
Aa, tak az ted sem si to procet a generujes jen nahodne cisla, tak to je neco jineho :)
k tvemu kodu by se spis hodilo pouzit while:
$pocet = 5;
$pole = array();
for ($x = 0;$x<$pocet;$x++)
{
$nahoda = rand (0,454545454);
while(in_array($nahoda, $pole)) $nahoda = rand (0,454545454);
$pole[] = $nahoda;
}
foreach($pole as $cisla){...}
v pripade, ze uz mame promennou s hodnotama = pole s hodnotama
$pocet = 5; // kolik nahodnych prvnku
$pocetPrvku = sizeof($poleSHodnotama);
if($pocetPrvku < $pocet) $pocet = $pocetPrvku; // kdyby tam bylo min prvku, tak je to nekonecny cyklus :)
$pole = array();
for ($x = 0;$x<$pocet;$x++)
{
$nahoda = rand (0,($pocetPrvku-1)); // $pocetPrvku-1, indexuje se od nuly ...
while(in_array($nahoda, $pole)) $nahoda = rand (0,($pocetPrvku-1));
$pole[] = $nahoda;
}
foreach($pole as $cisla){...}
aaa v pripade, ze mame neciselne indexy, tak to chce trochu rozepsat
$indexy = array();
foreach($poleHodnot as $ind => $h)
$poleSHodnotama[] = $ind; // pro pouziti predchoziho kodu
// predchozi kod
//vypis
foreach($pole as $hod){
echo $poleHodnot[$hod];
}
uff, nekontroloval sem to po sobe, je mozne, ze tam sou preklepy a ruzne jine chybky, ale snad to nebude tak vadit :)
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
Nefungující F2-F4 a nektere dalsi F — založil Anonym
Komunikace s php scripty — založil Choco-TUx
Web prostor s PHP + MySQL + cgi scripty +++ — založil remmidemmi
Ktory php framework sa naucit ako dalsi ? — založil nord
Scripty, zdrojáky?? — založil mates
Moderátoři diskuze