2012-07-14 81 views
0

我不知道發生了什麼,我再次在PHP和Javascript中檢查我的代碼,但無法找到任何額外的},它沒有相應的{,任何人都可以幫我看一下代碼?未捕獲的SyntaxError:意外的代幣}

這裏是PHP文件,加載函數可以成功加載,但是當我點擊按鈕「查看日誌」時,會發生上述消息。

function load($DB){ 
    $dbConnection = mysql_connect($DB['server'], $DB['loginName'], $DB['password']); 
    if(!$dbConnection){ 
     die('Error! ' . mysql_error()); 
     } 
    mysql_select_db($DB['database'], $dbConnection); 
    $result = mysql_query("SELECT ClientName FROM Client"); 

    print "Sort by"; 
    print "<select id='option'>"; 
    print "<option value='3'>Tech</option>"; 
    print "<option value='4'>Client</option>"; 
    print "</select>"; 
    print "<input type='button' value='View the log' onclick='viewlog(document.getElementById('option').value)'/>"; 
    print "<br>"; 

    print "Tech Name checked in/out from"; 
    print "<select id='client'>"; 
    while($row = mysql_fetch_array($result)){ 
     print "<option value='".$row['ClientName']."'>".$row['ClientName']."</option>"; 
    } 
    print "</select>"; 
    print "<input type='button' value='Display' onclick='display(document.getElementById('client').value)'/>"; 
    print "<br>"; 
    print "<button type='button' onclick='back.php?function=5'>Export the log to .csv</button>"; 
    print "<br>"; 
} 

function viewlog($DB, $sort){ 
    print "<h1>repeat</h1>"; 
    $dbConnection = mysql_connect($DB['server'], $DB['loginName'], $DB['password']); 
    if(!$dbConnection){ 
     die('Error! ' . mysql_error()); 
     } 
    mysql_select_db($DB['database'], $dbConnection); 
    $query = "SELECT * 
       FROM Tech AS T, Client AS C, Site AS S, Log AS L 
       WHERE T.TechID=L.TechID AND C.ClientID=L.ClientID AND S.SiteID=L.SiteID "; 
    if($sort=="Tech") 
     $query .= "ORDER BY T.TechName ASC, L.Time DESC"; 
    else if($sort=="Client") 
     $query .= "ORDER BY C.ClientName ASC, L.Time DESC"; 
    $result = mysql_query($query) or die('Error! ' . mysql_error());; 
    print "Real-Time check in/check out<br>"; 
    print "<table><th><td>Tech</td><td>Client</td><td>Site</td>"; 
    print "<td>Date and Time</td><td>Type</td></th>"; 
    while($row = mysql_fetch_array($result)){ 
     print "<tr><td>".$row['TechName']."</td>"; 
     print "<td>".$row['ClientName']."</td>"; 
     print "<td>".$row['SiteName']."</td>"; 
     print "<td>".$row['Time']."</td>"; 
     print "<td>".$row['Type']."</td></tr>"; 
     } 
    print "</table>"; 
} 

function export($DB){ 
    $dbConnection = mysql_connect($DB['server'], $DB['loginName'], $DB['password']); 
    if(!$dbConnection){ 
     die('Error! ' . mysql_error()); 
     } 
    mysql_select_db($DB['database'], $dbConnection); 
    $result = mysql_query("SELECT TechName, ClientName, SiteName, Time, Type 
          INTO OUTFILE 'result.csv' 
          FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED by '\"' 
          LINES TERMINATED BY '\n' 
          FROM Tech AS T, Client AS C, Site AS S, Log AS L 
          WHERE T.TechID=L.TechID AND C.ClientID=L.ClientID AND S.SiteID=L.SiteID 
          ORDER BY L.Time DESC"); 
    $Time = date('Y_m_d_H_i'); 
    $fileName = "Report_" + $Time; 
    header('Content-type: text/csv'); 
    header('Content-Disposition: attachment; filename="'.$fileName.'.csv"'); 
    readfile('result.csv'); 
} 

$function = $_GET['function']; 
if($function==0) 
    load($DB); 
elseif($function==3) 
    viewlog($DB, "Tech"); 
elseif($function==4) 
    viewlog($DB, "Client"); 
elseif($function==5) 
    export($DB); 

下面是Javascript代碼:

function load(){ 
var xmlhttp; 
if (window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp = new XMLHttpRequest(); 
}else{ // code for IE6, IE5 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
}    

xmlhttp.onreadystatechange = function(){ 
    //document.getElementById("action").innerHTML=xmlhttp.status; 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200){ 
     document.getElementById("action").innerHTML=xmlhttp.responseText;  
    } 
} 
var num = 0; 
xmlhttp.open("GET","back.php?function="+num, true); 
xmlhttp.send(); 
} 

function viewlog(num){ 
var xmlhttp; 
if (window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp = new XMLHttpRequest(); 
}else{ // code for IE6, IE5 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
}    

xmlhttp.onreadystatechange = function(){ 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200){ 
     document.getElementById("View").innerHTML=xmlhttp.responseText;   
    } 
} 
xmlhttp.open("GET","back.php?function="+num, true); 
xmlhttp.send(); 
} 

我試圖隱藏在js文件的事件瀏覽功能,也爲PHP文件還的事件瀏覽功能的內容,但兩個動作還是給了同樣的消息,我真的不知道如何調試它。有人能幫我一把嗎?

+0

你在瀏覽器或者你的apache錯誤日誌中看到這個錯誤嗎? IE瀏覽器,這是一個JS錯誤或PHP錯誤? 你的環境是什麼? LAMP後端,您使用的瀏覽器是什麼? – 2012-07-14 02:29:36

+0

這是假設說你從哪一行中得到錯誤。 – Ruel 2012-07-14 02:31:31

+0

刪除多餘的';':'$ result = mysql_query($ query)或死('Error!'。mysql_error());; '爲了防止將來的錯誤。請參閱下面的@Eric回答。 – 2012-07-14 02:33:58

回答

2

我認爲瀏覽器將有麻煩你使用相同的報價爲屬性作爲JavaScript字符串(你做兩個,但生病只是把一個例子)與:

onclick='viewlog(document.getElementById('option').value)' 

onclick='viewlog(document.getElementById(&quot;option&quot;).value)' 
+0

哦,你是對的,這應該是它的麻煩,讓我試試 – Conrad 2012-07-14 02:38:48

+0

它現在的作品,謝謝 – Conrad 2012-07-14 02:47:36

相關問題