Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przyczeczpianie obrazka dla 3 pierwszych rekordów z 10
Forum PHP.pl > Forum > PHP
filipsiu
Witajcie! snitch.gif

Mam taki kod:
  1. <table>
  2. <tr>
  3. <th> </th>
  4. <th>Nick</th>
  5. <th>Odgadniętych</th>
  6. <th>Punktów</th>
  7. </tr>
  8. <?php
  9. $results = mysql_query("SELECT user_name, answers,user_points from users order by user_points DESC LIMIT 10");
  10. while ($row = mysql_fetch_array($results))
  11. {
  12. echo '<tr><td width="50"> </td>';
  13. echo '<td width="400">'.$row['user_name'].'</td>';
  14. echo '<td width="200">'.$row['answers'].'</td>';
  15. echo '<td>'.$row['user_points'].'</td>';
  16. }
  17. echo '</tr></table>';
  18. ?>

i teraz pytanie jak do pierwszych 3 wyników przyczepić 3 różne obrazki ?
Greg0
Użyj inkrementacji

  1. $i=0;
  2. while(){
  3. if($i<3) {
  4. //obrazki
  5. }
  6.  
  7. $i++;
  8. }
filipsiu
@up zrobiłem tak jak mówiłeś mam teraz:
  1. <?php
  2. $i = 0;
  3. $results = mysql_query("SELECT user_name, answers,user_points from users order by user_points DESC LIMIT 10");
  4. while ($row = mysql_fetch_array($results))
  5. {
  6. if($i<3) {
  7. echo '123';
  8. }
  9. $i++;
  10. echo '<tr><td width="50"> </td>';
  11. echo '<td width="400">'.$row['user_name'].'</td>';
  12. echo '<td width="200">'.$row['answers'].'</td>';
  13. echo '<td>'.$row['user_points'].'</td>';
  14. }
  15. echo '</tr></table>';
  16. ?>

ale nie nadal mi o to chodzi, wygląda to teraz tak:
http://imageshack.us/photo/my-images/801/p...tywanieisz.jpg/
na czerwono gdzie teraz jest
a na zielono gdzie powinno być. Zaznaczam że dla 3 miejsc mają być inne obrazki(to to wiem jak, chodzi mi tu o polozenie)
  1. while ($row = mysql_fetch_array($results))
  2. {
  3. if($i<3) {
  4. if($i=1)
  5. {
  6. cos
  7. }
  8.  
  9. if($i=2)
  10. {
  11. cos
  12. }
  13.  
  14. if($i=3)
  15. {
  16. cos
  17. }
  18. }
  19. $i++;
Greg0
Skoro wyświetlasz nazwy użytkowników w tabeli to przydałoby się żeby te testowe liczby czy obrazki też były wyświetlane w tabeli a nie na dziko smile.gif
Podejrzewam że obrazkami mają być medale/puchary lub coś w ten deseń za pierwsze trzy miejsca. Więc zamiast robić ogromny blokowy warunek (przykład który podałeś i tak jest błędny) lepiej obrazki nazwac np. medal1.jpg, medal2.jpg, medal3.jpg i w miejsce numerka w nazwie wstawiać naszą zmienną (odliczać wtedy od 1 a nie od 0 jak jest obecnie)

  1. $i=1;
  2. while(){
  3.  
  4. if($i<=3) {
  5. echo '<img src="medal'.$i.'.jpg" />'; //znów przykład, wstaw to w tabelę żeby dobrze się poustawiało przy nazwach a nie na samej górze.
  6. }
  7.  
  8. $i++;
  9. }
filipsiu
@up czyli rozumiem że
mam dać tak:
  1. <?php
  2. $results = mysql_query("SELECT user_name, answers,user_points from users order by user_points DESC LIMIT 10");
  3. $i=1;
  4. while ($row = mysql_fetch_array($results))
  5. {
  6. if($i<=3) {
  7. echo '<img src="medal'.$i.'.png" />';
  8. }
  9. $i++;
  10. echo '<tr><td width="50"> </td>';
  11. echo '<td width="400">'.$row['user_name'].'</td>';
  12. echo '<td width="200">'.$row['answers'].'</td>';
  13. echo '<td>'.$row['user_points'].'</td>';
  14. }
  15. echo '</tr></table>';
  16. ?>

i ten if w tabelke ? bo nie rozumiem troche powyzszy skrypt owszem, dziala ale wyswietla nad tabelka chodzi mi zeby medal1,2,3 byl przed nickiem
Greg0
Jak odpalisz sobie stronę, zajrzyj w źródło strony, zobacz jak wygląda HTML w tamtym miejscu i zastanów się gdzie musisz wstawić ten obrazek aby wyświetlał się tam gdzie chcesz.
filipsiu
zrobiłem tak:
  1. <?php
  2. $results = mysql_query("SELECT user_name, answers,user_points from users order by user_points DESC LIMIT 10");
  3. $i=1;
  4. while ($row = mysql_fetch_array($results))
  5. {
  6. if($i<=3) {
  7. echo '<tr><td width="50"><img src="medal'.$i.'.png" />'.'</td>';
  8. }
  9. else
  10. {
  11. echo '<tr><td width="50"></td>';
  12. }
  13. $i++;
  14. echo '<td width="400">'.$row['user_name'].'</td>';
  15. echo '<td width="200">'.$row['answers'].'</td>';
  16. echo '<td>'.$row['user_points'].'</td>';
  17. }
  18. echo '</tr></table>';
  19. ?>

i wygląda tak jak powinno. Dziękuję że pomogłeś.
Greg0
Warto klikać pomógł, przynajmniej widać, w którym temacie problem został rozwiązany smile.gif
filipsiu
proszę bardzo smile.gif
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.