Linki do newsów


(Krzysztof 7) #1
<?php

$username="user";

$password="pass";

$db="db";


mysql_connect('host',$username,$password);

mysql_select_db($db) or die("Nie odnaleziono bazy danych");




function pokaz_archiwum($i) 

{

$j = '10' * $i;

$query = "SELECT id, nick, tresc FROM newsy ORDER by id DESC LIMIT $i,$j";

$result = mysql_query($query) or die (mysql_error());


while($db = mysql_fetch_array($result)) {

$tresc = tnij(strip_tags($db['tresc']), 23);

echo "$tresc
";

}


}



function tnij($tresc,$ile) {


 $licz = strlen($tresc);

 if ($licz>=$ile) {

 $tnij = substr($tresc,0,$ile);

 $txt = $tnij."..";

 }

else {

 $txt = $tresc;

  }

return $txt;

}



?>


<?php

include "part1.php";




    // ile pokazac

            pokaz_archiwum(1);


    include "part2.php";

    ?>

[/code]

Mam taki skrypt, który ma pokazywać ostatnie newsy z archiwum. Moim problemem jest to, że nie potrafie "skonstruować" linku do bazy danych, który po kliknieciu otworzy interesujący mnie news

W bazie mam tabele "newsy" i pola :id, nick, tresc

W przykładzie takim jak wyżej kiedy odpale skrypt i klikam na dany link, to przeładowuje sie tylko strona ale nie zmienia zawartosci

Mógłby ktoś doradzić jak to zrobić?

Pozdrawiam i z góry dzięki


(mrbungle) #2

najprostsze rozwiazanie -> posłuż się argumentamu GET z URL...

np.

http://twoja-strona.pl/news.php?n=1

co wskarze Ci na news z ID o numerze 1 (jak to sobie rozwiazesz to już Twoja sprawa)

a jak wyświwetlić? z pozycji PHP instnieje kilka tablic zmiennych globalnych...

$_POST, $_GET itd...

$_GET['n'] - oznacza odwołanie do argumentu n z URL - w naszym wypadku 1...

czyli odwołanie do:

pokaz_archiwum($_GET['n']);

już wiesz jak dalej?

aha przesytrzegam o zabezpiecznieu skryptów przez wprowadzeniem jakiś nieprawidlowych danych, w tym SQL Injection...

luknij do manuala PHP i poczytaj o: isset , empty oraz intval