Autor Zpráva
Daved
Profil *
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
$i = 0;
$pocet = mysql_num_rows($dotaz);
while ($vypis = mysql_fetch_array($dotaz)) {
  echo $vypis["popis"];
  if (++$i != $pocet) echo ", ";
}
sicario
Profil
U integeru to sice nehrozi, ale myslim si, ze je lepsi zvyknout si na zapis podobnych podminek ve tvaru:
if (++$i < $pocet)
Daved
Profil *
nightfish
Děkuji!
Casero
Profil
Nebo taky to nakonec oříznout:
while ($vypis = mysql_fetch_array($dotaz)) {
  $text.=$vypis["popis"]. ",";
}
echo substr($text,0,-1);
joe
Profil
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 *
Casero
Taky děkuji.

I mě se to zdá lepší a určitě to bude i rychlejší.
nightfish
Profil
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)
kat
Profil *
Já jsem pohodlný:

$polevypis=array();
while ($vypis = mysql_fetch_array($dotaz)) {
  $polevypis[]=$vypis["popis"];
}
echo implode(',',$polevypis);
kat
Profil *
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
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 *
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0