Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] [MYSQL]Warunek if w poleceniu echo
martin1978
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 23.03.2011

Ostrzeżenie: (0%)
-----


Witam
  1.  
  2. <table border="1" width="100%" cellspacing="0" cellpadding="0" bordercolorlight="#000000">
  3.  
  4. <tr>
  5. <td width="100%" colspan="6" bgcolor="#FF7F50"> <p align="center"><b><font size="5">Tabela</font></b></td>
  6. </tr>
  7.  
  8. <tr>
  9. <td width="6%" align="center" bgcolor="#E0E0E0"> <p align="center"><font size="4"><b> ID</b></font></td>
  10. <td width="28%" align="center" bgcolor="#E0E0E0"> <p align="center"><font size="4"><b>Nazwa</b></font></td>
  11. <td width="28%" align="center" bgcolor="#E0E0E0"><font size="4"><b>Cena</b></font></td>
  12. <td width="28%" align="center" bgcolor="#E0E0E0"><font size="4"><b>Ilosc</b></font></td>
  13. <td width="38%" align="center" bgcolor="#E0E0E0"><font size="4"><b>Picture</b></font></td>
  14. </tr>
  15.  
  16. <?php
  17. phpinfo() ;
  18. mysql_connect("localhost, nazwadb, haslo") ;
  19. mysql_select_db (nazwadb);
  20. $zapytanie = "SELECT * FROM Bolek ORDER BY Nazwa ASC";
  21.  
  22. $wykonaj = mysql_query ($zapytanie);
  23. while($wiersz=mysql_fetch_array ($wykonaj)) {
  24. echo " <tr>
  25. <td width=\"6%\" bgcolor=\"#32CD32\" >".$wiersz['id']."</td>
  26. <td width=\"18%\" bgcolor=\"#32CD32\" >".$wiersz['Nazwa']."</td>
  27.  
  28. if (".$wiersz['Cena']." > 1) {
  29. <td width=\"18%\" bgcolor=\"#32CD32\" >".$wiersz['Cena']."</td>
  30. } else {
  31. <td width=\"18%\" bgcolor=\"#FF8C00\" >".$wiersz['Cena']."</td>
  32. } ;
  33.  
  34. <td width=\"18%\" bgcolor=\"#32CD32\" >".$wiersz['Ilosc']."</td>
  35. <td width=\"38%\" bgcolor=\"#32CD32\" > COSS </td>
  36.  
  37. </tr>";
  38. }
  39. ?>
  40.  
  41.  

CEL: Chcę osiągnąć taki, żeby w kolumnie cena jak sie pojawi wartość większa od 1, to komórki tabeli beda w kolorze pomaranczowym , a jezeli nie to pozostaje w zielonym.
Zrobiłem tak jak wyżej, ale mi tego warunku nie sprawdza, nie wiem dlaczego??
I dodatkowo przesuwa wszystkie wartości z kolumny cena do kolumny Ilość, a w kolumnie Picture są wartości z kolumny Ilość, natomiast w kolumnie Picture są wartości z kolumny Ilość itd.
Gdzie robię błąd??
Z góry dziękuje za odpowiedzi
Pozdrawiam

