Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Теперь рассмотрим возможность работы с закладками





Пользователь может просматривать список своих закладок. Удаление реализовано при помощи AJAX, при изменении он попадает в ту же форму, что и при добавлении. На рисунке 13 приведена форма списка закладок, а на рисунке 14 – форма добавления новой закладки.

Рисунок 12 Форма списка закладок

 

Рисунок 13 Форма добавления новой закладки

16. Код просмотра списка закладок представлен ниже:

<?

session_start();

$guest = false;

if (!isset($_SESSION['user_id']))

{

$guest = true;

}

include 'mysql.php';

include 'bm_fns.php';

$id = (int)$_POST['id'];

//echo $id;

$page = (int)$_POST['page'];

get_bms_links($id, $page, 3);

?>

<div id="cont">

<script language="JavaScript" type="text/javascript">

<!--

$("document").ready(function()

{

$(".acts>a").click(function()

{

if ($(this).attr('t') == '1') return;

if (!confirm("Удалить ссылку?")) return;

var i = $(this).parent().parent().attr('id');

$.get("del.php", {'linkid': i }, function(data)

{

//alert(data);

var s = "#"+i;

//$("#bm").children().find(s).remove();

$.post("list.php",{id:<? echo $id;?>, page: <? echo $page;?>}, function(data){

$("#tt").html(data);

//alert(data);

});

});

//alert($(this).parent().parent().attr('id'));

});

});

//-->

</script>

<table class="bmTable" id="bm">

<?php

if ($page<=0) $page=1;

$r = get_user_bms($id, $page);

if ($r) {

$n = mysql_num_rows($r);

if ($n<1) echo 'Нет закладок';

else {

$same_user = false;

if ($id == $_SESSION['user_id']) $same_user = true;

while ($m = mysql_fetch_array($r, MYSQL_NUM)) {

echo "<tr id=\"$m[4]\">";

echo "<td><a href=\"$m[1]\">$m[0]</a><br />";

if (!empty($m[2])) echo nl2br(wordwrap($m[2], 40, "\n", 1))."<br />";

echo "<b>Категория:</b> $m[3]<br />Адрес: <a href=\"$m[1]\">".htmlspecialchars($m[1])."</a></td>";

if ($same_user) {

echo "<td class=\"acts\"><a href=\"upd.php?linkid=$m[4]\" t=\"1\">Изменить</a><br /><a href=\"#\" t=\"0\">Удалить</a></td>";

}

else {

if (!$guest) echo "<td class=\"acts\"><a href=\"add_from.php?linkid=$m[4]\" t=\"1\">Добавить к себе</a></td>";

}

echo '</tr>';

}

}

}

?>

</table>

</div>

17. Основные функции из подключаемого файла приведены далее:

<?php

unset($bm_count);

$bm_count = 5;

function get_bms_links($userid, &$page, $links)

{

global $bm_count;

$q = "SELECT COUNT(*) FROM bookmark WHERE bookmark.user_id = $userid";

//echo $q;

$r = mysql_query($q);

$res = mysql_fetch_row($r);

unset($pages);

//echo $res[0];

$pages = ceil($res[0]/$bm_count);

if ($page < 1) $page = 1;

if ($page > $pages) $page = $pages;

//echo $page;

// links - число ссылок рядом

if ($page > $links)

$starttext = "<a href=\"$PHP_SELF?page=1&id=$userid\">&laquo;</a>";

else

$starttext = '';

if ($page < ($pages-$links+1))

$endtext = "<a href=\"$PHP_SELF?page=$pages&id=$userid\">&raquo;</a>";

else

$endtext = '';

$nearpages = '';

for ($i = $page-($links-1); $i <= $page+($links-1); $i++)

{

if (($i>0) && ($i<=$pages))

{

$nearpages.="<a href=\"$PHP_SELF?page=$i&id=$userid\"";

if ($i == $page) $nearpages.='style="font-weight:bold;"';

$nearpages.=">$i</a>&nbsp;";

}

}

echo '<div style="text-align:right;">'.$starttext.' '.$nearpages.' '.$endtext.'</div>';

}

