Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML] Tabela z dwiema kolumnami oraz SQL
k0b3
post 21.02.2007, 18:38:16
Post #1





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 1.08.2006
Skąd: Kielce

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


mam pewien problem i nie wiem jak się do tego zabrać... A wiem, że wszystko da się rozwiązać, trzeba tylko chęci, a obecnie je mam.. biggrin.gif

mam tabele w html mającą 2 kolumny, a wniej jakas zmienna pobrana z bazy mysql...


col1 _____| col2__|
$a.........|..........|


tablica powiązana z $a ma tak z 10 wpisów -> np. kolejne litery alfabetu ze znacznikiem '<br>', aby obniżało do następnego wiersza.

pobierając dane, tabela w html będzie zapewne tak się prezentować

col1 __| col2__|
a........ |..........|
b........ |..........|
c........ |..........|
d........ |..........|
e........ |..........|
f........ |..........|
g........ |..........|
h........ |..........|
i........ |..........|
j.........|..........|

Chicałbym, aby dane automatycznie, porówno rozkładały się po kolumnach... Jest to możliwe?

np.
col1 __| col2__|
a........ |f..........|
b........ |g..........|
c........ |h..........|
d........ |i..........|
e.........|j..........|

i jak dodam nastepny rekord to tabela się powiększa...

Nie wiem sam czy o banał pytam. Siedzę już sporo w HTML... no sam nie wiem, czekam na wasze propozycje ;-)

Z góry thx
Go to the top of the page
+Quote Post
strife
post 21.02.2007, 18:58:18
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(kobemat @ 21.02.2007, 18:38:16 ) *
Nie wiem sam czy o banał pytam. Siedzę już sporo w HTML... no sam nie wiem, czekam na wasze propozycje ;-)


Chyba żartujesz, najpierw pokaż nam co Ty zrobiłeś to Ci pomożemy - nikt za Ciebie nie będzie pisał skryptu! Poczytaj o mysql" title="Zobacz w manualu PHP" target="_manual, przyda Ci się też podstawowa wiedza zapytań sql ( odsyłam do przyklejonego tematu ) jak coś wymyślisz, daj znać to Ci pomożemy.

Pozdrawiam.


--------------------
Go to the top of the page
+Quote Post
k0b3
post 21.02.2007, 19:59:28
Post #3





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 1.08.2006
Skąd: Kielce

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


Chyba sie nie zrozumieliśmy...
Narazie myśle nad takim rozwiązaniem, ale nie ma przykładu.

wiem jak się odczytuje dane... np. do mojej sprawy bylo by tak..


  1. <?php
  2. $wynik = mysql_query ("SELECT * FROM xxx ORDER BY id DESC;");
  3.  
  4. while ($rekord = mysql_fetch_assoc ($wynik)) {
  5. $a = $rekord['a'];
  6.  
  7. echo "<table><tr>
  8. <td>$a</td>
  9. <td></td>
  10. </tr>
  11. </table>";
  12.  
  13. }
  14. ?>


natomiast w tablicy jest ok 10 wpisów (jesli tłumacząc łopatologicznie swój problem to prosze):

id | a |
1 | a |
2 | b |
3 | c |
4 | d |
5 | e |
6 | f |
7 | g |
8 | h |
9 | i |
10| j |

i teraz czytając mój pierwszy post widać że powstaje taka tabelka... problem jaśniejszy?
Moze tu ma być jakaś segregacja w JS... ?
Go to the top of the page
+Quote Post
Cienki1980
post 21.02.2007, 22:29:59
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


No to tłumaczymy łopatologicznie:D

Dane z bazy wyciągnij i umieść w tablicy. Np tak:
  1. <?php
  2. $query="select * from table";
  3. $result=mysql_query($query);
  4. $num=mysql_num_rows($result);
  5. for($i=0;$i<$num;$i++)
  6.  $wynik[$i]=mysql_fetch_array($result);
  7. ?>


