当谈到 AJAX 时,我完全是个菜鸟,我只是想知道是否:
创建 ajax 调用时:
$.ajax( {
type: 'POST',
url:'http://link.to.php/file.php',
data: { 'link': variable},
})
我是否必须创建多个 PHP 文件,每个文件只有我想使用的单一查询,或者我可以将它们全部编译到一个文件中吗?例如
**File1.php
//containing a singular query**
<?php
include ('connection.php');
if(isSet($_POST['link'])){
$curUrl=$_POST['link'];
$curUrl=mysql_real_escape_string($curUrl);
$nextSet = "SELECT * FROM shortlink_analytics WHERE shortlink = '$curUrl' ORDER BY hitTime ASC";
$array = array();
$query = mysql_query($nextSet);
while($row = mysql_fetch_array($query)){
$array[] = '<tr><td>'.$row['hitTime'].'</td></tr>';
}
echo json_encode ($array);
}
?>
或者我可以让它们像下面这样吗:
File2.php
//containing multiple querys
<?php
include ('connection.php');
if(isSet($_POST['link'])){
$curUrl=$_POST['link'];
$curUrl=mysql_real_escape_string($curUrl);
$nextSet = "SELECT * FROM shortlink_analytics WHERE shortlink = '$curUrl' ORDER BY hitTime ASC";
$array = array();
$query = mysql_query($nextSet);
while($row = mysql_fetch_array($query)){
$array[] = '<tr><td>'.$row['hitTime'].'</td></tr>';
}
echo json_encode ($array);
}
if(isSet($_POST['link2'])){
$curUrl2=$_POST['link2'];
$curUrl=mysql_real_escape_string($curUrl2);
$nextSet = "SELECT * FROM shortlink_analytics WHERE shortlink = '$curUr2l' ORDER BY hitTime ASC";
$array2 = array();
$query = mysql_query($nextSet);
while($row = mysql_fetch_array($query)){
$array[] = '<tr><td>'.$row['hitTime2'].'</td></tr>';
}
echo json_encode ($array2);
}
?>
如果我可以像 File2.php 这样,我该如何着手定位正确的查询?
最佳答案
这完全取决于您打算拥有的查询数量。这个文件越大,需要的处理就越多,管理起来就越困难。如果您确实使用单个文件,我会考虑使用 switch 语句。 Switch 和 If 语句已经过基准测试,Switch 语句比 If 语句更有效。
关于php - 一个文件中的多个 PHP 查询用于 AJAX 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14140879/