![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 401 Pomógł: 0 Dołączył: 18.04.2003 Skąd: Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
mhm mam troche zonka bo niewiem jak zrobic takie cus :
wyciagac sobie dane textowe z bazy - dokladnie zawartosc jedengo pola w jednej tabeli... no i chcialbym aby (bo text jest dlugi) ten tekst rozlozyl sie na dwie kolumny -> 1wsza | 2ga mhm tylko jak to zrobic, ma ktos jakis niecny plan jak sie do tego zabrac ? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 223 Pomógł: 0 Dołączył: 22.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Podzielić tekst na wyrazy. Potem podzielić na połowe. Pierwszą połowe umieścić w pierwszej kolumnie - drugą w drugiej :-).
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat mhm mam troche zonka bo niewiem jak zrobic takie cus :
wyciagac sobie dane textowe z bazy - dokladnie zawartosc jedengo pola w jednej tabeli... no i chcialbym aby (bo text jest dlugi) ten tekst rozlozyl sie na dwie kolumny -> 1wsza | 2ga mhm tylko jak to zrobic, ma ktos jakis niecny plan jak sie do tego zabrac ? No, wypadałoby chyba podzielić go na dwie części w połowie. O to Ci chodzi? Jak tak to może się przydać chunk_split() i wordwrap(), albo zwykły substr(). |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 223 Pomógł: 0 Dołączył: 22.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat No, wypadałoby chyba podzielić go na dwie części w połowie. O to Ci chodzi?
Jak tak to może się przydać chunk_split() i wordwrap(), albo zwykły substr(). Substr raczej odpada - potnie nam słowa na kawałki. Wordwrap tez się wywala przy dłuższych słowach. chunk_split to samo... |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy o to chodziło:
[php:1:fdc0e3fe58]<?php function podziel($res) { $tmp=explode(" ",$res); $polowa=ceil(count($tmp); $txt ="<table border="0" width="400">"; $txt.="<tr><td width="50%">"; $txt.=implode(" ",array_slice($tmp,$polowa)); $txt.="</td><td width="50%">"; $txt.=implode(" ",array_slice($tmp,(0-$polowa))); // *** $txt.="</td></tr></table>"; return($txt); } ?>[/php:1:fdc0e3fe58] Nie jestem pewien co do miejsca oznaczonego "***" (być może trzeba tam będzie dać '1' zamiast '0'), ale powinno działać. Zwróci tabelkę z dwiema kolumnami ładnie wypełnionymi tekstem. -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Sorry zamień tamtą linijkę numer 5 na poniższą:
[php:1:66652e941c]<?php $polowa=ceil(count($tmp)/2); ?>[/php:1:66652e941c] -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 401 Pomógł: 0 Dołączył: 18.04.2003 Skąd: Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
hmm ponizszy kodzik : [php:1:f26019e8bb]function podziel($res)
{ $tmp=explode(" ",$res); $polowa=ceil(count($tmp)/2); $txt ="<table border="0" width="400">"; $txt.="<tr><td width="50%">"; $txt.=implode(" ",array_slice($tmp,$polowa)); $txt.="</td><td width="50%">"; $txt.=implode(" ",array_slice($tmp,(0-$polowa))); // *** $txt.="</td></tr></table>"; return($txt); } mysql_connect("localhost","root","admin"); mysql_select_db("baza"); $query = mysql_query("SELECT * FROM tabela;"); while ($record = mysql_fetch_array($query)) { $dane = $record[3]; echo podziel($dane); }[/php:1:f26019e8bb] ladnie dzieli na dwie kolumny wyciagniete dane ale jest jeden problem ze to sa takie same dwie kolumny... i tak samo sa og gory przyciete.. tzn text ktory ma jakias cala strone w 1024x768 on jakby zostal od pewnego momentu ucienty... mhm :| |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Zamień linijkę nr 8 na tą:
[php:1:4d1d48ebb7] $txt.=implode(" ",array_slice($tmp,0)); [/php:1:4d1d48ebb7] a linijkę nr 10 na tą: [php:1:4d1d48ebb7]<?php $txt.=implode(" ",array_slice($tmp,$polowa)); ?>[/php:1:4d1d48ebb7] -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat ladnie dzieli na dwie kolumny wyciagniete dane ale jest jeden problem ze to sa takie same dwie kolumny... i tak samo sa og gory przyciete.. tzn text ktory ma jakias cala strone w 1024x768 on jakby zostal od pewnego momentu ucienty... mhm :|
Szczerze mówiąc ciężko jest osiągnąć dokładnie coś takiego samym php. Różnie to może wyglądać w różnych rozdzielczościach więc to bardziej zadanie dla języka client-side. php nie jest w stanie przewidzieć jakiej rozdzielczości używa klient, jak rozłożone są tabelki na stronie i jakiej są długości. -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat php nie jest w stanie przewidzieć jakiej rozdzielczości używa klient, jak rozłożone są tabelki na stronie i jakiej są długości.
Ale można mniej więcej "na sztywno" określić szerokość tabelki, i ewentualnie zastosować wordwrap [php:1:ce2aa7c9a3]<?php wordwrap(wyraz,20,"-<br>"); ?>[/php:1:ce2aa7c9a3] co spowoduje podzielenie słowa i zakończenie myślnikiem, coś jak w gazetach na przykład. -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Linijka 8:
[php:1:75abaf3c45]<?php $txt.=implode(" ",array_slice($tmp,0,$polowa)); ?>[/php:1:75abaf3c45] Linijka 10: [php:1:75abaf3c45]<?php $txt.=implode(" ",array_slice($tmp,$polowa,$polowa)); ?>[/php:1:75abaf3c45] -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 401 Pomógł: 0 Dołączył: 18.04.2003 Skąd: Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
panie i panowie : brawa dla spenalzo
![]() [php:1:4d0d9c955a]function podziel($res) { $tmp=explode(" ",$res); $polowa=ceil(count($tmp)/2); $txt ="<table border="0" width="400">"; $txt.="<tr><td width="50%" valign="top">"; $txt.=implode(" ",array_slice($tmp,0,$polowa)); $txt.="</td><td width="50%" valign="top">"; $txt.=implode(" ",array_slice($tmp,$polowa,$polowa)); $txt.="</td></tr></table>"; return($txt); } mysql_connect("localhost","root","admin"); mysql_select_db("test"); $query = mysql_query("SELECT * FROM tabela;"); while ($record = mysql_fetch_array($query)) { $dane = $record[0]; echo podziel($dane); }[/php:1:4d0d9c955a] nio teraz chodzi gucio ... ![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat panie i panowie : brawa dla spenalzo
![]() A jednak nowy avatar Inżyniera coś dał ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 10:06 |