gpt4 book ai didi

javascript - 将 mysql_fetch_array 中的 php 数据保存为脚本变量

转载 作者:行者123 更新时间:2023-11-29 13:28:28 28 4
gpt4 key购买 nike

一直试图将 while 循环中的数据保存到脚本变量,但没有成功。如果我想如何将我的 php 数据保存到脚本变量,做了一个例子。这对我不起作用。有人有什么想法吗?不想手动保存所有数据。非常感谢您的解答!不懂就问:) 现在它只保存 row2 中的最后一个变量。

$id = 0;
while($rows = mysql_fetch_array($data)){
$id = $id + 1;

$data = $rows['data'];

$id2 = 0;
$sql = mysql_query("select * from table where id = '".$data."'");
while($row2 = mysql_fetch_array($sql)){

$id2 = $id2 + 1;
$var = $row2['var']; //lets say this one is HT123
}

$savethis = "var data" . $id . "_" . $id2 . " = '" . $var . "';";
}

echo "<script>";

echo $savethis;

//I want it to equal like "var data1_1 = 'HT123';
//And then do this for each row, so:
//var data1_2 = 'HW132';
//var data1_3 = 'PQ542';
//var data2_1 = 'SA210';
//Etc

echo "</script>";

最佳答案

我真的建议使用 PDO 作为 mysql_fetch_array() will be deprecated in the near future .

考虑到这一点,如果您可以使用 PDO ( here is where you can learn to set up a PDO connection ) 来做到这一点,我认为这可能会起作用(只是在我的脑海中工作,因为我没有您的数据可以使用:

// code to set up a PDO connection
$sql = "SELECT * FROM first_table";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$first_results = $stmt->fetchAll(PDO::FETCH_OBJ);

$result_array = array();

foreach ($first_results AS $first) {

$newSQL = "SELECT * FROM second_table WHERE id = '{$first->id}'";
$newStmt = $pdo->prepare($newSQL);
$newStmt->execute();
$second_results = $newStmt->fetchAll(PDO::FETCH_OBJ);

// append
$result_array[$first->id][$second_results->id] = $second_results->var;
}

return json_encode($result_array);

再说一次,这只是一个粗略的想法,可能有一些问题。但这应该会给你由 ids 键控的嵌套数组。所以它可能看起来(希望)像这样:

[0]
[0] => "var", (this would be equivalent to data0_0 = var)
[1] => "var2"
[1]
[0] => "foo"

您可以通过使用 AJAX 将请求发送到您的 PHP 文件来让它们进行交互,然后您就可以期待 JSON 数组作为响应。

关于javascript - 将 mysql_fetch_array 中的 php 数据保存为脚本变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19814604/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com