Qatadah
1.11.2017, 09:54:54
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<?php
$db_server = "localhost";
$db_username = "root";
$db_password = "";
$db_database = "bazatestowa";
$conn = new PDO("mysql:host=$db_server;dbname=$db_database", $db_username, $db_password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//Tylko do testu, by sprawdzić połączenie
?>
index.php<!doctype html>
<table border="1" cellspacing="5" cellpadding="5" width="100%"> <?php
require_once('conect.php');
$result = $conn->prepare("SELECT * FROM tabelatestowa");
$result->execute();
for($i=0; $row = $result->fetch(); $i++){
?>
<td><?php echo $row['id']; ?></td> <td><?php echo $row['name']; ?></td> <?php } ?>
viking
1.11.2017, 09:58:41
Brakuje ci
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
Możesz wykorzystać w CSS nth-child
Qatadah
1.11.2017, 11:59:47
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
1.11.2017, 21:44:53
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.:
for($i=0; $row = $result->fetch(); $i++){
?>
<tr
<?php echo $i == 15 ?
' style="border-bottom:1pt solid #e8491d;"' : ''; ?>>
<td>
<?php echo $row['id']; ?></td>
<td>
<?php echo $row['name']; ?></td>
</tr>
<?php } ?>
viking
2.11.2017, 05:15:43
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
2.11.2017, 06:59:19
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
2.11.2017, 07:04:46
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
2.11.2017, 16:41:50
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
2.11.2017, 16:48:04
Agresywny cache. Uruchamiaj w trybie prywatnym.
Qatadah
2.11.2017, 17:30:00
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
2.11.2017, 18:50:14
Odświeżaj stronę za pomocą Ctrl+F5 po każdej zmianie w kodzie.
Qatadah
3.11.2017, 10:11:34
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
<table border="1" cellspacing="5" cellpadding="5" width="100%"> <?php
require_once('conect.php');
$result = $conn->prepare("SELECT * FROM tabelatestowa");
$result->execute();
for($i=0; $row = $result->fetch(); $i++){
?>
<?php } ?>
viking
3.11.2017, 10:39:46
Podstawy sql, poczytaj czasami dokumentację:
SELECT * FROM tabelatestowa ORDER BY kolumna.
Qatadah
3.11.2017, 19:33:41
ale to wiem według kolumny po indeksie tylko jak zrobić na opak od najwyższego indeksu w dół
viking
3.11.2017, 19:44:22
Qatadah
3.11.2017, 21:05:37
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
6.11.2017, 14:16:04
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.