Forumul SoftpediaBursa auto / moto / veloAnunƣuri imobiliareAnunƣuriOferte de serviciiLocuri de muncă Ɵi cursuri de specializareBloguriJocuriTeste / ReviewsÎntrebări Ɵi răspunsuriChestionareFotoStatistici

Bine ai venit ( Autentificare | Înregistrare )

> REGULI

In cadrul acestei arii sunt permise doar discutiile pe tematici liber alese de catre WEBMASTERI !!!

NU SUNT permise link-urile decat cele catre articole de interes relevante si din surse consacrate !

Linkurile catre site-uri vor fi acceptate doar ca fiind relevante si de stricta necesitate pentru discutii.
Editarea lor se afla la discretia moderatorilor.

SPAM-ul va fi aspru pedepsit !

2 V   1 2 >  
Reply to this topicStart new topic
> Script php
NemoXP
mesaj 13th January 2006, 00:37
Mesaj #1


Junior

Grup: Members
Mesaje: 63
Data înscrierii: 12-January 06
ID membru: 61 090





am si eu nevoie de un script php care sa ia intr-un .txt tot ce este intre <endline>
mai exact:
vreau sa fac o pagina dinamica de bancuri... ele sa se ia dintr-un .txt si sa stie ca vine alt banc prin functia <endline> si pe pagina sa fie afisate 5 bancuri... si sa faca si pagini.. cum este pe www.nautilus.lx.ro/index_ro.php?url=flash_games_ro.php asta ia dintr-un folder toate swf-urile si le listeaza... ceva de genu vreau si eu doar ca sa listeze text (nu file)

multumesc anticipat
Go to the top of the page
 
+Quote Post
cosminnuss
mesaj 13th January 2006, 01:17
Mesaj #2


Active Member

Grup: Members
Mesaje: 1 344
Data înscrierii: 21-October 05
Locație: Middle of nowhere
ID membru: 50 654



de ce nu folosesti o baza de date si sa iei de acolo bancurile?

E cea mai simpla solutie si cel mai usor de administrat
Go to the top of the page
 
+Quote Post
cosminnuss
mesaj 13th January 2006, 01:37
Mesaj #3


Active Member

Grup: Members
Mesaje: 1 344
Data înscrierii: 21-October 05
Locație: Middle of nowhere
ID membru: 50 654



Si un raspuns la intrebarea ta, daca am inteles ce vrei

CODE
$lines=file("fisierul_tau_cu bancuri.txt");
foreach($lines as $line)
{
    echo "<p>".str_replace(Array("\n","\r"),"",$line)."</p>";
}


Vei avea o problema totusi... Nu vei putea folosi "\n" in bancuri... totodata ce este un banc pe o linie. Incearca un delimitator sau direct niste <br>-uri inainte sa bagi bancurile in fisier.

Acest mesaj a fost modificat de cosminnuss: 13th January 2006, 01:53
Go to the top of the page
 
+Quote Post
NemoXP
mesaj 13th January 2006, 10:35
Mesaj #4


Junior

Grup: Members
Mesaje: 63
Data înscrierii: 12-January 06
ID membru: 61 090



oka, imi ia tot dintr-un txt, le afiseaza corespunzator.. dar... ca sa faca si pagini? sa puna 5 / pagina ?(IMG:style_emoticons/default/smile.gif)
mutumesc pt ajutorul de pana acu (IMG:style_emoticons/default/biggrin.gif)

