Вероятно, мертвый простой и идиотский вопрос (я совершенно новичок в javascript):
У меня есть этот код, который загружает новое сообщение, нажимая ссылку "далее" или "назад". Переменная clickks используется для прокрутки вверх и вниз в операторе sql-limit (с использованием функции swapContent), что означает, что вы перемещаетесь назад или вперед в базе данных, щелкая ссылки. Работает легко и отлично:
<script type="text/javascript">
var clicks = -1;
function increase()
{
clicks++;
return false;
}
function decrease()
{
clicks--;
return false;
}
</script>
<div id="<?php echo $post['id'].'-multipost'; ?>">
<?php include('views/posts/_postmultipost.php'); ?>
</div>
<div id="<?php echo $post['id']; ?>-next" class="rightbutton" style="display:block;">
<a href="#" onmousedown="increase(); javascript:swapContent('next', clicks, '<?php echo $post['id']; ?>', '<?php echo $post['title']; ?>', '<?php echo $_SESSION['user']['id']; ?>');">next</a>
</div>
<div id="<?php echo $post['id']; ?>-back" class="leftbutton" style="display:none;">
<a href="#" onmousedown="decrease(); javascript:swapContent('back', clicks, '<?php echo $post['id']; ?>', '<?php echo $post['title']; ?>', '<?php echo $_SESSION['user']['id']; ?>');">back</a>
</div>
Единственная проблема: как видите, у меня есть несколько постов (post-ID). Но javascript var «щелкает» всегда одинаково. Как мне добавить post-id в имя переменной javascript «клики», ну как-то так:
var <?php echo $post['id']; ?>-clicks = -1;
Конечно, это не работает, но я понятия не имею, как с этим справиться. Любой совет? Извините за этот глупый вопрос ...
Спасибо за вашу помощь!
UPDATE
Хорошо, получил решение: Брайан был прав !!!
Изменен код на:
<script type="text/javascript">
var clicks = {};
clicks['<?php echo $post['id']; ?>'] = -1;
function increase()
{
clicks['<?php echo $post['id']; ?>']++;
return false;
}
</script>
Javascript в html остается без изменений:
<a href="#" onmousedown="increase(); swapContent('next', clicks, '<?php echo $post['id']; ?>', '<?php echo $post['title']; ?>', '<?php echo $_SESSION['user']['id']; ?>');">></a>
Clicks теперь является объектом и выведет следующее в swapContent-Function:
count: Array
(
[80] => 0
)
В php вы получите доступ к значению, как это:
foreach($count as $key=>$value) { $count = $value }
В javascript он выглядит немного по-другому:
for(x in clicks)
{
var clicks = clicks[x];
}
Кажется, теперь работает отлично, спасибо за вашу помощь !!