Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak wyświetlając tabelkę z bazy danych nadać styl css na konkretny wiersz ?
Forum PHP.pl > Forum > PHP
Qatadah
Cześć. Stworzyłem swoją pierwszą bazę danych. Wyświetlam tabelkę ale nurtuję mnie jedno pytanie jak dodać styl css na konkretny wiersz np coś takiego: border-bottom:1pt solid #e8491d; jak nadać styl np na 16 wiersz?

A oto mój kod:

conect.php

  1. <?php
  2.  
  3. $db_server = "localhost";
  4. $db_username = "root";
  5. $db_password = "";
  6. $db_database = "bazatestowa";
  7.  
  8. $conn = new PDO("mysql:host=$db_server;dbname=$db_database", $db_username, $db_password);
  9. $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  10.  
  11. //Tylko do testu, by sprawdzić połączenie
  12. echo 'BINGO !!!<br/>';
  13. ?>


index.php

  1. <!doctype html>
  2. <meta charset="utf-8">
  3. <title>Test</title>
  4. </head>
  5.  
  6. <table border="1" cellspacing="5" cellpadding="5" width="100%">
  7. <tr>
  8. <th>No.</th>
  9. <th>Name</th>
  10. </tr>
  11. </thead>
  12. <?php
  13. require_once('conect.php');
  14. $result = $conn->prepare("SELECT * FROM tabelatestowa");
  15. $result->execute();
  16. for($i=0; $row = $result->fetch(); $i++){
  17. ?>
  18. <tr>
  19. <td><?php echo $row['id']; ?></td>
  20. <td><?php echo $row['name']; ?></td>
  21. </tr>
  22. <?php } ?>
  23. </tbody>
  24.  
  25. </body>
  26. </html>
viking
Brakuje ci
  1. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  2. PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"


Możesz wykorzystać w CSS nth-child
Qatadah
Tak to nie zadziała a jak pisałem to moja pierwsza baza i jeszcze jestem za cienki mógłbyś troszkę pomóc to poskładać do kupy ? z góry dziękuję i sorki za takie banały

