Запазване на сесия чрез ajax и php и вкарване в "количк

vinsbg

Registered
Здравейте,

опитвам се да направя една проста количка, в която да записвам и после даунлоудвам. Засега количката работи до етап запазване... виждам ,че при всяко натискане на "add to cart" брояча за брой неща в нея се увеличава.

Проблема е ,че сега като натисна на нея не се отваря.. отваря се пак чрез ajax и се слайдва надолу по страницата.
Това е php-то, като приблема е в последния if...if(isset($_POST['showcart']))
Код:
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  if(isset($_POST['total_cart_items']))
  {
	echo count($_SESSION['itemid']);
	exit();
  }

  if(isset($_POST['upload_id']))
  {
  
  	$_SESSION['itemid'][]=$_POST['upload_id'];
	echo count($_SESSION['itemid']);
	exit();
  }

  if(isset($_POST['showcart']))
  {

  	for($i=0;$i<count($_SESSION['itemid']);$i++)
    	{

        	$sql = "SELECT * FROM document_upload where upload_id = ?"; 
		$result = $pdo->prepare($sql);
		$result->execute(array($_SESSION['itemid'])); 
		$result = $sql->fetch();   
		             

		foreach ( $result as $row ){
									
	        	echo '<div class="cart_items" style="text-align:center;">
		      	      	<a href=""><p>'.$row["itemid"][$i].'</p></a>
		              </div>';
	  	}
        }
		exit();	
  }
А това ajax-a
Код:
    $(document).ready(function(){

      $.ajax({
        type:'post',
        url:'includes/store_items.php',
        data:{
          total_cart_items:"totalitems"
        },
        success:function(response) {
          document.getElementById("total_items").value=response;
        }
      });

    });

    function cart(itemid)
    {
	  var ele=document.getElementById(itemid);	
	$.ajax({
        type:'post',
        url:'includes/store_items.php',
        data:{
          upload_id:itemid        
        },
        success:function(response) {
          document.getElementById("total_items").value=response;
        }
      });
	
    }

    function show_cart()
    {
      $.ajax({
      type:'post',
      url:'includes/store_items.php',
      data:{
        showcart:"cart"
      },
      success:function(response) {
        document.getElementById("mycart").innerHTML=response;
        $("#mycart").slideToggle();
      }
     });

    }
Почти съм сигурен, че проблема е в PHP частта, защото по дефолтния начин, както е в урока си работи. Това е урока (не е реклама)
http://talkerscode.com/webtricks/simple-add-to-cart-system-using-jquery-ajax-and-php.php
 
Пробвай така:
PHP:
if (array_key_exists('showcart', $_POST)) {
    $totalItems = count($_SESSION['itemid']);
    $result = $pdo->prepare("SELECT * FROM `document_upload` WHERE upload_id = ?");

    for ($i = 0; $i < $totalItems; $i++) {
        $result->execute([$i]);
        $fetch = $result->fetch(PDO::FETCH_OBJ);
        
        foreach ($fetch as $itemInfo) {
            echo "
            <div class='cart_items' style='text-align: center'>
                <a href=''><p>$itemInfo->upload_id</p></a>
            </div>
            ";
        }
    }
}
 

Back
Горе