Javascript 获取SQL表值的最有效方法是什么?

Javascript 获取SQL表值的最有效方法是什么?,javascript,php,mysql,sql,ajax,Javascript,Php,Mysql,Sql,Ajax,不久前我写了一些代码来检索玩家登录网站时保存的分数。它使用AJAX,看起来有点像这样: Javascript: function getHighScore(user){ $.get("getScore.php?userName="+user,function(data){ console.log(data); output = data; }); } PHP: 我今天面临的事实是,我必须从数据库中获取大量数据,所以我看了一下我编写

不久前我写了一些代码来检索玩家登录网站时保存的分数。它使用AJAX,看起来有点像这样:

Javascript:

function getHighScore(user){
    $.get("getScore.php?userName="+user,function(data){
        console.log(data);
                output = data;
    });
}
PHP:

我今天面临的事实是,我必须从数据库中获取大量数据,所以我看了一下我编写的旧的高分代码。我会附上一张我将从中检索信息的表格的屏幕截图。无论如何,我需要从6列10行中获取信息。我需要在MON1上为P1、P2、P3等数据分配一个PHP变量;TUE1上的P1、P2、P3等;以此类推,直到我们在周五2到达P6。我对PHP真的很陌生,那么做这件事的最佳方式是什么呢

如果我把问题说得很奇怪,我道歉。如果你不明白什么,尽管问

谢谢大家!

PS:忽略p_工作列。我现在不需要提及他们


我建议您使用一个对象来存储所有内容,使用day列作为键,使用p*列作为值。下面是一些您可以立即使用的代码:

<?php
$con = mysqli_connect('localhost','XXXX','XXXX','XXXX');
if(!$con) exit('Could not connect: ' . mysqli_error($con));

$username = $_GET['userName'];

$sql = "SELECT * FROM TABLE WHERE username = '%s'";
$results = $con->query(sprintf($sql, $con->escape_string($username))); // Always escape parameters to prevent SQL injection attacks

$data = new stdClass; // An empty object

while($result = $results->fetch_object()){
    $day = $result->day; // Use the day as the key of the object
    $data->{$day} = $result;
}

// Now we output the results below by accesing the data in a chain-like fashion by accesing the "data" object
echo $data->MON1->P1 . '<br>'; // will output "Geo E"
echo $data->FRI1->P4 . '<br>'; // will output "Maths"
echo $data->THU2->P6 . '<br>'; // will output "DT"

请确保将SQL查询中的表替换为实际的表名,因为在所附的屏幕截图中看不到该表名。

请不要图片。看这是完美的-谢谢!除此之外,如果您有选择行,您在没有用户名列的情况下使用“用户名”-您的意思是“天”?对不起,忘记标记您了@ablopezSince在您发布的原始代码中引用了一个username GET参数,我假设您仍然需要使用它,但是如果您不需要任何筛选,那么不用担心,只需将$sql更改为$sql=SELECT*FROM TABLE;和$results to$results=$con->query$sql;我的错。应该说得更清楚。谢谢大家!@ablopezHey,再次返回@ablopez,我想知道,如果我想将$data->THU2->P6的值赋给一个变量,那么最好的方法是什么将其发送回我的JS,这样我就可以创建一个与该PHP变量相等的JS变量?我需要一次完成20个变量。困惑,因为我只知道如何读取已输出的单个字符串。
<?php
$con = mysqli_connect('localhost','XXXX','XXXX','XXXX');
if(!$con) exit('Could not connect: ' . mysqli_error($con));

$username = $_GET['userName'];

$sql = "SELECT * FROM TABLE WHERE username = '%s'";
$results = $con->query(sprintf($sql, $con->escape_string($username))); // Always escape parameters to prevent SQL injection attacks

$data = new stdClass; // An empty object

while($result = $results->fetch_object()){
    $day = $result->day; // Use the day as the key of the object
    $data->{$day} = $result;
}

// Now we output the results below by accesing the data in a chain-like fashion by accesing the "data" object
echo $data->MON1->P1 . '<br>'; // will output "Geo E"
echo $data->FRI1->P4 . '<br>'; // will output "Maths"
echo $data->THU2->P6 . '<br>'; // will output "DT"