function get_user_bms($userid, $page)

{

global $bm_count;

$l1 = ($page-1)*$bm_count;

$q = "SELECT bm.title, bm.url, bm.descr, cat.name, bm.link_id from bookmark bm, categories cat WHERE

bm.user_id = $userid AND cat.catid = bm.catid ORDER BY bm.url LIMIT $l1, $bm_count";

$r = mysql_query($q);

//echo $q;

if (!$r) return false;

return $r;

}

function delete_bm($userid, $linkid)

{

//echo $userid;

//echo "delete from bookmark where user_id={$userid} and url='$url'";

$linkid = (int)$linkid;

$q = "select url from bookmark where user_id=$userid and link_id=$linkid";

$res = mysql_query($q);

$u = mysql_fetch_row($res);

if (!mysql_query("delete from bookmark where user_id=$userid and link_id=$linkid"))

return false;

return $u[0];

}

function upd_bm($userid, $url, $title, $description, $cat_id, $linkid)

{

$title = mysql_real_escape_string($title);

$title = htmlspecialchars($title);

$description = mysql_real_escape_string($description);

$description = htmlspecialchars($description);

if ($url{(strlen($url)-1)} == '/') $url = substr($url,0,(strlen($url)-1));

$url = mysql_escape_string($url);

$cat_id = (int)$cat_id;

$linkid = (int)$linkid;

$q = "UPDATE bookmark SET title='$title', url='$url', descr='$description', catid=$cat_id WHERE ";

$q = $q."user_id=$userid AND link_id=$linkid";

//echo $q;

if (!mysql_query($q))

return false;

return true;

}

function add_bm($userid, $newurl, $title, $description, $cat_id)

{

//есть ли такая закладка

$title = mysql_real_escape_string($title);

$description = mysql_real_escape_string($description);

$description = htmlspecialchars($description);

$title = htmlspecialchars($title);

//echo $newurl; // - тут все корректно

if ($newurl{strlen($newurl)} == '/') $newurl = substr($newurl,0,strlen($url)-2);

$newurl = mysql_real_escape_string($newurl);

$cat_id = (int)$cat_id;

$q = "select * from bookmark where user_id=$userid and url='$newurl'";

//echo $q;

$r = mysql_query($q);

if (mysql_num_rows($r) > 0) throw new Exception('Такая закладка уже есть!');

$q = "insert into bookmark values(NULL, $userid, '$title', '$newurl', '$description', $cat_id)";

if (!mysql_query($q)) throw new Exception('Не удается добавить закладку!');

return true;

}

function recommend_urls($userid, $popularity = 1)

{

$query="SELECT SUBSTRING_INDEX(a.url, '/', 3), count(a.url)

FROM bookmark a

WHERE a.user_id

IN (

SELECT DISTINCT (

b2.user_id

)

FROM bookmark b1, bookmark b2

WHERE b1.user_id = $userid

AND b1.user_id!= b2.user_id

AND SUBSTRING_INDEX(b1.url, '/', 3) = SUBSTRING_INDEX(b2.url, '/', 3)

)

AND SUBSTRING_INDEX(a.url, '/', 10) NOT

IN (

SELECT SUBSTRING_INDEX(url, '/', 10)

FROM bookmark

WHERE user_id = $userid

)

GROUP BY SUBSTRING_INDEX(url, '/', 3) LIMIT 5";// having count(SUBSTRING_INDEX(url, '/', 3))>1";

//echo nl2br($query).'<br /><hr>';

$r = mysql_query($query);

if (!$r)

throw new Exception('Не удается найти закладки для рекомендации.');

if (mysql_num_rows($r)==0)

throw new Exception('Не удается найти закладки для рекомендации.');

return $r;

}

?>

Date: 2015-09-02; view: 398; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию