2015-07-27 2 views
2

Итак, моя конечная цель заключается в том, чтобы моя база данных сообщала мой сайт, когда что-то продается, чтобы оно темнело, и поэтому гипотетический клиент не мог купить что-то, что было уже продано. У меня есть параметры базы данных PHP, но у меня возникли проблемы с передачей этой информации в javascript/jquery. Я не уверен, что это потому, что я делаю это неправильно или потому что с моим подходом что-то логически неправильно. Спасибо! Вот мой код: PHP:

<?php 
$customer = new order; 
$customer->item1Avail(); 
$customer->item2Avail(); 
$customer->item3Avail(); 
$customer->item4Avail(); 
var_dump($_SESSION); 

$item1Status = $_SESSION['item1']; 
$item2Status = $_SESSION['item2']; 
$item3Status = $_SESSION['item3']; 
$item4Status = $_SESSION['item4']; 


?> 

Jquery:

var item1Status = <?php echo json_encode($item1Status); ?>; 
var item2Status = <?php echo json_encode($item2Status); ?>; 
var item3Status = <?php echo json_encode($item3Status); ?>; 
var item4Status = <?php echo json_encode($item4Status); ?>; 


if(item1Status == "sold"){ 
$("#picture1").css("opacity", "0.5"); 
$("#button1").css("visibility", "hidden"); 
$("#item1").css("opacity", "0.5"); 
} 

if(item2Status == "sold"){ 
$("#picture2").css("opacity", "0.5"); 
$("#button2").css("visibility", "hidden"); 
$("#item2").css("opacity", "0.5"); 
} 

if(item3Status == "sold"){ 
$("#picture3").css("opacity", "0.5"); 
$("#button3").css("visibility", "hidden"); 
$("#item3").css("opacity", "0.5"); 
} 

if(item4Status == "sold"){ 
$("#picture4").css("opacity", "0.5"); 
$("#button4").css("visibility", "hidden"); 
$("#item4").css("opacity", "0.5"); 
} 
+3

'вар item1Status =" ";' – SearchAndResQ

ответ

2

Ничего логически неправильно, вам просто нужно, чтобы обернуть эти PHP эхо с кавычками:

var item1Status = "<?php echo json_encode($item1Status); ?>"; 
var item2Status = "<?php echo json_encode($item2Status); ?>"; 
var item3Status = "<?php echo json_encode($item3Status); ?>"; 
var item4Status = "<?php echo json_encode($item4Status); ?>"; 
+0

На самом деле это не так. Вам не нужны кавычки, и по крайней мере часть проблемы заключается в том, что JSON не анализируется перед оценкой. Зачем беспокоиться json_encoding, если вы не собираетесь $ .parseJSON, но пытаетесь получить доступ напрямую? –

+0

Я честно не знаю, почему я использую json. Я пробовал просто эхом и столкнулся с той же проблемой. Также пробовал с кавычками. Не уверен, что я делаю неправильно ... –

+0

Я проверяю его в firebug, и переменные js, похоже, устанавливаются. Эффект css, который я установил в jquery, по-прежнему не происходит. Я как-то неправильно написал эту часть? –

Смежные вопросы