Jump to content
Sign in to follow this  
Python

HTML/PHP Orientacja tabeli

Recommended Posts

Witam. Tworze prosty skrypt w php. Ma on za zadanie wyświetlenia baz danych, tabeli a na końcu zawartych w nich danych. Moj problem (najprawdopodobniej wynikający ze słabej znajomości budowy tabel w html) polega na orientacji tabel. Wyświetla sie ona tak: (na obrazku zawarłem również sposób sortowania jaki chciałbym osiągnąć)Screen - rysunek pomocniczy

Krótko mówiąc: chciałbym zmienić orientacje tabeli z poziomej na pionową :)

@edit: Oczywiście stosuję składnię

<table>
      <tr>
            <td></td>
      </tr>
<table>

Share this post


Link to post
Share on other sites

Coś takiego Ci się przyda:

<table>
    <thead>
        <tr>
            <th>Id</th>
            <th>kategoria</th>
            <th>Towar</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1id</td><td>1kat</td><td>1towar</td>
        </tr>
        <tr>
            <td>2id</td><td>2kat</td><td>2towar</td>
        </tr>
        <tr>
            <td>3id</td><td>3kat</td><td>3towar</td>
        </tr>
    </tbody>
</table>

Share this post


Link to post
Share on other sites

Dzięki :) W html wydaje sie to proste i jasne ale PHP coś sknociłem ;/

  echo "<table id='tabela' cellpadding =\"2\" border=1>";
   if (mysql_num_rows($result) > 0) {
      // Wykrywanie nazw kolumn tabeli

     while ($row = mysql_fetch_assoc($result)) {
       $nazwykolumn[$i] = $row['Field'];
       // Proba wyswietlenia zawartosci

      // echo $nazwykolumn[$i];

           $wynik = mysql_query("Select * FROM $tabela") or die('blad zapytania *wyswietlanie zawartosci* '. mysql_error() );
            if(mysql_num_rows($wynik) > 0) {
                echo "<thead>";
                echo "<tr>";
                                    echo "<th class='glowny'>".$nazwykolumn[$i]."</th>";
                                    echo "</tr>";
                                    echo "</thead>";

                                    echo "<tbody>";
                                    echo "<tr>";
                while ($r = mysql_fetch_assoc($wynik)) {

                    echo "<td>".$r["$nazwykolumn[$i]"]."</td>";

                }
                }
                                   echo "</tr>";
                                   echo "</tbody>";
       $i++;
     }
     echo "</table>";

  }

Share this post


Link to post
Share on other sites

Wygląda na to, że Twój skrypt generuje kod:

<thead>...</thead><tbody>...</tbody>
<thead>...</thead><tbody>...</tbody>
<thead>...</thead><tbody>...</tbody>

dlatego jest źle wyświetlany, dla każdej kolumny tworzysz osobny zestaw tbody i thead. Najpierw musisz wyświetlić całą zawartość thead, a dopiero później tworzyć tobdy.

Wyjmij while poza while'a i powinno pomóc :).

Możesz sobie też ew. to np. zapisywać do tablic $thead i $tbody i poza pętlami to wyrenderować foreach'em.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...