2014-09-21 32 views
0

我正在爲一家餐館建立一個小型在線訂單系統。我對街上購物卡的代碼如下所示:Ajax在提交數據後重新加載購物卡

<?php 
// Košarica 
function ShopKosarica(){ 
global $link; 

$UkupnoZbroj = 0; 
$KosaricaSession = $_SESSION['ime']; 
$rezultat = mysqli_query($link, "SELECT * FROM shop_kosarica WHERE KosaricaSession='$KosaricaSession' AND KosaricaKolicina<>0 ORDER BY KosaricaID ASC"); 
$num_results = mysqli_num_rows($rezultat); 
if ($num_results==0){ 
    echo "<h2><strong>Košarica je prazna</strong></h2>"; 
}else{ 
    while ($redak = mysqli_fetch_array($rezultat)){ 
     $ArtikalID = $redak['KosaricaArtikal']; 
     $rezultat_artikal = mysqli_query($link, "SELECT * FROM shop_artikal WHERE ArtikalID='$ArtikalID'"); 
     $redak_artikal = mysqli_fetch_array($rezultat_artikal); 
     if ($redak['KosaricaVelicina']=='jumbo'){ 
      $Cijena = $redak_artikal['ArtikalCijena2']; 
     } else { 
      $Cijena = $redak_artikal['ArtikalCijena1']; 
     } 
     $Kolicina = $redak['KosaricaKolicina']; 
     $Zbroj = $Cijena * $Kolicina; 
     $Zbroj = number_format((float)$Zbroj, 2, '.', ''); 
     $UkupnoZbroj += $Zbroj; 
     $UkupnoZbroj = number_format((float)$UkupnoZbroj, 2, '.', ''); 
?> 
<form class="ShopKosaricaBox" method="post"> 
    <input type="hidden" id="KosaricaID" name="KosaricaID" value="<?=$redak['KosaricaID']?>"> 
    <div class="MarginBottom15"> 
    <input type="text" id="KosaricaKolicina" name="KosaricaKolicina" value="<?=$redak['KosaricaKolicina']?>" maxlength="2"> x <?=$redak_artikal['ArtikalNazivHr']?> (<?=$redak['KosaricaVelicina']?>) - <?=$Zbroj?> kn 
    </div> 
    <div class="right MarginBottom15"> 
    <a onclick="ShopPromjena();">Promjeni</a>&nbsp;&nbsp;&nbsp;<a style="background:#c94e11;" onclick="ShopBrisanje();">Obriši</a> 
    </div> 
    <div class="clear"></div> 
</form> 
<script type="text/javascript"> 
function ShopPromjena() { 
    $(document).ready(function(){ 
     var str = $(".ShopKosaricaBox").serialize(); 
      $.ajax({ 
      type: "POST", 
      url: "/funkcije?akcija=promjena&KosaricaID=<?=$redak['KosaricaID']?>", 
      data: str, 
      success: function(str){ 
       alert("Uspješno ste promjenili količinu!"); 
       } 
      }); 
      return false; 
     }); 
} 
function ShopBrisanje() { 
    $(document).ready(function(){ 
     var str = $(".ShopKosaricaBox").serialize(); 
      $.ajax({ 
      type: "POST", 
      url: "/funkcije?akcija=brisi&KosaricaID=<?=$redak['KosaricaID']?>", 
      data: str, 
      success: function(str){ 
       alert("Uspješno ste obrisali jelo!"); 
       } 
      }); 
      return false; 
     }); 
} 
</script> 
<?php 
    } ?> 
<h1 class="MarginBottom25" style="font-size:25px;">Ukupno: <strong><?=$UkupnoZbroj?> kn</strong></h1> 
<?php } 
} 
?> 

我把數據通過Ayax的MySQL,這是JavaScript:

$(document).ready(function(){ 
    $(".ShopPonudaBox").submit(function(){ 
    var str = $(this).serialize(); 
     $.ajax({ 
     type: "POST", 
     url: "/funkcije?akcija=dodaj", 
     data: str, 
     success: function(str){ 
      alert("Uspješno ste dodali jelo!"); 
      $('#KosaricaBox').load("/include/funkcije.php?funkcija=ShopKosarica"); 
      return false; 
      } 
     }); 
     return false; 
    }); 
}); 

和PHP代碼;

if ($_GET['akcija']=="dodaj") { 
    if ($_POST['KosaricaKolicina']<>0){ 
     $KosaricaSession = $_SESSION['ime']; 
     $KosaricaArtikal = clean($link, $_POST['ArtikalID']); 
     $KosaricaKolicina = clean($link, $_POST['KosaricaKolicina']); 
     $KosaricaVelicina = clean($link, $_POST['KosaricaVelicina']); 
     $provjera = mysqli_query($link, "SELECT * FROM shop_kosarica WHERE KosaricaSession='$KosaricaSession' AND KosaricaArtikal='$KosaricaArtikal' AND KosaricaVelicina='$KosaricaVelicina'"); 
     $num_results = mysqli_num_rows($provjera); 
     if ($num_results==0){ 
      $result = mysqli_query($link, "INSERT INTO shop_kosarica (KosaricaSession, KosaricaArtikal, KosaricaKolicina, KosaricaVelicina) VALUE ('$KosaricaSession', '$KosaricaArtikal', '$KosaricaKolicina', '$KosaricaVelicina')"); 
      //header("Location: /online-narudzba#Shop"); 
     } else { 
      $redak_provjera = mysqli_fetch_array($provjera); 
      $KosaricaID = $redak_provjera['KosaricaID']; 
      $result = mysqli_query($link, "UPDATE shop_kosarica SET KosaricaKolicina=KosaricaKolicina+$KosaricaKolicina WHERE KosaricaID='$KosaricaID'"); 
      //header("Location: /online-narudzba#Shop"); 
     }  
    } else { 
     //header("Location: /online-narudzba#Shop"); 
    } 
} 

我試圖用這種方法,我發現這裏

$('#KosaricaBox').load("/include/funkcije.php?funkcija=ShopKosarica"); 

    $funkcija = $_GET["funkcija"]; 
    if ($funkcija == "ShopKosarica") { 
     echo ShopKosarica(); 
    } 

但不斷收到錯誤

注意:未定義的變量:_SESSION在 H:\ Dropbox的\ htdocs中\包括\ funkcije .php 47行

警告:mysqli_query()期望參數1爲mysqli,null給出 在H:\ Dropbox的\ htdocs中\包括上線\ funkcije.php 48

+0

您是否在php文件中獲得'$ KosaricaSession','$ KosaricaArtikal','KosaricaVelicina'的值? – 2014-09-21 09:30:02

+0

在每一頁上開始會話。 'seesion_start()' – 2014-09-21 09:32:12

+0

我第一次加載頁面,當我在sql中插入數據並嘗試通過ayax刷新購物卡時,我收到錯誤。 session_start(9加入。 – 2014-09-21 09:40:20

回答

1

在你的頁面開始的任意HTML

您將收到加入

session_start(); 

和連接數據庫 有類似的東西:

$con=mysqli_connect("localhost","xxxx","xxxx","xxxxx"); 

//check connection 
if (mysqli_connect_errno($con)) 
{ 
echo "Failed to connect to MySQL:" . mysqli_connect_error(); 
} 

session_start(); 
     include("inc/incfiles/header.inc.php")?> 
     <html> 
     <head> 
    <meta http-equiv="Content-Type" conte... 

不要忘記刪除之前的空間

相關問題