Как да вкарам view count в DB...

ashaman

Registered
Съвсем съм нов в PHP, та значи
таблицата в ДБ е за постовете posts, кода е така
PHP:
('INSERT INTO posts (cat_id,added_by,date_added,title,content,view_count) VALUES
                ('.$cat_id.','.$_SESSION['user_info']['user_id'].','.time().',"'.$new_name.'","'.htmlspecialchars($new_content).'",topic.php?id='.$post_id.')');
Това е от файла за нова тема, данните които INSERT-ваме в post в ДБ .Въобще от тука ли трябва да стане записа на кликовете за да влезе в базата?
Това последното topic.php?id='.$post_id. аз се мъча тука някак си да налучкам... но явно така не може да стане. Може ли изобщо, по тоя начин с правилно VALUE да стане записа на кликовете къмпост по сътответното id?
view_count е името на колона в ДБ, как да ги вкaраме тия кликове извършени на link.php?id='.$post_id
post_id е id-то от posts таблицата в ДБ

Сигурно трябва да има някакъв стринг преди това, който да указва, кое на какво е равно... от тоя сорт нещо и метода може би?
Щото гледам, че по напред е вкаран стринг стринг $new_name=addslashes(trim($_POST['post_title'])); - това е обаче формата за запис.
ама това е POST, който $new_name после при ИНСЪРТА е стойността на added_by (друга колона в ДБ posts)
...............
 
Дай си структората на датабазата

иначе по това което си дал трябва да стане нещо такова:

[sql]('INSERT INTO posts (cat_id,added_by,date_added,title,content,view_count) VALUES
('$cat_id','$_SESSION['user_info']['user_id']','time()','$new_name','$new_content','topic.php?id=$post_id')');[/sql]

:arrow: но за по сигурно дай стуктората
 
.Въобще от тука ли трябва да стане записа на кликовете за да влезе в базата?
Това последното topic.php?id='.$post_id. аз се мъча тука някак си да налучкам... но явно така не може да стане. Може ли изобщо, по тоя начин с правилно VALUE да стане записа на кликовете къмпост по сътответното id?
отг: НЕ

кода се слага в страницата за преглеждане .. примерно в view_post.php
и там трябва да сложиш 1 ред който да упдейтва реда с гледанията ..

PHP:
if(isset($_GET['post_id']) ) / /twa ti e ID-to na posta
{
  mysql_query("UPDATE `[b]tablicata[/b]` SET  `[b]views[/b]` = `views` + 1 where post_id='".$_GET['post_id']."'");
}

заместваш таблицата с твоята таблица .. ии VIEWS с товоето поле .. и си готов .. аз не прочетох целия пост и неразбрах това в коя страница го имаш дето си дал заявакта ама като видях ,че започва с INSERT .. и се досетих .. както и да е .. това е решението :) :?: :?:
 
Преди малко се усетих, че трябва да в отваряния файл, обаче не сработва този код при мен.
Това ми е файла..

PHP:
error_reporting(E_ALL ^ E_NOTICE);
session_start();
include 'functions.php';
my_header("тема");
db_init();
$post_id = (int) $_GET['id'];

$rs = run_q('SELECT * FROM posts as p, users as u WHERE p.post_id=' . $post_id . ' AND p.added_by=u.user_id');


echo mysql_error();
while ($row = mysql_fetch_assoc($rs)) {
    echo '<div id="postadded">Добавен от' . $row['real_name'];
    echo '</div>';
    echo '<div id="postcontent">' . $row['content'];
    echo '</div>';
}


footer();
 
тряя да стане така ..
PHP:
error_reporting(E_ALL ^ E_NOTICE);
session_start();
include 'functions.php';
my_header("тема");
db_init();
$post_id = (int) $_GET['id'];

[size=5]if(isset($post_id))
{
mysql_query("UPDATE `posts` SET `views` = `views`+1 WHERE post_id='$post_id'");
}[/size]
$rs = run_q('SELECT * FROM posts as p, users as u WHERE p.post_id=' . $post_id . ' AND p.added_by=u.user_id');


echo mysql_error();
while ($row = mysql_fetch_assoc($rs)) {
    echo '<div id="postadded">Добавен от' . $row['real_name'];
    echo '</div>';
    echo '<div id="postcontent">' . $row['content'];
    echo '</div>';
}


footer();
 

Back
Горе