Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] zmiana wartości dla danej w tablicy
PAL MAL
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.09.2004

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


Witam! Może problem błahy ale jako pseudoprogramista nie mogę znaleźć rozwiązania swojego problemu.

Mam tabelę w bazie danych, która ma np. 10 kolumn i np. 500 rekordów. W rekordach znajdują się dane liczbowe. Chciałbym przyjąć, że dane te wyświetlam jeśli mieszczą się w przedziale 0-10, ale jeśli któraś wartość w rekordzie (np. z kolumny 8) będzie mieć wartość 11 to wypisuję komunikat "x". Jeśli wartość będzie 12 to "y"

k1 k2 k3 k4 k5 k6 k7 k8 k9 k10
1 2 3 4 5 6 7 8 9 10
2 4 3 4 3 1 6 11 1 8
1 1 1 1 11 12 7 3 2 1

  1. $wynik = mysql_query("SELECT * FROM liczby") or die('Blad zapytania');
  2.  
  3. if(mysql_num_rows($wynik) > 0) {
  4. while($rmt = mysql_fetch_object($wynik)) {
  5. echo "<tr>";
  6. echo "<td>".$rmt->k1."</td>";
  7. echo "<td>".$rmt->k2."</td>";
  8. echo "<td>".$rmt->k3."</td>";
  9. echo "<td>".$rmt->k4."</td>";
  10. echo "<td>".$rmt->k5."</td>";
  11. echo "<td>".$rmt->k6."</td>";
  12. echo "<td>".$rmt->k7."</td>";
  13. echo "<td>".$rmt->k8."</td>";
  14. echo "<td>".$rmt->k9."</td>";
  15. echo "<td>".$rmt->k10."</td>";
  16. echo "</tr>";
  17. }
  18. echo "</table>";
  19. }


Chciałbym, żeby wynik wyglądał np tak:

k1 k2 k3 k4 k5 k6 k7 k8 k9 k10
1 2 3 4 5 6 7 8 9 10
2 4 3 4 3 1 6 x 1 8
1 1 1 1 x y 7 3 2 1
Go to the top of the page
+Quote Post
matiit
post
Post #2





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

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


  1. $wynik = mysql_query("SELECT * FROM liczby") or die('Blad zapytania');
  2.  
  3. if(mysql_num_rows($wynik) > 0) {
  4. while($rmt = mysql_fetch_array($wynik)) {
  5.  
  6. echo "<tr>";
  7. foreach($rmt as $r)
  8. {
  9. if ( (int) $r >= 0 && (int) $r <=10)
  10. echo "<td>".$r."</td>";
  11. else if ( (int) $r == 11)
  12. echo "<td>x</td>";
  13. else if ( (int) $r == 12)
  14. echo "<td>y</td>";
  15. else
  16. "<td></td>";
  17. }
  18.  
  19. echo "</tr>";
  20. }
  21. echo "</table>";
  22. }


Nieoptymalne, ale jest późna godzina i nie chciałem pól kodu wycinać (IMG:style_emoticons/default/smile.gif)


I z tego co widzę brakuje <table>, ale ja spać już ide to nie wiem (IMG:style_emoticons/default/smile.gif)

Ten post edytował matiit 26.04.2013, 21:53:17
Go to the top of the page
+Quote Post
franki01
post
Post #3





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


  1. $wynik = mysql_query("SELECT * FROM liczby") or die('Blad zapytania');
  2.  
  3. if(mysql_num_rows($wynik) > 0) {
  4. while($rmt = mysql_fetch_assoc($wynik)) {
  5. echo "<tr>";
  6. foreach($rmt as $k => $v)
  7. {
  8. echo '<td>';
  9. if($v == 11) echo 'x';
  10. else if($v == 12) echo 'y';
  11. else echo $v;
  12. echo '</td>';
  13. }
  14. echo "</tr>";
  15. }
  16. echo "</table>";
  17. }

Zauważ, że zmieniłem mysql_fetch_object na mysql_fetch_assoc. Na talicy wyników łatwiej się operuje, chociaż tutaj nie ma to większego znaczenia.

Ten post edytował franki01 26.04.2013, 22:14:38
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: 3.10.2025 - 14:36