(04-05-2011, 15:22)Pedro84 napisał(a): Z czym masz problem konkretnie? Pokaż kod.
Tabela newsy
Kod:
CREATE TABLE `newsy` (
`id` smallint(6) NOT NULL auto_increment,
`dodano` datetime NOT NULL default '0000-00-00 00:00:00',
`autor` varchar(255) NOT NULL default '',
`tresc` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='Tabela z newsami' AUTO_INCREMENT=1 ;
Tabela komentarze
Kod:
CREATE TABLE `komentarze` (
`lp` smallint(6) NOT NULL auto_increment,
`id` smallint(6) NOT NULL default '0',
`dodano` datetime NOT NULL default '0000-00-00 00:00:00',
`autor` varchar(255) NOT NULL default '',
`tresc` text NOT NULL,
PRIMARY KEY (`lp`)
) TYPE=MyISAM COMMENT='Komentarze' AUTO_INCREMENT=1 ;
db_connect.php
Kod:
<?
$db=mysql_connect('serwer', 'uzytkownik', 'haslo');
mysql_select_db('nazwa_bazy', $db);
?>
dodaj.php
Kod:
<html>
<head>
<title>Dodajemy newsa</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<?
// lacze sie z baza danych
require('db_connect.php');
// spradzam czy wyslano formularz
if($_POST)
{
// sprawdzam czy wypelniono wymagane pola
if((trim($_POST['autor'])) && (trim($_POST['tekst'])))
{
// dodaje newsa do bazy
if(mysql_query("INSERT INTO newsy VALUES('', NOW(),
'".trim(htmlspecialchars($_POST['autor']))."',
'".trim(htmlspecialchars($_POST['tekst']))."')"))
echo 'Dodałem news o ID:'.mysql_insert_id();
else echo 'Nie mogłem dodać newsa';
}
else echo 'Nie podałeś autora lub treści newsa';
}
?>
<hr>
<form name="news" method="post" action="dodaj.php">
Treść newsa:<br>
<textarea name="tekst" rows="5" cols="40"></textarea><br>
Autor:<br>
<input type="text" name="autor"><br>
<input type="reset" value="wyczyść"> <input type="submit" value="wyslij">
</form>
</body>
</html>
[/cpde]
i kod odpowiedzialny za wyświetlanie newsów i komentarzy (chyba powinien nazywać się news.php
[code]
// lacze sie z baza
require('db_connect.php');
// jesli wybrano jakis konkretny news
if(intval($_GET['newsid']))
{
// powrot do wszystkich newsow (nazwa news.php jest oczywiscie dla przykladu)
echo '<p><a href="news.php">Najnowsze newsy</a></p>';
// pobieram newsa
$sql="SELECT DATE_FORMAT(dodano, '%e-%m-%Y %H:%i') AS utworzono, autor, tresc FROM newsy WHERE id='".intval($_GET['newsid'])."'";
$query=mysql_query($sql);
if($result=mysql_fetch_assoc($query))
{
// zawartosc newsa
echo '<p>'.nl2br($result['tresc']).'</p>';
// autor
echo '<p><i>'.$result['autor'].' ('.$result['utworzono'].')</i></p>';
// oddzielam od komentarzy
echo '<hr>Komentarze:<br>';
// dopisuje komentarz do bazy
if($_POST)
{
if((trim($_POST['autor'])) && (trim($_POST['tekst'])))
{
if(mysql_query("INSERT INTO komentarze VALUES('', '".intval($_GET['newsid'])."',
NOW(), '".trim(htmlspecialchars($_POST['autor']))."', '".trim(htmlspecialchars($_POST['tekst']))."')"))
echo 'Dodałem komentarz';
else echo 'Nie mogłem dodać komentarza';
}
else echo 'Nie dopisałem komentarza - podaj swoje imię i wpisz jakiś komentarz!';
echo '<br>';
}
// pobieram komentarze do newsa od najstarszego do najnowszego
$sql="SELECT DATE_FORMAT(dodano, '%e-%m-%Y %H:%i') AS utworzono, autor, tresc FROM komentarze WHERE id='".intval($_GET['newsid'])."'";
$query=mysql_query($sql);
while($result=mysql_fetch_assoc($query))
{
print('<p>'.nl2br($result['tresc']).' ('.$result['autor'].'/'.$result['utworzono'].')</p>');
}
// formularz do dodawania komentarza
?>
<hr>
<form name="komentarz" method="post" action="news.php?newsid=<? echo intval($_GET['newsid']); ?>">
Dodaj komentarz:<br>
<textarea name="tekst" rows="5" cols="40"></textarea><br>
Autor:<br>
<input type="text" name="autor"><br>
<input type="reset" value="wyczyść"> <input type="submit" value="wyslij">
</form>
<?
}
}
// wszystkie newsy
else
{
// pobieram newsy w kolejnosci od najnowszego do najstarszego
// przy pomocy zlaczenia z drugiej tabeli wyciagam ilosc komentarzy dla każdego newsa
$sql="SELECT newsy.id, DATE_FORMAT(newsy.dodano, '%e-%m-%Y %H:%i') AS utworzono,
newsy.autor, newsy.tresc, COUNT(lp) AS il_kom
FROM newsy
LEFT JOIN komentarze ON (komentarze.id=newsy.id)
GROUP BY newsy.id ORDER BY newsy.dodano DESC";
$query=mysql_query($sql);
while($result=mysql_fetch_assoc($query))
{
// zawartosc newsa
echo '<p>'.nl2br($result['tresc']).'</p>';
// autor
echo '<p><i>'.$result['autor'].' ('.$result['utworzono'].')</i></p>';
// ilosc komentarzy i link do nich
echo '<p><a href="news.php?newsid='.$result['id'].'">Komentarze: ('.$result['il_kom'].')</a></p>';
// oddzielam od pozostalych
echo '<hr>';
}
}
Nie wiem, czemu nie chce mi się wyświetlić w divie. Jak go includować w pliku index.php , żeby się wyświetlił? Proszę o pomoc. Z góry dziękuję.