Autor | Zpráva | ||
---|---|---|---|
Daved Profil * |
#1 · Zasláno: 19. 3. 2008, 13:52:58
Dobrý den,
mám tento cyklus: while ($vypis = mysql_fetch_array($dotaz)) { echo $vypis["popis"]. ","; } A potřebuji, aby mi to za posledním řádkem z DB nevypisovalo čárku (,). Ostatní musí být odděleny čárkou, ale ten poslední řádek nesmí! Jak to mám prosím udělat. Děkuji. |
||
nightfish Profil |
#2 · Zasláno: 19. 3. 2008, 13:58:36 · Upravil/a: nightfish
$i = 0; $pocet = mysql_num_rows($dotaz); while ($vypis = mysql_fetch_array($dotaz)) { echo $vypis["popis"]; if (++$i != $pocet) echo ", "; } |
||
sicario Profil |
#3 · Zasláno: 19. 3. 2008, 14:49:20
U integeru to sice nehrozi, ale myslim si, ze je lepsi zvyknout si na zapis podobnych podminek ve tvaru:
if (++$i < $pocet) |
||
Daved Profil * |
#4 · Zasláno: 19. 3. 2008, 14:52:24
nightfish
Děkuji! |
||
Casero Profil |
#5 · Zasláno: 19. 3. 2008, 14:53:07
Nebo taky to nakonec oříznout:
while ($vypis = mysql_fetch_array($dotaz)) { $text.=$vypis["popis"]. ","; } echo substr($text,0,-1); |
||
joe Profil |
#6 · Zasláno: 19. 3. 2008, 15:02:05
Myslím, že oříznutí na konci je daleko lepší, než například tisíc podmínek. Tak bych to dělal já, jako Casero.
|
||
Daved Profil * |
#7 · Zasláno: 19. 3. 2008, 15:07:59
Casero
Taky děkuji. I mě se to zdá lepší a určitě to bude i rychlejší. |
||
nightfish Profil |
#8 · Zasláno: 19. 3. 2008, 17:25:46
Daved
I mě se to zdá lepší a určitě to bude i rychlejší. a taky paměťově náročnější (a to tak, že o dost) |
||
Časová prodleva: 5 měsíců
|
|||
kat Profil * |
#9 · Zasláno: 28. 8. 2008, 09:26:04
Já jsem pohodlný:
$polevypis=array(); while ($vypis = mysql_fetch_array($dotaz)) { $polevypis[]=$vypis["popis"]; } echo implode(',',$polevypis); |
||
kat Profil * |
#10 · Zasláno: 28. 8. 2008, 09:28:15
Mám dotaz, jestli neexistuje nějaká MySQL funkce, něco jako CONCAT_WS, která vrátí jediný řádek, ve kterém budou obsahy sloupce oddělené čárkou, aby se nemusela dělat tato zbytečnost. Potřebuju to jako vnořený poddotaz. Děkuji za odpovědi.
|
||
Joker Profil |
#11 · Zasláno: 28. 8. 2008, 09:52:15
nightfish
$i = 0; $pocet = mysql_num_rows($dotaz); while ($vypis = mysql_fetch_array($dotaz)) { echo $vypis["popis"]; if (++$i != $pocet) echo ", "; } Možná bych si ušetřil to mysql_num_rows a udělal tu čárku obráceně: $prvni = true; while ($vypis = mysql_fetch_array($dotaz)) { if(!$prvni) echo(", "); else $prvni = false; echo $vypis["popis"]; } Tzn. nedávám čárku za každý záznam krom posledního (kdy potřebuju vědět počet), ale před každý záznam krom prvního (tam počet vědět nepotřebuju) |
||
Kajman_ Profil * |
#12 · Zasláno: 28. 8. 2008, 10:53:57
Mám dotaz, jestli neexistuje nějaká MySQL funkce, něco jako CONCAT_WS, která vrátí jediný řádek, ve kterém budou obsahy sloupce oddělené čárkou
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#functio n_group-concat |
||
Časová prodleva: 16 let
|
0