Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] zmiana wartości dla danej w tablicy
Forum PHP.pl > Forum > PHP
PAL MAL
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
matiit
  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ć smile.gif


I z tego co widzę brakuje <table>, ale ja spać już ide to nie wiem smile.gif
franki01
  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.
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.