Otrzymasz tablicę $wynik z danymi oraz $num która będzie zawierała ilość pobranych wierszy.
Wykorzystując te dane tworzysz sobie bardzo prostego for'a.
  1. <?php
  2. if($num%2==0)//sprawdzasz czy ilość wierszy jest parzysta
  3.  $r=$num/2;//jeżeli tak dzielisz przez dwa
  4. else
  5.  $r=($num+1)/2;//jeżeli nie dodajesz 1 i dzielisz przez dwa
  6.  
  7. //wartość otrzymana z dzielenia podstawiasz do for'a i odpowiednio wyświetlasz tablicę
  8. for($g=0;$g<$r;$g++)
  9. {
  10.  echo $wynik[$g];echo "---";echo $wynik[$g+$r];echo "<BR>";
  11. }
  12. ?>


Proste jak budowa gwoździa.


--------------------
404
Go to the top of the page
+Quote Post
k0b3
post 18.03.2007, 19:52:23
Post #5





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 1.08.2006
Skąd: Kielce

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


ODŚWIERZAM WĄTEK

Jednak nie przydał mi się kiedyś ten skrypt, ale znów potrzebuje pomocy w tej samej sprawie.. Czy aby napewno jest on poprawny?

Chce uzyskać podobny efekt w swojej galeri tak jak to jest w wyszukiwarce google np:
http://images.google.pl/images?svnum=10&am...amp;btnG=Szukaj

jest to zapewne tabela, w wierszu jest 5 kolumn.. Oraz dane pobierane z bazy SQL...

jest jakies dokładne rozwiązanie?

Przepraszam, że tak truje, ale jesteście moją jedyną deską ratunku biggrin.gif tongue.gif

Pozd
Go to the top of the page
+Quote Post
Cienki1980
post 18.03.2007, 20:10:02
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Nooo to żeś mi pojechał po gaciach.

Skrypt, który Ci napisałem został podzielony na dwie części ale jest w 100% sprawny.

Pokaż jaki kod na podstawie tego stworzyłeś i powiedz może gdzie Ci nie działa.


--------------------
404
Go to the top of the page
+Quote Post
k0b3
post 18.03.2007, 20:17:26
Post #7





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 1.08.2006
Skąd: Kielce

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


W żadnym stopniu nie chciałem Cie urazić! :-) jestem Ci wdzięczny za pomoc.

WYświetla tak:

Array---Array
Array---Array

mam np kolumne name w SQL
w postaci takiego zapytania nie wiem jak wyświetlić je zamiast tych ---
Go to the top of the page
+Quote Post
Cienki1980
post 18.03.2007, 20:27:29
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Cytat(kobemat @ 18.03.2007, 20:17:26 ) *
W żadnym stopniu nie chciałem Cie urazić! :-) jestem Ci wdzięczny za pomoc.

WYświetla tak:

Array---Array
Array---Array

mam np kolumne name w SQL
w postaci takiego zapytania nie wiem jak wyświetlić je zamiast tych ---


No to pokaż ten kod a na pewno coś zdziałamy, tak żeby było dobrze biggrin.gif


--------------------
404
Go to the top of the page
+Quote Post
k0b3
post 18.03.2007, 20:38:43
Post #9





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 1.08.2006
Skąd: Kielce

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


Kod nie jest zmieniony:
  1. <?
  2. include ('../config.php');
  3. mysql_connect($db_host,$username,$password);
  4. @mysql_select_db($database) or die("Nie odnaleziono bazy danych");
  5.  
  6.  
  7. $query="select * from galeria";
  8. $result=mysql_query($query);
  9. $num=mysql_num_rows($result);
  10. for($i=0;$i<$num;$i++)
  11.  $wynik[$i]=mysql_fetch_array($result);
  12.  
  13. if($num%2==0)//sprawdzasz czy ilość wierszy jest parzysta
  14.  $r=$num/2;//jeżeli tak dzielisz przez dwa
  15. else
  16.  $r=($num+1)/2;//jeżeli nie dodajesz 1 i dzielisz przez dwa
  17.  
  18. //wartość otrzymana z dzielenia podstawiasz do for'a i odpowiednio wyświetlasz tablicę
  19. for($g=0;$g<$r;$g++)
  20. {
  21.  echo $wynik[$g];echo "---";echo $wynik[$g+$r];echo "<BR>";
  22. }
  23. ?>


Galeria SQL:
1.id
2.katalog
3.data
4.tytul

o znalzalem strone z właśnie takim efektem..:

http://galeria.4energy.pl/

Ten post edytował kobemat 18.03.2007, 20:43:17
Go to the top of the page
+Quote Post
Cienki1980
post 18.03.2007, 20:52:04
Post #10





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


  1. <?php
  2. echo $wynik[$g]['tytul'];echo "---";echo $wynik[$g+$r]['tytul'];echo "<BR>";
  3. ?>