$conn = new PDO("mysql:host=$db_server;dbname=$db_database", $db_username, $db_password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"

I jak tego css użyć na określony wiersz, skoro wiersze dodaje w pętli, cokolwiek zmiana koloru fontu w określonym wierszu nie istotne bo spędza mi to sen z powiek jak właśnie określić ten wiersz. Jak byś mógł na moim przykładzie sklecić przykład, flaszkę postawie.. Jak css i html ogarniałem to tu już się gubię. Chciałbym tylko wystartować bo dalej sobie poradzę.
kreatiff
W pętli drukującej masz już licznik: $i. Wykorzystaj go. Sprawdź czy $i=15 (zaczynasz od 0, dlatego 15, a nie 16), i jeśli tak, dodaj odpowiedni CSS, np.:
  1. for($i=0; $row = $result->fetch(); $i++){
  2. ?>
  3. <tr<?php echo $i == 15 ? ' style="border-bottom:1pt solid #e8491d;"' : ''; ?>>
  4. <td><?php echo $row['id']; ?></td>
  5. <td><?php echo $row['name']; ?></td>
  6. </tr>
  7. <?php } ?>
viking
Skoro, jak twierdzisz, masz CSS ogarnięty to jaki problem?
https://jsfiddle.net/okgh9xrs/

Powyższe z kodem generowanym po stronie php to tragiczny pomysł.
Qatadah
Ogarniam ale nie pozjadałem wszystkich rozumów, bardzo dziękuję za pomoc, np kolejny problem całą tabelkę malowałem tak (dwu kolorowo)

table tr:nth-child(even){
background: #191919;}
table tr:nth-child(odd){
background: #262626;}

lecz teraz w pętli jak dodaje wiersze to nie działa wszystkie wiersze mają pierwszy ciemniejszy background, jak temu zaradzić, by to wyżej zadziałało ?
viking
Przecież działa tylko prawie nie ma różnicy w widoczności kolorów jak masz słabszy monitor.
https://jsfiddle.net/okgh9xrs/2/
Qatadah
Działa masz racje, mam dziwny problem z odświeżaniem w chrome, samo odśwież nie wystarczy przeładuje stronę ale nie zadziałają zmiany wprowadzone w kodzie muszę całą historię usunąć by zmiany zadziałały i były widoczne, wiesz może o co w tym chodzi?
viking
Agresywny cache. Uruchamiaj w trybie prywatnym.
Qatadah
Bardzo bym Cie prosił o rozwinięcie tematu,agresywny cache - nic mi to nie mówi jak mam uruchomiać w trybie prywatnym?, nawet stronę którą mam na płatnym hostingu nie wystarczy odświeżyć, pierwszy raz z czymś takim się spotkałem piszesz "agresywny cache" co to jest o co w tym chodzi, wychodzi na to że parę moich kodów działa tylko ta dziwna sytuacja z odświeżaniem pamięci, wcześniej albo tego zjawiska nie miałem albo po prostu nie zwróciłem uwagi gdyż mi to nie przeszkadzało
kreatiff
Odświeżaj stronę za pomocą Ctrl+F5 po każdej zmianie w kodzie.
Qatadah
Wielkie dziękuję za wcześniejszą pomoc. Mam ostatnie pytanie jak wyświetlić tabele od razu ją sortując według danej kolumny(oczywiście kolumna jest typu integer, chciałbym tabele posortować według danych u mnie "pkt" od najwyższej do najniższe) nie jest kolumną primary tylko jedną z kilku Jak to zapisać w kodzie , przeprasza że proszę o kod ale nie umiem tego okiełznać, mój kod bez sortowania wygląda tak: sortowanie mi się sypie

  1. <table border="1" cellspacing="5" cellpadding="5" width="100%">
  2. <tr>
  3. <th>No.</th>
  4. <th>Name</th>
  5. <th>pkt</th>
  6. </tr>
  7. </thead>
  8. <?php
  9. require_once('conect.php');
  10. $result = $conn->prepare("SELECT * FROM tabelatestowa");
  11. $result->execute();
  12. for($i=0; $row = $result->fetch(); $i++){
  13. ?>
  14.  
  15. <tr>
  16. <td><label><?php echo $row['id']; ?></label></td>
  17. <td><label><?php echo $row['name']; ?></label></td>
  18. <td><label><?php echo $row['pkt']; ?></label></td>
  19. </tr>
  20. <?php } ?>
  21. </tbody>
viking
Podstawy sql, poczytaj czasami dokumentację:
SELECT * FROM tabelatestowa ORDER BY kolumna.
Qatadah
ale to wiem według kolumny po indeksie tylko jak zrobić na opak od najwyższego indeksu w dół
viking
A dlaczego tak unikasz dokumentacji?
https://dev.mysql.com/doc/refman/5.7/en/sorting-rows.html
Qatadah
Ale tępa strzała ze mnie, wszystko mi się posypało w głowie od tego odświeżania teraz to ja cokolwiek zrobię to mam histerię czy zadziała dlaczego nie działa, wszystko było pięknie proste jeśli chodziło o html i css ale jak doszło php i bazy to jest grubo. Jak ja tego sortowania nie zauważyłem? a co jeśli indeksy w kolumnie będą równe, jak nadać sortowanie według kolejnej kolumny np mamy ilość punktów niech wyjdzie po tyle samo, co dalej, różnica bramek ? o cholera jak tak to analizuje to rzuciłem się z motyką na słońce a chciałem zrobić tylko zwykłą prostą tabelkę a okazuje się że ona nie będzie taka prosta
Malukaz
select * from TWOJA_TABELA ORDER BY KOLUMNA_1 DESC, KOLUMNA_2 ASC, KOLUMNAXXXX;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.