Autor Zpráva
Mráček
Profil *
Dobrý den,
takový dotázek..
Dá se pomocí CSS zalomit tabulka v polovině ?
Například 10 záznamu
tak
1 6
2 7
3 8
4 9
5 10
Předem děkuiji
Martin
Profil
Tomu teda moc nerozumim, k čemu to má sloužit?
Mráček
Profil *
Mno mám výpis z databáze... a nevejde se mi to na stránku... tak aby se to v polovině zalomilo...
a začalo to psát vedle ...
jako 5 záznamů a 5 záznamů
nabo 10 a 10
těch záznamů je hodně... asi 10x se to vypisuje.. a kdyby to bylo všechno podsebou tak by to bylo hafo dlouhý
Leo
Profil
Pokud je to vypis z databaze pak to muzete kouskovat primo v aplikaci, ktera tvori vypis (PHP, treba), Leo
Mráček
Profil *
njn.. ale tam je složitý to že to potřebuju
5 a 5
a ne
1 2
3 4
5 6
7 8
9 10
tam je pak problém když to chci jak to chci.. tak mě napadlo jestli to nejde zalomit přez CSS nějak jsem koukal že něco takovýho na webu bylo...
Martin
Profil
nic neni v php tak složitý, aby to nešlo rozdělit po 5. Hoď sem script a uvidíš :) V css to IMHO nepude.
Leo
Profil
A proc by to mel byt problem, PHP vam vygeneruje jakykoliv HTML kod. Leo
Charlie
Profil
Mráček, jestli to máš 5:5, tak by to mělo být jednoduché.
Mráček
Profil *
Tak schválně :) když pomineme že je to trochu hodně prasečina ten script protože sem to hafokrát přepisoval a je to jenom pracovní verze :
tak z toho vyplívá že to vypisuje záznamy z databáze... do tabulky po 2 sloupečcích
ale ve stylu
1 2
3 4
5 6
ale já potřebuju
1 6
2 7
3 8
4 9
5 10


function seznamvys2 () { ?>
<table width="90%" border=0 cellpadding=1 cellspacing=1 class='tabulka' align="center" >
</tr>
<?

$seznamoboru = mysql_query("SELECT * FROM seznamoboru ORDER BY obor");
while ($nadpis = mysql_fetch_row($seznamoboru)) { ?>
<tr bgcolor="#AAC5E8">
<th colspan="2"><?echo $nadpis[1]?></td>
<?
$sql4 = mysql_query("SELECT * FROM seznamvysetreni where obor= $nadpis[0]");
$rows = ceil(mysql_num_rows($sql4)/2);
for($i=1;$i<=$rows;$i++)

{
echo ($i%2==0) ? ('<tr bgcolor="white">') : ('<tr bgcolor="#EBF2F3">');
for ($x=1;$x<=2;$x++) {
$row=mysql_fetch_row($sql4);
if (is_array($row)) echo '<td width="50%">'.$row[2].'</td>';
else echo '<td>&nbsp;</td>';
}
echo '</tr>';

}
// konec ?>
<tr><td></td></tr>
<?}
;}?>
Martin
Profil
Jdu spát, ale jak to tak vypadá, neni na tom nic těžkého. Ještě se ale zeptám, nebylo by lepší použít seznam(<ul>)? Jinak se na to mrknu zítra. Dobrou noc
Kajman
Profil *
Jestli tam nebude milion záznamu, tak by to snad šlo tak, že by se to ukládalo do proměnné a pak teprve vypsalo.

Treba do pole $radek


$radek=array();
$radku=mysql_num_rows($sql4);
$sloupecku=2;
$vjednomsloupci=ceil($radku/$sloupecku);
//no a pak dat do toho for, kde se cuca z db neco takoveho
$radek[$i%$vjednomsloupci].='<td>'.$row['necozdb'].'</td>';
//a pak si udelat este jeden for a v tom ten vysledek jenom vypsat (pridat tr a tak)
peta
Profil *
Resil bych to tremi tabulkami, tabulky v tabulce.
Pokud je pocet vetsi nez X,...

t=''
if n>x t='<table><tr><td>'
t+='<table><tr><td>'
for (i=1..n) {t+=zaznam[i];if (i==x) t+='</td></tr></table></td><td><table><tr><td>';}
t+='</td></tr></table>'
if n>x t='</td></tr></table>''

plus vsechny ty php nesmysly jako $ ; a spol :)
peta
Profil *
jo, a jete pridavani radku a td do te tabulky, to tam schazi v te slozene zavorce.
Jinak vypisovani hodnoty by mohlo byt zajimave resit az javascriptem.
Martin
Profil
Jinak vypisovani hodnoty by mohlo byt zajimave resit az javascriptem.
Co by na tom bylo zajímavá? No, možná, kdyby měl někdo vyplý JavaScript.

Já bych to udělal takhle

<body>
<?php
$pole_hodnot = Array("a","b","c","d","e","f","g","h","i","j","k","l","m"); // bez písmena ch
$pocet_prvku_v_poli = Count($pole_hodnot);
$pocet_sloupcu = 2; // sem zadej, kolik chceš mít sloupečků :)
$pocet_radku = Ceil($pocet_prvku_v_poli/$pocet_sloupcu);
echo "<table>\n";
for ($i=0;$i<$pocet_radku;$i++) {
echo "<tr>";
for($y=0,$x = $i;$y<$pocet_sloupcu;$y++,$x = $x+$pocet_radku) {
echo "<td>$pole_hodnot[$x]</td>";
}
echo "</tr>\n";
}
echo "</table>\n";
?>
</body>
peta
Profil *
Martin: Samozrejme, ale JS se nevypina, dnes. Zalezi na druhu webky, u php je jistota.
Leo
Profil
"Martin: Samozrejme, ale JS se nevypina, dnes."

Ale vypina, a je dobry na to myslet, Leo
Martin
Profil
Třeba PDA a mobily JavaSctipt neuměj.
Ali123
Profil
já to řešil nedávno tak, že jsem z databáze natahal data do dvourozměrného pole po sloupcích a to pole jsem pak po řádcích vypsal. Čili nějak takhle (i-číslo sloupce, j-číslo řádku):

//načtení do pole:

for ($i=1;$i<=5;$i++){
for ($j=1;$j<=10;$j++){
$pole[$i][$j]=......; //sem nějak dostat z databáze obsah jedné buňky
}
}


//výpis:

echo "<table>";
for ($j=1;$j<=10;$j++){
echo "<tr>";
for ($i=1;$i<=5;$i++){
echo "<td>".$pole[$i][$j]."</td>";
}
echo "</tr>";
}
echo "</table>";
Radek Hrabůvka
Profil *
Možná by pomohlo něco podobmého jako je na téhle stránce:
http://www.chaps.cz/ttfont_d.asp?c=chaps&Akt=31.5.2005&FromPage=win_a. asp
zalamuje se to podle šířky okna a je to css.
V kódu jeb se zatím nehrabal, jen jsem se zběřně díval že tam jsou divy a tabulky.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0