Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] łamanie kolumny, wyświetlanie wyników
molesta
post 3.03.2008, 21:01:07
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 3.03.2008

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


Witam ma pytanko:
Chciałbym aby wyniki były wyświetlane w równych kolumnach po 5 rekordów.
  1. <?php
  2. echo "<center><div style='width:770px;height:70px;border:solid;'";
  3. $limit = 10;
  4.  
  5.  
  6. $query = mysql_query('SELECT * FROM `testy` ORDER BY `ile` DESC LIMIT ' . $limit);
  7.  
  8.  
  9. while($row = mysql_fetch_assoc($query))
  10. {
  11. echo '<a href="http://www.szukacz.bunet.pl/index.htm?q='.$row['fraza'].'&enc=iso-8859-2">'.$row['fraza'].'</a></br>';
  12. }
  13. echo "</div></center>";
  14. ?>

Tak wyglada czesc kodu odpowiedzialna za wyświetlanie wyników
W tej chwili wyświetla tak:
1
2
3
4
5
6
7
8
9
10 itd
A chciałbym aby było tak:

1    |    6
2    |    7
3    |    8
4    |    9
5    |    10

Czyli w dwóch kolumnach
Ni jak niewiem jak to zrobić.....
czy moge prosić o pomoc ?
Pozdrawiam


--------------------
Spolszczenie Dolphin oraz Forum wsparcia
Go to the top of the page
+Quote Post
-Wieviór-
post 3.03.2008, 21:34:37
Post #2





Goście







Ja bym to zrobił tak, robisz <div class="container" style="float: left;">.

  1. <?php
  2. echo container start
  3. while (leca rekordy)
  4. { 
  5. $liczba=1;
  6. if ($liczba podzielna przez 5) { echo container end, container start }
  7. echo div zwykly z zawartoscia jednego rekordu.
  8. $liczba++;
  9. }
  10. if ($liczba nie podzielna przez 5) { echo container end }
  11. ?>


Ten post edytował Wieviór 3.03.2008, 21:37:29
Go to the top of the page
+Quote Post
molesta
post 3.03.2008, 21:38:49
Post #3





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 3.03.2008

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


nie kumam....możesz to przedstawić na jakimś realnym przykładie albo jak to zaadoptowac do mojego skryptu?
nic z tego nie rozumiem biggrin.gif


--------------------
Spolszczenie Dolphin oraz Forum wsparcia
Go to the top of the page
+Quote Post
-Wieviór-
post 3.03.2008, 21:46:58
Post #4





Goście







Masz tu "funkcję", która wyświetla normalnie rekordy, każdy w divie, co pięć rekordów stwierdza, że trzeba przejść od nowej kolumny, więc kończy jeden kontener i zaczyna następny, które mają float: left, więc będą koło siebie.

Jak zaadoptować do twojego kodu? Po prostu w ten sposób zbuduj while.
Go to the top of the page
+Quote Post
molesta
post 3.03.2008, 21:55:58
Post #5





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 3.03.2008

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


niewiem co z tym zrobić:/


--------------------
Spolszczenie Dolphin oraz Forum wsparcia
Go to the top of the page
+Quote Post
-Wieviór-
post 3.03.2008, 21:57:15
Post #6





Goście







A próbowałeś? Pokaż co zrobiłeś to Ci coś podpowiem.

Na gotowca nie licz.
Go to the top of the page
+Quote Post
molesta
post 4.03.2008, 12:47:21
Post #7





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 3.03.2008

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


Witam, napisałem taki skrypt:
  1. <?php
  2. $polaczenie = @mysql_connect('localhost', 'xxx', 'xxx')
  3. or die('Brak polaczenia z serwerem mysql. Blad: '.mysql_error());
  4.  
  5. $db = @mysql_select_db('xxx', $polaczenie)
  6. or die('Nie moge polaczyc sie z baza danych. Blad: '.mysql_error());
  7.  
  8.  
  9. $fraza = mysql_real_escape_string($_POST['fraza']);
  10.  
  11. $query = mysql_query('SELECT ile FROM testy WHERE fraza = \"' . $fraza . '\"');
  12.  
  13. if(mysql_num_rows($query))
  14. {
  15. $query = mysql_fetch_assoc($query);
  16. mysql_query('UPDATE testy SET ile = ' . ($query['ile'] + 1) . '
  17.  WHERE fraza = \"' . $fraza . '\"');
  18. }
  19. else
  20. {
  21. mysql_query('INSERT INTO testy VALUES(\"' . $fraza . '\", 1)');
  22. }
  23. echo '<div style="\"background-color:#ffffff;width:770px;height:146px;border-style:solid;border-width:1px;border-color:#E3F1FE\"">
  24. <div style="\"width:100%;height:23px;background:#E3F1FE;margin-botton:5px;text-align:left;text-valign:middle;\""> &nbsp;&nbsp;&nbsp;
  25. <font color="\"#173868\"">Top 20 - najpopularniejsze tematy w Szukaczu';
  26. $i = 0;
  27. $limit = 20;
  28.  
  29.  
  30. $query = mysql_query('SELECT * FROM `testy` ORDER BY `ile` DESC LIMIT ' . $limit);
  31. $miejsce=1;
  32.  
  33. while($row = mysql_fetch_assoc($query))
  34. {
  35.  if ($i == 4)
  36. {
  37.  echo '';
  38.  $i = 0;
  39. }
  40.  if ($i == 0)
  41. echo '';
  42. $i++;
  43.  
  44. echo '<font color="\"#919191\"">'.$miejsce++.
  45. <a style="\"text-decoration:none;\" href=\"http://www.szukacz.bunet.pl/index.htm?q='.$row['fraza'].'&enc=iso-8859-2\"title=\"'.$row['fraza'].'\""><font color="\"#173868\"">';
  46. echo substr($row['fraza'], 0, 25);
  47. echo '...';
  48. }
  49. if ($i != 0)
  50. echo '';
  51.  
  52. echo '';
  53. ?>


w tej chwili wyniki są wyświetlane tak: http://www.pangram.pl/szukane/szukane.php

czyli wierszami od lewej

Chciałbym aby były wyświetlane

w czterech kolumnach po 5 rekordów np tak
1 6
2 7
3 8
4 9
5 10

walczyłem z tym całą noc i zabrakło mi pomysłów
Brdzo prosze o pomoc

pozdrawiam


--------------------
Spolszczenie Dolphin oraz Forum wsparcia
Go to the top of the page
+Quote Post
c0cr0ach
post 4.03.2008, 15:07:12
Post #8





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 10.12.2006

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


Spróbuj wyświetlać według takiego schematu:
  1. <?php
  2. echo '<div style="width: 100%">'; // ten div zawiera wszystkie wyniki zapytania
  3. echo '<div style="float: left; margin-right: 50px;">';
  4. while ($row = mysql_fetch_array($query)) {
  5. $i++;
  6. if ($i == 6) {
  7. echo '</div>';
  8. echo '<div style="float: left; margin-right: 50px;">'; // w tym div'ie jest kolumna z pięciu rekordów
  9. $i = 1;
  10. }
  11. echo $row['jakies_pole'];
  12. }
  13. echo '</div></div>';
  14. ?>

To tylko fragment kodu. Reszta powinna zostać bez zmian.

Ten post edytował c0cr0ach 4.03.2008, 15:07:46


--------------------
this world means nothing
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 04:28