--------------------
404
Go to the top of the page
+Quote Post
k0b3
post 18.03.2007, 21:03:04
Post #11





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 1.08.2006
Skąd: Kielce

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


Świetnie!
działa.. ale...

wyświetla w jednym wierszu tylko 2 rekordy, a chciabym np 4

a__b__c__d
g__f__i___j
k__l__m__n

kombinuje z cyferkami (jestem na rozszerzonej matmie tongue.gif ) i nie daje rady... znowu help

  1. <?php
  2. if($num%2==0)//sprawdzasz czy ilość wierszy jest parzysta
  3.  $r=$num/2;//jeżeli tak dzielisz przez dwa
  4. else
  5.  $r=($num+1)/2;//jeżeli nie dodajesz 1 i dzielisz przez dwa
  6. ?>


To jest chyba najlepsze forum odnośnie tej tematyki. Wiele konkurencji, ale tu jest klimat, odpowiadać w 5min!

Jeszcze raz dzięki ;-)
Go to the top of the page
+Quote Post
Cienki1980
post 18.03.2007, 21:45:47
Post #12





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


No to musimy zmienić koncepcje:
  1. <?php
  2. $pyt=mysql_query("select * from galeria");
  3.  $ile=mysql_num_rows($pyt);
  4.  for($i=0;$i<$ile;$i++)
  5. $wynik[]=mysql_fetch_array($pyt);
  6.  
  7.  
  8.  
  9.  for($g=0;$g<$ile;$g+=4) 
  10.  {
  11. if(isset($wynik[$g]['tytul']))
  12.  echo $wynik[$g]['tytul'];
  13. if(isset($wynik[$g+1]['tytul']))
  14.  echo "--".$wynik[$g+1]['tytul'];
  15. if(isset($wynik[$g+2]['tytul']))
  16.  echo "--".$wynik[$g+2]['tytul'];
  17. if(isset($wynik[$g+3]['tytul']))
  18.  echo "--".$wynik[$g+3]['tytul'];
  19. echo "<BR>";
  20.  }
  21. ?>


--------------------
404
Go to the top of the page
+Quote Post
k0b3
post 18.03.2007, 23:12:59
Post #13





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 1.08.2006
Skąd: Kielce

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


Wielki plus dla Ciebie!
Wielkie dzięki za pomoc! o to właśnie mi chodziło

Pozdrawiam winksmiley.jpg

Aj.. jednak wracam do tematu... tongue.gif

z tekstem nie ma problemu - układa się tak jak chciałem, natomiast jeśli dodam div'a to przedstawia sie kod:

[]
[]
[]
[]
[]
[]
[]

... zamiast:

[] [] []
[] [] []
[] []

zmieniłem i zastosowałem 3 rekordy w wierszu...

  1. <?php
  2. $pyt=mysql_query("select * from galeria");
  3.  $ile=mysql_num_rows($pyt);
  4.  for($i=0;$i<$ile;$i++)
  5. $wynik[]=mysql_fetch_array($pyt);
  6.  
  7.  
  8.  
  9.  for($g=0;$g<$ile;$g+=3) 
  10.  {
  11. if(isset($wynik[$g]['opis']))
  12.  echo ('<div style="border:1px #000000 solid; width:140px; text-align:center; padding-top:7px; padding-bottom:7px">
  13. <img src="xxxx.jpg" width="125" />'.$wynik[$g]['opis'].'</div>');
  14. if(isset($wynik[$g+1]['opis']))
  15.  echo ('<div style="border:1px #000000 solid; width:140px; text-align:center; padding-top:7px; padding-bottom:7px">
  16. <img src="xxxx.jpg" width="125" />
  17. '.$wynik[$g+1]['opis'].'</div>');
  18.  
  19. if(isset($wynik[$g+2]['opis']))
  20. echo ('<div style="border:1px #000000 solid; width:140px; text-align:center; padding-top:7px; padding-bottom:7px">
  21. <img src="xxxx.jpg" width="125" /><br>
  22. '.$wynik[$g+2]['opis'].'</div>');
  23. echo "<BR>";
  24. }
  25. ?>
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: 19.07.2025 - 09:45