Система за игри част 2
Сега продължаваме нашата система за игри следващия файл който трябва да създадете е play.php
<?php
include("config.php");
$id = $_GET['id'];
$getid = $_GET['id'];
$connection = mysql_connect($dbhost, $dbusername, $dbpassword) or die("Сайтът не може да се свърже към базата данни");
$db = @mysql_select_db($dbname,$connection)or die("Сайтът не може да се свърже към базата данни");
$sql = "SELECT * FROM games WHERE id = '$getid'";
$result = @mysql_query($sql,$connection) or die(mysql_error());
while ($sql = mysql_fetch_object($result))
{
$ime = $sql -> ime;
$igra= $sql -> igra;
$kategoria = $sql -> kategoria;
$dobavil = $sql -> dobavil;
}
$nums = mysql_query("SELECT * FROM `games` WHERE `id`='$_GET[id]'");
while ($row = mysql_fetch_array($nums)) {
$klik = $row[klik];
$klik++;
$sql = "UPDATE `games` SET klik='$klik' where id='$row[id]'";
mysql_query($sql);
// tuk vzimame kolko pyti e bila igrana igrata i uveli4avame poleto klik s edna stoinost
}
if($getid == ""){ echo "<meta http-equiv=\"refresh\" content=\"0; url=index.php\">"; } // ako sme otvorili play.php samo bez da sme zadali stoinost na $_GET[''id] da ni varne v na4aloto
?>
<table border="0" width="100%"><tr><td width="70%"><b>
<?php echo
// tuk se otvarq igrata koqto 6te igraeme
"<div class='comment'> ".$ime . " </b>- Категория: <b> ".$kategoria."</b> Добавил: ".$dobavil."</div>
</td></tr><tr><td>
<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='540' height='444'>
<param name='movie' value='$igra'>
<param name='quality' value='high'>
<embed src='$igra' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='540' height='444'></embed>
</object>
";
// брояча
echo "<br>Играна: $klik пъти<br>
Размер: ";
//Размера на играта
function format_size ($file)
{
$get_file_size = filesize($file);
if (strlen($get_file_size) <= 9 && strlen($get_file_size) >= 7)
{
$get_file_size = number_format($get_file_size / 1048576,1);
return "$get_file_size MB";
}
elseif (strlen($get_file_size) >= 10)
{
$get_file_size = number_format($get_file_size / 1073741824,1);
return "$get_file_size GB";
}
else
{
$get_file_size = number_format($get_file_size / 1024,1);
return "$get_file_size KB";
}
}
echo format_size("$igra");