Ten post edytował martin1978 24.05.2011, 18:56:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
peter13135
post
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


  1. mysql_connect("localhost", "nazwadb", haslo") ;

chyba coś nie tak (IMG:style_emoticons/default/smile.gif)

a dalej.. zrób tak
  1. echo 'lalalala';
  2. if(warunek)
  3. echo 'aaaaa';
  4. else echo 'bbbbb'


albo
  1. echo (warunek ? 'warunek spelniony' : 'warunek nie spelniony');
Go to the top of the page
+Quote Post
martin1978
post
Post #3





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 23.03.2011

Ostrzeżenie: (0%)
-----


Już poprawiłem, ale to byl tylko bląd przy wpisywaniu na forum (IMG:style_emoticons/default/smile.gif) , ale tak czy inaczej dzieki.

Jednak skupmy się nad tym:
  1. while($wiersz=mysql_fetch_array ($wykonaj)) {
  2. echo " <tr>
  3. <td width=\"6%\" bgcolor=\"#32CD32\" >".$wiersz['id']."</td>
  4. <td width=\"18%\" bgcolor=\"#32CD32\" >".$wiersz['Nazwa']."</td>
  5. if (".$wiersz['Cena']." > 1) {
  6. <td width=\"18%\" bgcolor=\"#32CD32\" >".$wiersz['Cena']."</td>
  7. } else {
  8. <td width=\"18%\" bgcolor=\"#FF8C00\" >".$wiersz['Cena']."</td>
  9. } ;
  10. <td width=\"18%\" bgcolor=\"#32CD32\" >".$wiersz['Ilosc']."</td>
  11. <td width=\"38%\" bgcolor=\"#32CD32\" > COSS </td>
  12. </tr>";
  13. }


Niestety te dwa rozwiązania co podałeś nie dały efektu, i jest dalej to samo.
Go to the top of the page
+Quote Post
Daiquiri
post
Post #4





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Przecież Twój if jest ujęty w cudzysłowie (5 linijka). Podobnie jak else dalej.
Go to the top of the page
+Quote Post
martin1978
post
Post #5





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 23.03.2011

Ostrzeżenie: (0%)
-----


Zrobiłem to tak:
  1.  
  2. $zapytanie = "SELECT * FROM Ares ORDER BY Nazwa ASC";
  3. #$zapytanie = "SELECT * FROM Ares ORDER BY Nazwa DESC LIMIT 1";
  4. $wykonaj = mysql_query ($zapytanie);
  5. $wiersz=mysql_fetch_array ($wykonaj) ;
  6. if ($wiersz['Cena'] > 2) {
  7. $kolor = orange;
  8. } else {
  9. $kolor = green;
  10. }
  11. while($wiersz=mysql_fetch_array ($wykonaj)) {
  12.  
  13. echo " <tr>
  14. <td width=\"6%\" bgcolor=\"#32CD32\" >".$wiersz['id']."</td>
  15. <td width=\"18%\" bgcolor=\"#32CD32\" >".$wiersz['Nazwa']."</td>
  16. <td width=\"18%\" bgcolor=\"$kolor\" >".$wiersz['Cena']."</td>
  17. <td width=\"18%\" bgcolor=\"#32CD32\" >".$wiersz['Ilosc']."</td>
  18. <td width=\"38%\" bgcolor=\"#32CD32\" > COSS </td>
  19.  
  20. </tr>";
  21. }
  22.  


Tyle, że dalej jest cos nie tak (IMG:style_emoticons/default/sad.gif) . Chodzi o warunek, faktycznie jak wartości w cena są wieksze od 2 to wybiera orange, ale nawet tam gdzie sa wartosci < 2 tez jest orange. Dlaczego ...?
Go to the top of the page
+Quote Post
Ghost_78
post
Post #6





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

Ostrzeżenie: (0%)
-----


Jak widze brakuje troche podstaw (IMG:style_emoticons/default/wink.gif) ale chyba po to miedzy innymi jest to forum.

Zobacz:
  1. $wykonaj = mysql_query ($zapytanie);
  2. $wiersz=mysql_fetch_array ($wykonaj) ;
  3. if ($wiersz['Cena'] > 2) {
  4. $kolor = orange;
  5. } else {
  6. $kolor = green;
  7. }
  8. while($wiersz=mysql_fetch_array ($wykonaj)) {

wykonujesz if'a przed petla. a powiniennes w petli tak, zeby za kazdym razem byl sprawdzany i odpowiednio ustalal Twoj kolor

  1. $wykonaj = mysql_query ($zapytanie);
  2. while($wiersz=mysql_fetch_array ($wykonaj)) {
  3.  
  4. if ($wiersz['Cena'] > 2) {
  5. $kolor = orange;
  6. } else {
  7. $kolor = green;
  8. }
  9.  
  10. //.... cd kodu


poza tym wygodniej chyba jest uzywac mysql_fetch_assoc zamiast mysql_fetch_array
Go to the top of the page
+Quote Post
martin1978
post
Post #7





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 23.03.2011

Ostrzeżenie: (0%)
-----


Tak, to prawda jestem poczatkujący (IMG:style_emoticons/default/smile.gif) .
I dziękuję za pomoc Ghost78. To działa (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 20:11