Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Podświetlenie konkretnego wiersza
Forum PHP.pl > Forum > Przedszkole
Snoopy
Witam.
Mam taki programik ktory wyswietla liste pewnych rzeczy ktore mam zapisane w bazie danych (SQL).

Wszystko się ładnie wyświetla w postaci kolejnych wierszy.
Obok każdego z nich jest link przesyłający zmienną z id danej rzeczy do kolejnego programu ktory ustawia STATUS tej rzeczy na 1.

Dzieki temu tylko jedna rzecz w mojej bazie moze miec STATUS 1, wszystkie inne mają 0.

I teraz pytanie. Jak zrobić aby po nastepnym wygenerowaniu tabeli, Wiersz zawierający dane o "tej" rzeczy miał inny kolor niz reszta. Wydaje mi sie ze wykorzystanie statusu jest dobrym rozwiazaniem (poza tym przyda mi sie to jeszcze na pozniej).

Gdy w pętli while zamieszcze dodatkowo if STATUS==1 to zamienia mi na dany kolor wszystkie wiersze w tabeli. co robie nie tak.
LBO
  1. <TABLE>
  2. <TR><TD>id</TD></TD>nazwa produktu</TD></TR>
  3. <?
  4. $sql = 'SELECT * FROM produkty';
  5. $result = mysql_query ('SELECT * FROM produkty');
  6. while ($row = mysql_fetch_assoc($result)) {
  7. print('<TR>');
  8. if ($row['status'] == 1) {
  9. print('<TD BGCOLOR="#FF0000">');
  10. } else {
  11. print('<TD>');
  12. };
  13. print("{$row['id']}</TD><TD>{$row['name']}</TD>");
  14. print("</TR>n");
  15. }
  16. ?>
  17. </TABLE>
Snoopy
Sorry ale nie zrozumielismy sie.
Nie sprawdzilem tego jeszcze ale na pierwszy rzut oka wyglada na to ze on mi podswietli tylko jedna komorke.

Drugie na co mi tez to wyglada to to, ze program zinterpretuje to w taki sposob:
jesli sie pojawi STATUS = 1 to uzyj koloru JAKIEGOS TAM

ale programu nie obchodzi ktory to jest wiersz tylko to "ZE ISTNIEJE TAKI" .
I w efekcie podswietli mi wszystkie pierwsze komorki w kazdym z wierszy.
nospor
skoro ty takwszystko wiesz na pierwszy rzut oka, to nie rozumiem czemu sam tego nie napiszesz?

skrypt LBO podswietli jedną komorke. chesz wiersz? daj podswietenie na tr a nie na td. w czym problem?

pozatym podswietli komorke gdy rekord ma status = 1. sam mowiles ze taki rekord jest tylko jeden wiec pokoloruje tylko jeden rekord. w czym problem?
LBO
masz racje podswietli tylko jedna komorke, wiec update'cik maly:
  1. <TABLE>
  2. <TR><TD>id</TD></TD>nazwa produktu</TD></TR>
  3. <?
  4. $sql = 'SELECT * FROM produkty';
  5. $result = mysql_query ('SELECT * FROM produkty');
  6. while ($row = mysql_fetch_assoc($result)) {
  7. print('<TR>');
  8. if ($row['status'] == 1) {
  9. $color = '#FF0000';
  10. } else {
  11. $color='#ffffff';
  12. };
  13. print("<TD BGCOLOR=$color>{$row['id']}</TD><TD BGCOLOR=$color>{$row['name']}</TD>");
  14. print("</TR>n");
  15. }
  16. ?>
  17. </TABLE>


napisales ze status "tej" rzeczy - i tylko tej rzeczy - rowny jest 1, wiec podswietli tylko "tę" rzecz
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.