Autor Zpráva
Fergi
Profil
Ahoj
Chtel bych se zeptat jestli se neda nejak udelat aby se mi treba po trech poli <td> udelal novy řádek?
potřebuju to pro fotogalerii kde vypisuji seznam galerií a u každe galerie je fotka to vše mám v
<table><tr><td>fotka, nazev, popis</td></tr></table>
jenze kdyz jich je vic, tak galerie presahujou stráku a nepomuze ani u <table> dat parametr width=600px
tak bych se chtel zeptat jestli to nejak jde ze by se mi zapsali 3x <td> do jednoho <tr> a pak znova a znova...
snad jsem to napsal dost srozumitelne :D
dekuji za kazdou odpoved :)
Tomasds
Profil
Jde. Prostě počítej td a až jsou tři, nedáš tam </td><td>, ale </td></tr><tr><td> a vynuluješ počitadlo.
SwimX
Profil
Fergi
1, si v sekci PHP edit: aha, ty to chceš vypisovat pomocí php :) ttj
2, nedával bych to vubec do tabulky
3,
<table>
  <tr>
    <td>1.</td>
    <td>2.</td>
    ...
  </tr>
  <tr>
    <td>1.</td>
    <td>2.</td>
    ...
  </tr>
  ...
</table>
Fergi
Profil
SwimX
spatne jsem se vyjadri - moje chyba tak znovu :D
vypis vypada nejak takhle
<?
$vyber=mysql_query("select * from galerie ORDER BY datum") or Die("Nastala chyba: ".MySQL_Error());
echo"
<div id=\"clanek\"><table width=\"600\">";
while ($zaznam=MySQL_Fetch_Array($vyber)){ 
$vyber2=mysql_query("select * from fotogalerie WHERE galerie='".$zaznam["nazev"]."' order by ID DESC") or Die("Nastala chyba: ".MySQL_Error());
$zaznam2=MySQL_Fetch_Array($vyber2);
$celkemfotek=mysql_num_rows($vyber2); 
$fotka=$zaznam2["img"];
$galerie=$zaznam["nazev"];
$popis=$zaznam["popis"];
echo" 
    <tr>
    <td>
<div id=\"fotky\">
       <a href=\"?p=fotogalerie&?p=fotogalerie=$galerie\">
       <img src=\"galerie/miniatury/$fotka\">
       <h2><strong>$galerie</strong></h2>
       $popis<br />
       $celkemfotek fotek</a>
   </td>
   </tr>
</div>\n";
}
echo"
</table>
</div>";
?>

takze to taham z databaze - to jsem pred tim zapomel napsat , a ja potrebuju aby se mi nejak napsali ty <td> jen 3x
tzn. ze se to po generovani bude zobraozvat nejak takhle
<table>
  <tr>
    <td>1.</td>
    <td>2.</td>
    <td>3.</td>
  </tr>
  <tr>
    <td>1.</td>
    <td>2.</td>
    <td>3.</td>
  </tr>
  ...
</table>

jeste jednou se omlouvam ze jsem tyto podstatne veci nenapsal predtim....
Joker
Profil
Fergi
Správné řešení už napsal Tomasds. Zavést si nějaké počítadlo a buď ho vždycky po 3 vynulovat (a uzavřít řádek), nebo kontrolovat, zda je dělitelné třemi.
Majkl578
Profil
<table>
  <tr>
    <td>1.</td>
    <td>2.</td>
    <td>3.</td>
  </tr>
  <tr>
    <td>1.</td>
    <td>2.</td>
    <td>3.</td>
  </tr>
  ...
</table>

=
echo '<table>' . "\n";
for($i = 1; $i < 5; $i++) {
echo '  <tr>' . "\n";
echo '    <td>1.</td>' . "\n";
echo '    <td>2.</td>' . "\n";
echo '    <td>3.</td>' . "\n";
echo '  </tr>' . "\n";
}
echo '</table>' . "\n";
Fergi
Profil
Joker
to asi nebude v mych silach to pocitadlo nevim jakou funkci mam spocitat kolikrat se to opakovalo..........
dragen
Profil *
Asi takhle ale nedával bych tam id="fotky" protože podle validity by se mělo ID objevovat v dokumentu pouze 1 a tady je v cyklu
<?
$i=0;
$vyber=mysql_query("select * from galerie ORDER BY datum") or Die("Nastala chyba: ".MySQL_Error());
echo"
<div id=\"clanek\"><table width=\"600\">";
while ($zaznam=MySQL_Fetch_Array($vyber)){ 
$i++;
$vyber2=mysql_query("select * from fotogalerie WHERE galerie='".$zaznam["nazev"]."' order by ID DESC") or Die("Nastala chyba: ".MySQL_Error());
$zaznam2=MySQL_Fetch_Array($vyber2);
$celkemfotek=mysql_num_rows($vyber2); 
$fotka=$zaznam2["img"];
$galerie=$zaznam["nazev"];
$popis=$zaznam["popis"];
if ($i == 1){
echo '<tr>';
}
echo"
<td> 
<div id=\"fotky\">
       <a href=\"?p=fotogalerie&?p=fotogalerie=$galerie\">
       <img src=\"galerie/miniatury/$fotka\">
       <h2><strong>$galerie</strong></h2>
       $popis<br />
       $celkemfotek fotek</a>
   </td>
";
if ($i == 4){
    echo "</tr><tr>";
}
echo "</div>\n";
}
echo"
</table>
</div>";
?>
Fergi
Profil
dragen
Super dekuji moc :) funguje podle mych predstav :)
Fergi
Profil
PS: jeste bych doplnil
místo
if ($i == 4){
    echo "</tr><tr>";
}

je lepsi pouzit
if ($i % 4 == 0){
    echo "</tr><tr>";
}

coz zajisti ze cislo je delitelne 4 , u predchoziho to zalomi pouze 1 radek ...
dRaGen
Profil
jistě :) dělal sem to z paměti bez odzkoušení ... zapomněl sem resetovat proměnnou i :)
Fergi
Profil
vsak v pohode ;)

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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