![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 2 Dołączył: 9.03.2004 Skąd: POLSKA Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam problem. Nie wiem jak uzyskać naprzemienne kolorowanie wierszy w wynikach z MySQL-a oraz jak spawić, aby wyświetlać wyniki po 20 wierszy na stronie + linki do następnych wyników. [php:1:e718b10f29] <?php //Pobranie zmiennych $typ = ($typ); $kraj = ($kraj); $sortowanie = ($sortowanie); $jakatabela = $typ . "_" . $kraj; $string = ($kraj); ?> [/php:1:e718b10f29] ... Kod <table style="FONT-SIZE: 10pt" cellspacing="0" cellpadding="0" width="750" border="1"> <tbody> <tr> <td nowrap bordercolorlight="#ffffff" align="left" bgcolor="#ffffff" bordercolordark="#fdca00"> <?php echo "<p align="center"><b><font color="#ffffff" size="2" face="Verdana"><a href="motor_polska.php3?typ=" . $typ . "&kraj=" . $kraj . "&sortowanie=firma">Firma</a></font></b></p>"; ?> </td> <td nowrap bordercolorlight="#ffffff" align="left" bgcolor="#ffffff" bordercolordark="#fdca00"> <?php echo "<p align="center"><b><font color="#fdca00" size="2" face="Verdana"><a href="motor_polska.php3?typ=" . $typ . "&kraj=" . $kraj . "&sortowanie=miasto">Miasto</a></font></b></p>"; ?> <td nowrap bordercolorlight="#ffffff" align="left" bgcolor="#ffffff" bordercolordark="#fdca00"> <?php echo "<p align="center"><b><font color="#fdca00" size="2" face="Verdana"><a href="motor_polska.php3?typ=" . $typ . "&kraj=" . $kraj . "&sortowanie=www">adres WWW</a></font></b></p>"; ?> </td> </tr> [php:1:e718b10f29] <?php //Łączenie z bazą $polaczenie = mysql_connect ("localhost","login","pass"); mysql_select_db ("baza_danych"); $wyniki = mysql_query ("SELECT * FROM $jakatabela ORDER BY $sortowanie"); $proba = 0; while ($dane = mysql_fetch_array($wyniki)) {$proba = 1; echo "<tr>"; //Wyswietlenie nazwy firmy echo "<td nowrap bordercolorlight="#ffffff" align="left" bgcolor="#fdca00" bordercolordark="#fdca00"><font size="2" face="Arial"><b>"; if ($dane["firma"] != "") { echo $dane["firma"]; } else { echo " "; } echo "</b></font></td>"; //Wyswietlenie miasta echo "<td nowrap bordercolorlight="#ffffff" align="left" bgcolor="#fdca00" bordercolordark="#fdca00"><font size="2" face="Arial">"; if ($dane["miasto"] != "") { echo $dane["miasto"]; } else { echo " "; } echo "</font></td>"; //Wyswietlenie adresu echo "<td nowrap bordercolorlight="#ffffff" align="left" bgcolor="#fdca00" bordercolordark="#fdca00"><font size="2" face="Arial">"; if ($dane["www"] != "") { echo "<a href="http://" . $dane["www"]. "" target="_blank">" . $dane["www"]. "</a>"; } else { echo " ..."; } echo "</font></td>"; echo "</tr>"; } mysql_close($polaczenie); ?> [/php:1:e718b10f29] Walczę z tym już od dłuższego czasu i nie wiem jak to ugryźć. Pomóżcie proszę! |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W pętli while daj:
[php:1:104518c21f]<?php $row = $proba % 2 ? 'klasa_wiersza_1' : 'klasa_wiersza_2'; ?>[/php:1:104518c21f] Dlej używasz w miejscu td class="$row". Działa to na prostej zasadzie - jeśli nie ma reszty z dzielenia, czyli liczba jest parzysta to wiersz będzie miał klasę pierwszą ('klasa_wiersza_1'). Jeśli zostaje z dzielenia reszta to wiersz będzie miał klasę drugą ('klasa_wiersza_2' ). |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Naprzemienne kolorowanie uzyskasz dodajac licznik do petli i sprawdzajac jego podzielnosc przez 2.
[php:1:55a8349bbe]<?php while (...) { if ($i % 2) { // wiersz nieparzysty } else { // wiersz parzysty } } ?>[/php:1:55a8349bbe] Co do stronicowania to odpal wyszukiwarke, ten temat byl juz walkowany niejednokrotnie. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 133 Pomógł: 0 Dołączył: 15.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Oto teoretyczne założenia kolorowania wyników:
Przed rozpoczeciem wyświetlania wyników tworzysz dwie zmienne: [php:1:3cd03e0e89]<?php $kolor = "#003366"; ?>[/php:1:3cd03e0e89] teraz przy rozpoczęciu pętli while piszesz: [php:1:3cd03e0e89]<?php if($kolor=="#003366") { $kolor="#FFFFFF"; } else { $kolor="#003366"; } ?>[/php:1:3cd03e0e89] Działanie jest banalne, jeżeli jest jeden kolo to zmienia na drugi. Teraz wystarczy użyć zmiennej kolor. To tyle jeżeli chdodzi o kolorowanie wierszy. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 2 Dołączył: 9.03.2004 Skąd: POLSKA Ostrzeżenie: (0%) ![]() ![]() |
Problem jeszcze jest w tym, że nie bardzo wiem w którym miejscu powinienem umieścić te wpisy w swoim kodzie.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Bazy danych => php
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 22.04.2003 Skąd: Wawa Ostrzeżenie: (0%) ![]() ![]() |
przykładowe zapytanie:
Kod $zapytanie= "SELECT imie,nazwisko FROM kontakty";
$wykonaj = mysql_query($zapytanie); while($wiersz=mysql_fetch_array($wykonaj)) { i teraz miejsce na sprawdzanie parzystości wiersza: Kod if($i%2){
$kolor="#E7EFE5"; } else { $kolor="#CFDEE1"; } i wyświetlanie: Kod echo "<tr bgcolor=$kolor><td>tresc</td></tr>";
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 21:50 |