Skocz do zawartości

Recommended Posts

Napisano

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>
Napisano

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>
Napisano

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>";

  }
Napisano

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.

Join the conversation

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

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  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.

×
×
  • Utwórz nowe...