Autor Zpráva
Rygy
Profil
$vysledek=mysql_query("select * from vystoupeni");
$radku=mysql_num_rows($vysledek);

//vypisuje jednotlivé řádky v MySQL
for($num=1;$num<=$radku;$num++)
{
//vypisuje všechny hodnoty v 1 řádku MySQL
$pole=MySQL_Fetch_Array($vysledek);
//vypisuje dny od 1 do 31
for ($cislo=1;$cislo<=31;$cislo++)
{
if ($pole[1]==$cislo)
{
echo "<font color='red'>".$pole[1]."</font>";
}
else
{
echo $cislo;
}
}


-zde je problém, že se mi vypíší čísla od 1 do 31 a jsou tam zaznačená data z
mysql, ale problém je takový, že se ta řada od 1 do 31 tolikrát, kolikrát tam je
záznamů v MySQL
-problém je, že nevím, kam který cyklus dát
-když oddělám dny, můžu si vypsat cisla z MySQL, ale jak všechny dát do 1né
posloupnosti 1 až 31?
AM_
Profil
problém je takový, že se ta řada od 1 do 31 tolikrát, kolikrát tam je
záznamů v MySQL

zapomněl jsi na sloveso ve větě

Zkus to třeba takhle:
$dny = array_fill(0, 31, false);
while ($zaznam = mysql_fetch_array($vysledek)){
  $dny[$zaznam[1]-1] = true;
}
for($i = 0; $i < 31; $i++){
  if ($dny[$i]) echo '<font color="red">';
  echo $i+1;
  if ($dny[$i]) echo '</font>';
}


//Edit: Alphard má pravdu, díky za opravu, patří tam false, v rychlosti mi to neseplo
Alphard
Profil
Počet dní v měsíci vám pomůže získat funkce cal_days_in_month() (ne každý měsíc má 31 dní).
Alphard
Profil
AM_:
první řádek bych dal takhle
$dny = array_fill(0, 31, false);


Ještě dodatek, v tomto případě by možná bylo lepší indexovat pole od 1 do počtu dnů. Odečítat při nastavování a přičítat při vypisování mně připadá zbytečné.
AM_
Profil
v tomto případě by možná bylo lepší indexovat pole od 1 do počtu dnů
Píšu to dle svého zvyku, kvůli jednodnosti vše indexuji od nuly, ale samozřejmě je možná (a pravda zde možná i lepší) indexace od jedničky.

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: