Autor | Zpráva | ||
---|---|---|---|
Lion76 Profil * |
#1 · Zasláno: 19. 9. 2007, 09:30:37
Zdravim, potreboval bych poradit, jak v cyklu while vypsat v zahlavi nejaky text, dalsi nejaky text po 10-ti zaznamech a nakonec nejaky text v paticce. Lze to prosim nejak udelat?
|
||
Joker Profil |
#2 · Zasláno: 19. 9. 2007, 09:46:27
Pokud "po 10 záznamech" znamená každých 10 záznamů, tak nějak takhle:
$i = 0; echo("Hlavička"); while(neco()){ neco_delej(); $i++; if(($i % 10) == 0) echo("text po deseti záznamech"); } echo("Patička"); Pokud "po 10 záznamech" znamená jen za desátým záznamem, bylo by tam místo podmínky (($i % 10) == 0) jenom ($i==10) |
||
FNM Profil * |
#3 · Zasláno: 19. 9. 2007, 09:46:52
Spíš si to dej do cyklu for
např. $db = funkce_s_pripojenim_k_db(); $query = "SELECT ..."; $result = $db->query($query); if (($result->num_rows)>0) { $i = 1; while ($row = $result->fetch_rows) { for ($i=1;$i<=10;$i++) { echo 'záznamy z db'; } echo 'To co chceš po 10 záznamech'; nebo nastavíš proměnnou $_SESSION, která ti sedí na echu v záhlaví na nějakou hodnotu (text); for ($i=11;$<=20;$i++) { echo 'záznamy z db'; } echo 'To co chceš po 20 záznamech'; nebo nastavíš proměnnou $_SESSION, která ti sedí na echu v záhlaví na nějakou hodnotu (text); $i++; } } Zhruba takhle, nezkoušel jsem to, ale mělo by ti to přinejmenším napovědět. |
||
FNM Profil * |
#4 · Zasláno: 19. 9. 2007, 09:47:43
Joker byl rychlejší :-)
|
||
Joker Profil |
#5 · Zasláno: 19. 9. 2007, 09:59:09
FNM
To je poměrně kuriózní řešení :o) Myslím, že takhle by to nefungovalo. A pro výpis z databáze se právě hodí while-cyklus, protože obvykle nevím, kolik těch záznamů bude. Neříkám, že to přes for-cyklus nejde udělat, ale while mi na tohle přijde lepší. |
||
Lion76 Profil * |
#6 · Zasláno: 19. 9. 2007, 10:11:01
Joker - FNM
Super, po nekolika upravach to funguje podle mych potreb. Dekuji. |
||
FNM Profil * |
#7 · Zasláno: 19. 9. 2007, 10:20:12
Tak až budu doma, tak to schválně doma zkusím, while tam mám a bez něj by to nešlo. Samozřejmě, tvoje řešení je elegantnější a zabralo míň místa.:-)
|
||
Joker Profil |
#8 · Zasláno: 19. 9. 2007, 10:55:16
FNM
No, moje námitka k tomu skriptu je, že to bude správně fungovat jen pro počty záznamů dělitelné dvaceti. Jinak to buď vyhází kupy varování, nebo by v obou těch for-cyklech musela být kontrola typu: if(uz_nejsou_zaznamy()) continue; ...což bude ten skript zbytečně zpomalovat (navíc ta kontrola se vždycky udělá 20x, i když budu mít třeba jen jeden záznam) A ani tak to nebude vypisovat správně, když budu mít třeba dva záznamy, bude výstup: první záznam druhý záznam To co chceš po 10 záznamech To co chceš po 20 záznamech |
||
Časová prodleva: 17 let
|
0