Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Něco navíc v zeleném?
A proč ne...

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub PHP [ŽP: neomezená] (kategorie Programování) moderuje makovec.
Archiv
Diskuse o vybornem skriptovacim jazyku php. Dulezite odkazy, pred polozenim dotazu zkuste hledat odpoved zde:
  1. www.php.net - domovská stránka PHP
  2. www.kosek.cz - spousta tutorialu pro PHP v češtině
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: xkhstvs
[ 1845 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
knedle knedle online - Krabice živých 25.4.2012 09:59  3236
do promenne (pozdeji pouzite jako podminka/hodnota ve where v sql dotazu) $cond nastavi hodnotu

priklad>
$parent = 0;
bude sql
where parent IS NULL

$parent = 6
bude sql
where parent = 6

puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 25.4.2012 09:56 - Oblíbené kluby (16:12) 3235
co přesně dělá tento řádek?:

$cond = $parent == 0 ? "IS NULL" : "= $parent";


bredy 23.4.2012 21:22  3234
tvxSpíš jde o databázi. Netuším, kolik tam bude záznamů. Ze začátku asi málo, ale jak budou přibývat uživatelů, tak každý aktiv na mobilu (i v pozadí) tam bude mít záznam.
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 23.4.2012 14:59  3233
at funguje v linuxu
urcite bude lepsi si udelat vlastni univerzalni cron-skript kterej to bude resit sam. jednou za minutu ho pousteby nemel bejt problem, pokud to bude na serveru. problem by to asi byl pro nejakej hodne slabej HW ale mobilni zarizeni ci staleta zalezitost.
bredy 23.4.2012 12:22  3232
vibsoftMám pocit, že tam něco takového je. Ale když není, tak si to asi napíšu. To zpoždění takto realizovat nechci, protože těch plánovaných akcí se může sejít víc. Dokonce se bojím, že atnebude až tak vhodný, takže si to nakonec napíšu, protože by to chtělo, aby se ty požadavky nějak groupovali v případě, že se jich sejde víc. Ten čas není až tak kritický, a odchylka půl minuty je dostatečná, takže zgroupování update na čas 3:05 a 3:10 do jednoho požadavku ideální.

Jen jsem se chtěl zeptat, jestli není nějaký standardnější postup, abych nevymýšlel kolo.
vitsoft vitsoft Pryč se zrůdnou obrazotvorností mládeže! - about.me 21.4.2012 13:34  3231
at existuje i v Linuxu? Ve Windows je to jen submitér džobů do cronu (kterému Microsoft říká Scheduler).
Ještě je možnost spouštět zpožděné akce tak, že se aktuální thread uspí, ale neukončí (takže přitom bohužel zabírá paměť webserveru):

set_time_limit(60*$zpožděníMinut);
sleep(60*$zpožděníMinut);
ProveďAkci();
bredy 20.4.2012 13:15  3230
huh at by možná šel.
huh huh 19.4.2012 13:05  3229
že by se to nějak jmenovalo, o tom nic nevím
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 19.4.2012 12:18 - Oblíbené kluby (16:12) 3228
hezký elegantní řešení

i pro mě pochopitelný (teď když to vidím napsané)
:-)
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 19.4.2012 12:11 - Oblíbené kluby (16:12) 3227
super!huh [3226]:
chápeš to naprosto skvěle
otestoval jsem s tím různé rozměry a šlo to vždy tak jak bylo zadání.

Jmenuje se tento úkol (řešení) nějak? Česky či anglicky?
huh huh 19.4.2012 11:40  3226
puschpull [3221]: nevím, jestli to chápu správně, ale třeba:
<?php
$P = 24;
$k = 8;
$vysl = array('a','b','c','d','e','f','g','h','i','j','k','l','m');
$t = '<table border=1>';
$length = count($vysl);
$poli = max($P, $k); 
for ($i = 0; $i < $poli; $i += $k) {
   $t .= '<tr>';
   for ($j = $i; $j < $i + $k; ++$j) {
      if ($j < $length) {
         $field = $vysl[$j];
      } else {
         $field = '&nbsp;';
      }
      $t .= '<td>'.$field.'</td>';
   }
   $t .= '</tr>';
}
$t .= '</table>';
echo $t;
?>

puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 19.4.2012 11:32 - Oblíbené kluby (16:12) 3225
knedle [3223]:
dík
večer zkusím
:)
huh huh 19.4.2012 11:28  3224
Bredy [3217]: a co příkaz
at

knedle knedle online - Krabice živých 19.4.2012 10:01  3223
- nejdrive vypis vsechny data - cyklus A
- protoze vis, kolik jich je/bylo, zjisti, kolik ti zbyva do P // nebo pokud je pocet vetsi mez P, jen dopocitej, koilk ti zbyva bunek - cyklus B
- pro radkovani (tr - /tr) budes cekovat pocitadlo $i / kdy $i = 0 echo TR, $i = N echo /TR a vynuluj $i
-- tohle udelat v obou cyklech
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 19.4.2012 09:49 - Oblíbené kluby (16:12) 3221
logický oříšekvčera večer jsem si zkoušel tuto úlohu:

Máme xy prvků v poli
prvky máme vykresit do obecné tabulky
N... počet sloupců
P... počet polí celé tabulky

Tabulku vždy dopočítat a prázdná pole doplnit, aby tabulka byla vykreslená celá

Trochu jsem to řešil kostrbatě, pomocí cyklů for a podmínek if/else
Došel jsem k řešení které funguje dobře pro mou potřebu, ale asi není naprosto univerzání na jakýkoliv rozměr tabulky


<?php
$page_set = 24; // počet záznamů na stránku - vybrat číslo dělitelné počtem sloupců !!

$t = '<table border=1>';
$i = 0;
$k = 8; // počet sloupců v tabulce galerie

$vysl = array('a','b','c','d','e','f','g','h','i','j','k','l','m'); // jakékoliv pole s X prvky


// cyklus vykreslí tabulky dle počtu prvků v poli $vysl
//******************************************************
while (list($field) = each($vysl)) {
$j = $i % $k; // binarni nasobeni $k (3)
if ($j==0) {$t .= '<tr>';}
$t.='<td>'.$field.'</td>';
if ($j==$k) {$t .= '</tr>';}
$i++; }


//vypočet pomocných proměnných
//*****************************************
$ik = $i % $k;
$ir = ceil(($i / $page_set)*($k-1));
$b = floor(($page_set - $i) / $k);
$c = $page_set / $k;
$d1 = ($page_set / $c)*1;
$d2 = ($page_set / $c)*2;
$d3 = ($page_set / $c)*3;
$d4 = ($page_set / $c)*4;


//dopočítání vykreslení tabulky tak aby žádné zbývající pole nebylo prázdné
//************************************************************************
if ($i <> 0){
if ($i < $page_set){
if (($i <> $d1) and ($i <> $d2) and ($i <> $d3) and ($i <> $d4)){
for ($w=($ik+1); $w<=$k; $w++) {$t.='<td>O</td>';}}
$t .= '</tr>';

if ($ir <= $c){
for ($s = 1; $s <= $b; $s++) {
for ($ww=1; $ww<=$k; $ww++) {$t.='<td>X</td>';}
$t .= '</tr>'; } }

else {
for ($s = 1; $s <= $b; $s++) {
for ($ww=1; $ww<=$k; $ww++) {$t.='<td>H</td>';}
$t .= '</tr>'; } }
} }

else {
for ($s = 1; $s <= $b; $s++) {
for ($ww=1; $ww<=$k; $ww++) {$t.='<td>H</td>';}
$t .= '</tr>'; } }

// uzavření tabulky
//*********************
$t .= '</table>';
echo $t;
?>



Zajímalo by mě jak se tato úoha řeší sofistikovaně (jistě je toto obecnější úloha, která je čas od času potřebná při vykreslování neúplných tabulek).
Případně nějaký odkaz na možná řešení tohoto problému.

Doufám, že jste uvítali to, že jsem s tím večer neotravoval, ale poctivě jsem se to snažil řešit bez googlování po scriptech.
...
No, výsledek tomu asi odpovídá, mě se to moje řešení taky moc nelíbí, ale funguje pro skoro všechna zadání ...
:-)

Děkuji předem za trpělivost

[ 1845 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt