2016-02-03 168 views
-5

這是一個PHP頁面我怎麼能寫PHP和JavaScript混合

echo '<script> 
      function myFunction() { 

       if (confirm("Are you sure you want to delete Advertiser ID : '.$advr_id.', This advertiser has campaign also!") == true) 
       {'. 
        while ($row_camp = mysql_fetch_array($result)) 
        { 
         $camp_id = $row_camp["camp_id"]; 
        } 

       .'} 
        else{}; 
      } 
     </script>'; 

我得到錯誤,而前一段時間之後。我如何連接它們?

+2

寶st你的錯誤。 –

+1

你這樣做是錯誤的,你不能將服務器端腳本混合到你的客戶端腳本函數中。你可以看到這個[問題](http://stackoverflow.com/questions/16263087/server-side-code-mixed-with-client-side-code-best-practices)最佳實踐(通過將其存儲到某個數組在腳本中然後使用它)。 – Cedric

+0

解析錯誤:語法錯誤,意外'while'(T_WHILE) –

回答

0

可能在此模式下,可能是我錯過了一些變化,但這是 試試這個想法,因爲我改變它

PHP

<?php 
?> 
    <script> 
     function myFunction() { 
      var x; 
      if (confirm("Are you sure you want to delete Advertiser ID : <?php echo $advr_id; ?>, This advertiser has campaign also!") == true) 

    { 
      <?php echo 'x="ok"; alert(x);'; 
     /* while ($row_camp = mysql_fetch_array($result)) 
       { 
        $camp_id = $row_camp["camp_id"]; //but may be echo something here is need? 
       }*/ 
     ?> 

      } else { 
       x = "You pressed Cancel!"; alert(x); 
      } 
     } 
    myFunction(); 
    </script> 
+0

我刪除while循環和回聲「你好」在該PHP部分它不工作。 –

+0

我剛剛編輯,刪除了回聲「你好」的部分;檢查它的工作與否。 –

+0

@M Talha Afzal那麼,現在當你設置你的網頁和數據庫編碼爲utf-8時,這裏有什麼不起作用? – Michael

-1

我認爲你可以使用

echo "<script> 
    function myFunction() { 
     var x; 
     if (confirm('Are you sure you want to delete Advertiser ID : '.$advr_id.', This advertiser has campaign also!) == true)"; 
     { 
      //while ($row_camp = mysql_fetch_array($result)) 
      { 
       //$camp_id = $row_camp['camp_id']; 
      } 
     } 
     "else { 
      x = 'You pressed Cancel!'; 
     } 
    } 
</script>"; 
0

我不明白爲什麼downvotes,這是學習PHP JS堆棧的常見錯誤。

無論如何,我認爲你需要了解PHP(後端)和Javascript(前端)如何相互作用。

From W3School

長話短說,你if javascript代碼,應該發送一個全新的請求,後端服務器(使用AJAX或使用HTML一個簡單的HTTP請求,你知道,一個表單和一個提交按鈕)和讓你的while PHP代碼刪除數據庫。

更新

這裏是一個非常簡單的例子

view.php

<script type="text/javascript"> 
    function myFunction() { 
     var x; 
     if (confirm("Are you sure you want to delete Advertiser ID : '<?php echo $advr_id; ?>.', This advertiser has campaign also!") == true) { 
      window.location = '/delete.php?id=<?php echo $advr_id; ?>'; 
     } else { 
      x = "You pressed Cancel!"; 
     } 
    } 
</script> 

delete.php

<?php 

$advr_id = $_GET['advr_id']; 
// delete from database 
+0

也許他不是這個需要,而是需要'簡單地在html中引出一個javascript女巫會在客戶端運行? – Michael

+0

@Mitch如果他確實需要向用戶顯示$ advr_id作爲確認,我不明白爲什麼不能爲 –

+0

做什麼,是他的代碼。可能是嗨想顯示'x ='一些文字',但他還不知道 – Michael