cosminnuss: pt mine e mai usor cu .txt (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
 
+Quote Post
add
mesaj 13th January 2006, 10:49
Mesaj #5


Senior Member

Grup: Senior Members
Mesaje: 7 848
Data înscrierii: 9-September 03
Locație: Homepedia
ID membru: 6 199



use databases...
Go to the top of the page
 
+Quote Post
ada80ro
mesaj 13th January 2006, 13:38
Mesaj #6


Member

Grup: Members
Mesaje: 642
Data înscrierii: 16-May 05
Locație: Brasov
ID membru: 36 814



Pentru paginatie vezi scriptul asta:
CODE
<html>
<head>
  <title> </title>
</head>
<body>
<?php

$lines = file('text_sample.txt');

//numarul de valori afisat pe pagina
$numPerPage = 4;


//seteaza numarul paginii-default 1
$page = isset($_GET['page']) ? $_GET['page'] : 1;

//seteaza elementul din $lines de la care incepe sa citeasca
$start = ($page-1) * $numPerPage;

//afiseaza continutul liniei
for ($i=$start; $i<$start+$numPerPage; $i++) {
    if (isset($lines[$i])) {
            
            //proceseaza linie text
            list($nume,$descriere,$url,$tag)=explode('|',$lines[$i]);//$nume,$descriere,$url,$tag sunt campurile corespunzatoare unei linii-ex: name1|description1|url1|tag1
            echo 'Numele '.$nume.'<br>';
            echo 'Descriere '.$descriere.'<br>';
            echo 'Url '.$url.'<br>';
            echo 'Tag '.$tag.'<br>';
            echo '<hr>';
            
    }

}#end for

//calculeaza numarul total de pagini
$totalPages = ceil(count($lines) / $numPerPage);

$script_page=$_SERVER['PHP_SELF'];

//afiseaza link inapoi
if ($page!=1) {
        echo '<a href="'.$script_page.'?page='.($page-1).'">Previous</a> ';}


//afiseaza numerele paginilor
for ($i=1; $i<=$totalPages; $i++) {

    echo ($i==$page) ? $page.' ' : '<a href="'.$script_page.'?page='.$i.'">'.$i.'</a> ';

}//end for


//afiseaza link inainte
if ($page!=$totalPages){

  echo '<a href="'.$script_page.'?page='.($page+1).'">Next</a>';}

?>
</body>
</html>
Go to the top of the page
 
+Quote Post
cosminnuss
mesaj 13th January 2006, 17:21
Mesaj #7


Active Member

Grup: Members
Mesaje: 1 344
Data înscrierii: 21-October 05
Locație: Middle of nowhere
ID membru: 50 654



Si daca are un "new line" in descriere la banc? Ce faci? (IMG:style_emoticons/default/biggrin.gif)

QUOTE
echo 'Descriere '.$descriere.'<br>';

incearca
CODE
echo 'Descriere '.nl2br($descriere).'<br>';


...si ar mai fi si alte workaround-uri

A, vezi ca $tag s-ar putea sa aiba un "\n" la capat.... (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
 
+Quote Post
zuppy
mesaj 13th January 2006, 17:32
Mesaj #8


elbonian

Grup: Senior Members
Mesaje: 8 358
Data înscrierii: 12-October 02
Locație: Bucharest, sort of
ID membru: 2 181



de ce nu postati problemele de php pe aria de php ?
Go to the top of the page
 
+Quote Post
ada80ro
mesaj 13th January 2006, 17:37
Mesaj #9


Member

Grup: Members
Mesaje: 642
Data înscrierii: 16-May 05
Locație: Brasov
ID membru: 36 814



QUOTE(cosminnuss @ Jan 13 2006, 17:21) *
Si daca are un "new line" in descriere la banc? Ce faci? (IMG:style_emoticons/default/biggrin.gif)
incearca
CODE
echo 'Descriere '.nl2br($descriere).'<br>';


...si ar mai fi si alte workaround-uri

A, vezi ca $tag s-ar putea sa aiba un "\n" la capat.... (IMG:style_emoticons/default/smile.gif)

Ala e un cod sample pentru partea de paginatie, nu stiu ce dracu are el in fisierul text, poate sa aiba si taguri html in fisierul text, nu stiu cum sunt delimitate campurile etc.

Acest mesaj a fost modificat de ada80ro: 13th January 2006, 17:56
Go to the top of the page
 
+Quote Post
NemoXP
mesaj 13th January 2006, 20:54
Mesaj #10


Junior

Grup: Members
Mesaje: 63
Data înscrierii: 12-January 06
ID membru: 61 090





nu am nici o descriere, nici url, nici nume, nici tag... ideea e sa afiseze 4 bancuri intregi... ele sunt separate intre ele prin <endline> (un banc are mai multe randuri...)

Acest mesaj a fost modificat de NemoXP: 13th January 2006, 20:57
Go to the top of the page
 
+Quote Post
ada80ro
mesaj 13th January 2006, 21:27
Mesaj #11


Member

Grup: Members
Mesaje: 642
Data înscrierii: 16-May 05
Locație: Brasov
ID membru: 36 814



QUOTE(NemoXP @ Jan 13 2006, 20:54) *
nu am nici o descriere, nici url, nici nume, nici tag... ideea e sa afiseze 4 bancuri intregi... ele sunt separate intre ele prin <endline> (un banc are mai multe randuri...)


Doamne, e asa greu de priceput. Ala era un script sample de paginatie printr-un array. Am folosit un fisier text de-al meu.

In fine, sa revin.

Dupa
$lines = file('text_sample.txt');
da un print_r($lines); si vezi daca bancurile alea se gasesc fiecare intr-un element din array.
Daca da atunci foloseste ceva de genul:

CODE

//afiseaza continutul liniei
for ($i=$start; $i<$start+$numPerPage; $i++) {
    if (isset($lines[$i])) {
            
       echo '<p>'.$lines[$i].'</p>';
            
    }

}#end for


Acest mesaj a fost modificat de ada80ro: 13th January 2006, 21:40
Go to the top of the page
 
+Quote Post
cosminnuss
mesaj 13th January 2006, 23:01
Mesaj #12


Active Member

Grup: Members
Mesaje: 1 344
Data înscrierii: 21-October 05
Locație: Middle of nowhere
ID membru: 50 654



@ada80ro: Ideea este ca functia file() va include la fiecare element din array-ul format si un "/n" la sfarsit. La asta ma refeream (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
 
+Quote Post
ada80ro
mesaj 13th January 2006, 23:07
Mesaj #13


Member

Grup: Members
Mesaje: 642
Data înscrierii: 16-May 05
Locație: Brasov
ID membru: 36 814



QUOTE(cosminnuss @ Jan 13 2006, 23:01) *
@ada80ro: Ideea este ca functia file() va include la fiecare element din array-ul format si un "/n" la sfarsit. La asta ma refeream (IMG:style_emoticons/default/smile.gif)


Si? Care e faza? Tu afisezi alea intr-o pagina html, in html nu conteaza ws-urile. Doar daca vrei sa folosesti nl2br care oricum pastreaza "\n" de la sfarsit insa nu vad rostul in cazul de fata, presupun ca bancurile alea or sa fie delimitate intr-un mod mai vizibil cu ajutorul unor taguri html.
Go to the top of the page
 
+Quote Post
cosminnuss
mesaj 13th January 2006, 23:21
Mesaj #14


Active Member

Grup: Members
Mesaje: 1 344
Data înscrierii: 21-October 05
Locație: Middle of nowhere
ID membru: 50 654



QUOTE
Si? Care e faza? Tu afisezi alea intr-o pagina

Era doar ceva in genu FYI, sa nu-si puna problema de ce are \n la sfarsit.

Acest mesaj a fost modificat de cosminnuss: 13th January 2006, 23:23
Go to the top of the page
 
+Quote Post
NemoXP
mesaj 13th January 2006, 23:23
Mesaj #15


Junior

Grup: Members
Mesaje: 63
Data înscrierii: 12-January 06
ID membru: 61 090



da.. vad ca merge cat de cat.. dar imi afiseaza numai 4 randuri in banc...
ex:
http://85.186.128.161/~nautilus/nautilus/banc2.php?page=1

Acest mesaj a fost modificat de NemoXP: 13th January 2006, 23:26
Go to the top of the page
 
+Quote Post
cosminnuss
mesaj 13th January 2006, 23:27
Mesaj #16


Active Member

Grup: Members
Mesaje: 1 344
Data înscrierii: 21-October 05
Locație: Middle of nowhere
ID membru: 50 654



si codul folosit pana la urma care este?
Eventual si fisierul txt...

Verifica cum ai "\n"-urile in .txt. Sa ai "\n"(ending line) doar la capatul bancurilor caci altfel nu stie scriptu unde se termina un banc.

Acest mesaj a fost modificat de cosminnuss: 13th January 2006, 23:31
Go to the top of the page
 
+Quote Post
NemoXP
mesaj 13th January 2006, 23:34
Mesaj #17


Junior

Grup: Members
Mesaje: 63
Data înscrierii: 12-January 06
ID membru: 61 090



<html>
<head>
<title> </title>
</head>
<body>
<?php

$lines = file('text.txt');

//numarul de valori afisat pe pagina
$numPerPage = 4;


//seteaza numarul paginii-default 1
$page = isset($_GET['page']) ? $_GET['page'] : 1;

//seteaza elementul din $lines de la care incepe sa citeasca
$start = ($page-1) * $numPerPage;

//afiseaza continutul liniei
for ($i=$start; $i<$start+$numPerPage; $i++) {
if (isset($lines[$i])) {

echo '<p>'.$lines[$i].'</p>';

}

}#end for

//calculeaza numarul total de pagini
$totalPages = ceil(count($lines) / $numPerPage);

$script_page=$_SERVER['PHP_SELF'];

//afiseaza link inapoi
if ($page!=1) {
echo '<a href="'.$script_page.'?page='.($page-1).'">Previous</a> ';}


//afiseaza numerele paginilor
for ($i=1; $i<=$totalPages; $i++) {

echo ($i==$page) ? $page.' ' : '<a href="'.$script_page.'?page='.$i.'">'.$i.'</a> ';

}//end for


//afiseaza link inainte
if ($page!=$totalPages){

echo '<a href="'.$script_page.'?page='.($page+1).'">Next</a>';}

?>
</body>
</html>

asta e scriptul.... txt-ul e aici: http://85.186.128.161/~nautilus/nautilus/text.txt

nu se poate face sa ia ca banc urmator cand citeste "<endline>" sau altceva??

Acest mesaj a fost modificat de NemoXP: 13th January 2006, 23:43
Go to the top of the page
 
+Quote Post
ada80ro
mesaj 13th January 2006, 23:39
Mesaj #18


Member

Grup: Members
Mesaje: 642
Data înscrierii: 16-May 05
Locație: Brasov
ID membru: 36 814



QUOTE(NemoXP @ Jan 13 2006, 23:23) *
da.. vad ca merge cat de cat.. dar imi afiseaza numai 4 randuri in banc...
ex:
http://85.186.128.161/~nautilus/nautilus/banc2.php?page=1

Tie ca sa-ti mearga toata povestea asta in fiecare element din array-ul $lines trebuie sa ai cate un banc.
[0] => banc1
[1]=>banc2

Ca sa se intample asta singurul "\n" trebuie sa fie la sfarsit. In momentul in care introduci text intr-un textarea si apesi enter se introduce cate un "\n"("\r\n") deci in mod normal nu ai doar un singur "\n".
Ca sa elimini "\n" trebuie sa faci ceva de genul:
//cum a zis si @cosminnuss
$banc=nl2br($_POST['banc]);//ca sa le ai afisate corespunzator in html

//elimini preventiv alte dracii care ar putea afecta citirea corecta
$replace = array("\t", "\n", "\r\n", "\f","\r");
$banc=str_replace($replace,'',$banc)."\n";
//dupa care scrii $banc in text file.

Acest mesaj a fost modificat de ada80ro: 13th January 2006, 23:42
Go to the top of the page
 
+Quote Post

2 V   1 2 >
Reply to this topicStart new topic
1 utilizatori citesc acest subiect (1 utilizatori neautentificați și 0 anonimi)
0 Membri:

 

RSS Versiune simplificată Data: 25th November 2009 - 00:58
© 2001 - 2009 Softpedia. All rights reserved.
Softpedia® and Softpedia logo are registered trademarks of Soft News NET SRL.
Privacy Policy | Terms of Use | Contact Softpedia