Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Wyświetlanie rekordów naprzemian w dwóch kolumnach
Forum PHP.pl > Forum > Przedszkole
kamilosxd678
Chciałbym, aby rekordy były na przemian wyświetlane w dwóch kolumnach w tabeli, jednak skrypt działa połowicznie :/ wyświetla się tylko lewa komórka tableki, a prawa nie bardzo :/
  1. //Zapytania
  2. $contact_tresc = 'SELECT `id`,`name`,`value`,`type` FROM `kontakt` ORDER BY `type` DESC';
  3. $contact_zapytanie = mysql_query($contact_tresc);
  4. //Wyświetlanie
  5. echo '<table widht="712px" border="1">';
  6. echo '<tr><td width="712px" valign="top" align="center" colspan="2">'. $welwiersz[3] .'</td></tr>';
  7. echo '<tr>';
  8. echo '<td widht="356px" align="left">';
  9. $contact_wiersze = mysql_num_rows($contact_zapytanie);
  10. $kolumna1 = $contact_wiersze/2;
  11. for($i=0;$i<$kolumna1;$i++){
  12. $nx = $i*2;
  13. $contact_tresc_kolumna1 = 'SELECT `id`,`name`,`value`,`type` FROM `kontakt` ORDER BY `id` ASC LIMIT '.$nx.',1';
  14. $contact_zapytanie1 = mysql_query($contact_tresc_kolumna1);
  15. while($contact_wiersz=mysql_fetch_row($contact_zapytanie1)){
  16. //Prefix
  17. if($contact_wiersz[3]=="mail"){
  18. $prefix = 'mailto:';
  19. }
  20. elseif($contact_wiersz[3]=="gg"){
  21. $prefix = 'gg:';
  22. }
  23. elseif($contact_wiersz[3]=="web"){
  24. $prefix = 'http://';
  25. }
  26. else
  27. {
  28. $prefix = '';
  29. }
  30. echo $contact_wiersz[1].' - <a href="'.$prefix.$contact_wiersz[2].'">'.$contact_wiersz[2].'</a><br>';
  31. }
  32. echo $contact_tresc_kolumna1;
  33. }
  34. echo '</td>';
  35. echo '<td width="356px" align="right">';
  36. $kolumna2 = $contact_wiersze/2;
  37. for($i=1;$i<$kolumna1;$i++){
  38. $nz = $i*2-1;
  39. $contact_tresc_kolumna2 = 'SELECT `id`,`name`,`value`,`type` FROM `kontakt` ORDER BY `id` ASC LIMIT '.$nz.',1';
  40. $contact_zapytanie2 = mysql_query($contact_tresc_kolumna2);
  41. while($contact_wiersz=mysql_fetch_row($contact_zapytanie2)){
  42. //Prefix
  43. if($contact_wiersz[3]=="mail"){
  44. $prefix = 'mailto:';
  45. }
  46. elseif($contact_wiersz[3]=="gg"){
  47. $prefix = 'gg:';
  48. }
  49. elseif($contact_wiersz[3]=="web"){
  50. $prefix = 'http://';
  51. }
  52. else
  53. {
  54. $prefix = '';
  55. }
  56. echo $contact_wiersz[1].' - <a href="'.$prefix.$contact_wiersz[2].'">'.$contact_wiersz[2].'</a><br>';
  57. echo $contact_tresc_kolumna2;
  58. }
  59. }
  60. echo '</td>';
  61. echo '</tr>';
  62. echo '</table>';


Z góry dziękuję
~Kamilos
potreb
Nie za bardzo rozumiem twój skrypt, w pętli for tak jakby tworzysz niewiadomą liczbę zapytań żeby wyciągnąć dane i podzielić je na kolumny, może się mylę?

Dam ci przykład, który ci może przybliży działanie.
  1. echo "<ul class='more_collums admin'>\n";
  2. $i = 0;
  3. while ($data = dbarray($result))
  4. {
  5. if ($auth->ifPerm($data['admin_rights']) && $data['admin_link'] != "reserved")
  6. {
  7. if ($i == 4)
  8. {
  9. echo "<li style='clear:both;'> </li>\n";
  10. $i = 0;
  11. }
  12.  
  13.  
  14. echo "<li style='width: 20%' class='tbl3'>
  15. <a href='".$data['admin_link']."'><img src='".ADMIN."images/".$data['admin_image']."' alt='".$data['admin_title']."' style='border:0px;' />\n<br/>".$data['admin_title']."</a>
  16. </li>\n";
  17. }
  18. $i++;
  19. }
  20. echo "</ul>";


Klasa more_collums admin ma ustawioną dla li float: left, a w czwartym wystąpieniu dodanie li z clear: both; dzięki któremu wiersz przechodzi do nowej lini.
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.