// tuka po4vat komentarite
if ($logged[username]) //tuk 6te postavite va6 kod s koito proverqvate dali potrebitelq se e lognal za da mu pokazva formata za dobavqne na komentari
{ echo '<div class="comment"> Коментари</div>
<form action="" method="post">
<table width="250" border="0" align="center" cellpadding="3" cellspacing="1">
<tr>
<td>Добави твоя коментар:<br>
<textarea name="comment" cols="30" rows="4" class="textinput" id="m"></textarea></td>
</tr>
<tr>
<td>
<input name="submit" type="submit" class="btn" id="submit" value="Изпрати">
<input name="button2" type="reset" class="btn" id="button2" value="Изчисти">'; }
else {
// vra6ta gre6ka ako ne se e lognal potrebitelq
echo '<br><div align="left">Трябва да сте регистриран потребител за да добавяте коментари</div><br>'; }
if(isset($_POST['submit'])){ // ako e dobaven komentar vzimame datata potrebitelskoto ime i dobavqme komentara
$getuser = mysql_query("SELECT * from users where username = '$_GET[user]'"); // tuk sa6to zamestvate s va6ite danni
$profile = mysql_fetch_array($getuser);
$date = date("d.m.Y");
$sql = mysql_query("INSERT INTO comment (id, igra, author, comment, date) VALUES (NULL, '$id', '$logged[username]', '$_POST[comment]', '$date')") or die(mysql_error());
}
?></td>
</tr>
</table>
</form>
<?php // tuk ivejdame ve4e napisanite komentari za dadenata igra
$query = mysql_query("SELECT * FROM `comment` WHERE `igra`='$id'") or die(mysql_error());

while($raw = mysql_fetch_array($query)){
echo "<tr>
<td class='commentar'>От $raw[author] | <span class=\"style2\">$raw[date]</span><br>Коментар:
$raw[comment]</td>
</tr>";
}
//tuka svar6vat komentarite
?>

Тук само трябва да смените данните за логнатия потребител ще видите коментарите.
Сега си правите папка admin и вътре този файл editgame.php
<?php
$id = $_GET['id'];
include("config.php");
$id = $_GET['id'];
if(isset($_POST['submit']))
{
$ime = $_POST['ime'];
$igra = $_POST['igra'];
$pic = $_POST['pic'];
$kategoria = $_POST['kategoria'];

$result = mysql_query("UPDATE games SET ime='$ime', igra='$igra', pic='$pic', kategoria='$kategoria'WHERE id='$id' ",$connect);

echo "<b>Играта е редактирана успешно<br>";
echo "<a href='index.php'>Назад</a>";
}
elseif($id)
{

$result = mysql_query("SELECT * FROM games WHERE id='$id' ",$connect);
while($myrow = mysql_fetch_assoc($result))
{
$ime = $myrow["ime"];
$igra = $myrow["igra"];
$pic = $myrow["pic"];
$kategoria = $myrow["kategoria"];
?><br>
<form method="post" action="<?php echo $PHP_SELF ?>">
<input type="hidden" name="newsid" value="<? echo $myrow['id']?>">
<table border="0">
<tr><td>Заглавие:</td><td><input type="text" name="ime" size="30" value="<?php echo $ime ?>"></td></tr>
<tr><td>Линк до играта:</td><td><input type="text" name="igra" size="30" value="<?php echo $igra ?>">
<tr><td>Категория: </td>
<td>
<select name="kategoria">
<option value="Без категория">Изберете категория</option>
<option value="Екшън">Екшън</option>
<option value="Аркадни">Аркадни</option>
<option value="Логически">Логически</option>
<option value="Забавни">Забавни</option>
<option value="Спортни">Спортни</option>
</select></tr>
<tr>
<tr><td valign="top">Снимка:</td><td><input type="text" value="<?php echo $pic ?>" name="pic" size="30">
</tr></table>
<input type="submit" name="submit" value="Редактирай">
</form>
<?
}
}
?>

преди това трябваше файл където да се изкарват всички игри и линкове към редактирането и към триенето им. файла се казва index.php отново в admin папката.
Вие само трябва да пригодите тази система с вашата логин система.
<table border="1">
<tr><td><b>Име на играта</b></td><td><b>Статистика</b></td><td><b>Функция</b></td></tr>
<?php
include "../config.php";
$connection = mysql_connect($dbhost, $dbusername, $dbpassword) or die("Сайтът не може да се свърже към базата данни1");
$db = mysql_select_db($dbname,$connection)or die("Сайтът не може да се свърже към базата данни2");
$sqlquery = "SELECT * from games order by id desc";

$queryresult = mysql_query($sqlquery)
or die ("Заявката не може да се изпълни");
echo "<br><a href='add.php'>Добави игра</a> | <a href='../index.php'>Назад</a>";
while ($row = mysql_fetch_array($queryresult))
{
echo "
<tr>
<td width='125'>
<a href='../play.php?id=$row[id]'>$row[ime]</a>
</td>
<td width='300'>
Играна<b> $row[klik]</b> пъти | Категория: $row[kategoria]
</td>
<td width='100'>
<a href=deletegame.php?id=$row[id]>Изтрий</a> | <a href=editgame.php?id=$row[id]>Edit</a>
</td>
</tr>
";
}
?>
</table>

и сега deletegame.php пак в папката admin
<?php
include "../config.php";
if (isset($_GET['id'])) {
$id=$_GET['id'];
$sql="DELETE FROM games WHERE id='$id'";
$result=mysql_query($sql);
echo "Играта е изтрита успешно <meta http-equiv='refresh' content='0; url=index.php'>";
}?>

И ако искате да добавите малко стил ето ви примерен код.
style.css

.search {
text-align: center;
font-weight: bold;
}
.random {
width: 155px;
height: 185px;
float: center;
text-align: center;
border-top: #fff solid 1px;
border-left: #fff solid 1px;
border-right: #fff solid 1px;
font-weight: bold;
}
.div{
width: 168px;
height: 135px;
float: left;
padding-left:3.2px;
}
.comment {
text-align: left;
font-weight: bold;
border: #dac998 solid 1px;
background: #8bcaef;
background-repeat: no-repeat;
background-position: left center;
width: 540;
height: 20;
}
.commentar {
text-align: left;
border: #dac998 solid 1px;
background: #8bcaef;
width: 540;
height: 20;
}

ако искате да извадите всички игри от една категория със странициране правите файл zabavni.php за да изведете всички игри в категория забавни с този код:
<?php
$pp = "9";
//колко резултата на страница
$page=$_GET['page'];
if(!$_GET['page'])
{
$page="1";
}
$limit = ($pp*$page)-$pp;
mysql_connect($dbhost, $dbusername, $dbpassword)or die("1111");
@mysql_select_db($dbname) or die("2222");
$redove=mysql_query("SELECT * FROM $table_name");
$max=mysql_numrows($redove);
$total=ceil($max/$pp);
mysql_connect($server, $dbusername, $dbpassword)or die("3333");
@mysql_select_db($dbname) or die("4444");
$query="SELECT * FROM $table_name WHERE kategoria='Забавни' ORDER BY id DESC LIMIT $limit,$pp";
$result=mysql_query($query);
$num=mysql_num_rows($result);
mysql_close();
echo "<table border='0'><tr><td>";
$i=0;
while ($i < $num) {
$ime=mysql_result($result,$i,"ime");
$pic=mysql_result($result,$i,"pic");
$kategoria=mysql_result($result,$i,"kategoria");
$id=mysql_result($result,$i,"id");
echo "<div class='div'>
<a href='play.php?id=$id'>$ime</a><br>
<a href='play.php?id=$id'><img src='$pic' width='100' height='100' border='0'></a><br>
<br></div>
";
$i++;
}
echo "</td</tr></table>";
//от тук започва страницирането
if ($page > 1) {
$prev = ($page - 1);
echo "<a href=\"?page=$prev\" class='ppRa'>предишна</a> ";
}
else echo "";

if (!$page or ($page > $total)) {
$page="1";
}

if ($total < 10) {
for($i=1 ; $i<=$total ; $i++) {
if ( ($page)==$i ) {
echo "<b>$i</b> ";
}
else {
echo "<a href=\"?page=".$i."\" class='ppRa'>".$i."</a> ";
}
}
}
else {
for($i=1 ; $i<=3 ; $i++) {
if ( ($page)==$i ) {
echo "<b>$i</b>";
}
else {
echo "<a href=\"?page=".$i."\" class='ppRa'>".$i."</a> ";
}
}

if ($page <= 3) {
if ($page == 3) echo "<a href=\"?page=4\" class='ppRa'>4</a> ";
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href=\"?page=".$i."\" class='ppRa'>".$i."</a> ";
}
if ($page == 5) $parva.= "<a href=\"?page=4\" class='ppRa'>4</a> ";

if ( ($page == 4) or ($page == 5) ) {
for ($i=$page; $i<=$page+1; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href=\"?page=".$i."\" class='ppRa'>".$i."</a> ";
}
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href=\"?page=".$i."\" class='ppRa'>".$i."</a> ";
}

if ( ($page > 5) and ($page < ($total - 4)) ) {
echo "... ";
for ($i=$page-1; $i<=$page+1; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href=\"?page=".$i."\" class='ppRa'>".$i."</a> ";
}
echo "... ";
for ($i=$total-2; $i<=$total; $i++)
echo "<a href=\"?page=".$i."\" class='ppRa'>".$i."</a> ";
}

if ( $page > ($total - 5) ) {
echo "... ";
for ($i=$total-5; $i<=$total; $i++) {
if ($page == $i) echo "<b>$i</b> ";
else echo "<a href=\"?page=".$i."\" class='ppRa'>".$i."</a> ";
}
}
}

if ($page < $total) {
$next = ($page + 1);
echo "<a href=\"?page=$next\" class='ppRa'>следваща</a>";
}
else echo "";
?>

Тъй като урока стана доста дълъг ще продълва в трета част със някои указания за системата като цяло и ще ви дам кодовете за управлението на коментарите. Също така ще дам и демо и линк за сваляне на системата с логин скрипт който виждате от демото.


/ Трябва да сте регистриран за да напишете коментар /
От: viking
19:46 08-12-2010
Къде е 3-тата част от урока?
От: r0shli0
23:25 08-12-2010
Daite 3tata chast ;]]
От: r0shli0
23:25 08-12-2010
Daite 3tata chast ;]]
От: Nikolai555
23:16 31-03-2011
Кога ще има 3-та част?
1