我需要一些帮助与我的应用程序。我有这样的代码:
realtime.php
$jogador = Jogador::getSaldoJogadorByEmail($email);
$premio = Premio::getValorPremioByTipo($tipo);
$participante = Participantes::getATotalParticipantesFromPA1();
$doc = new DOMDocument("1.0");
$action = $doc->createElement('action');
$action = $doc->appendChild($action);
$jogador = $doc->createElement('jogador1', $jogador);
$jogador = $action->appendChild($jogador);
$premio = $doc->createElement('premio1', $premio);
$premio = $action->appendChild($premio);
$participante = $doc->createElement('participante1', $participante);
$participante = $action->appendChild($participante);
$output = $doc->saveXML();
header("Content-type: application/xml");
echo $output;
,我有这个函数,它只传递一个值,而不是传递数据库的所有内容:
static function getTotalParticipantesFromPA1(){
$db = new mysqli("localhost","******","****","participantes");
$query = "SELECT * FROM premioacumulado1";
$result = $db->query($query);
$row = $result->fetch_array(MYSQLI_ASSOC);
if(mysqli_num_rows($result) > 0 ){
while($row = $result->fetch_array(MYSQLI_ASSOC)){
$id = $row['id'];
$username = $row['username'];
$m = "ID: " . $id . " " . "User: " . $username . "n";
return $m;
}
}else{
$db->close();
return NULL;
}
}
所有其他字段都是实时工作的,但这个字段只从数据库获取一个值…
如何从数据库中获得所有的值?
编辑- 22-05-2022
static function getTotalParticipantesFromPA1(){
$db = new mysqli("localhost","*****","*****","participantes");
$query = "SELECT * FROM premioacumulado1";
$result = $db->query($query);
$row = $result->fetch_array(MYSQLI_ASSOC);
if(mysqli_num_rows($result) > 0 ){
while($row = $result->fetch_array(MYSQLI_ASSOC)){
$id = $row['id'];
$username = $row['username'];
$m = "ID: " . $id . " " . "User: " . $username . "n";
}
return $m; // if i put it here it only returns the last value in the data base .
}else{
$db->close();
return NULL;
}
}
static function getTotalParticipantesFromPA1(){
$db = new mysqli("localhost","*****","*****","participantes");
$query = "SELECT * FROM premioacumulado1";
$result = $db->query($query);
$row = $result->fetch_array(MYSQLI_ASSOC);
if(mysqli_num_rows($result) > 0 ){
while($row = $result->fetch_array(MYSQLI_ASSOC)){
$id = $row['id'];
$username = $row['username'];
$m = "ID: " . $id . " " . "User: " . $username . "n";
echo $m;// if i do a echo i get an error in the xml $participante variable(realtime.php) , maybe convert it here so it can take the result , but how ?
}
}else{
$db->close();
return NULL;
}
}
下面是脚本Js:
function getRealTime(){
//retrieve the DOM objects to place content
var domjogador1 = document.getElementById("saldo");
var dompremiovaloracu1 = document.getElementById("valorActualPremioAcu1");
var domparticipantes1 = document.getElementById("areaParticipantesAcu1");
//send the get request to retrieve the data
var request = new XMLHttpRequest();
request.open("GET", "realtimegame.php", true);
request.onreadystatechange = function(){
if(request.readyState == 4 && request.status == 200){
//parse the xml document to get each data element
var xmldoc = request.responseXML;
var xmljogador1 = xmldoc.getElementsByTagName("jogador1")[0];
var jogador1 = xmljogador1.childNodes[0].nodeValue;
var xmlpremio1 = xmldoc.getElementsByTagName("premio1")[0];
var premio1 = xmlpremio1.childNodes[0].nodeValue;
var xmlparticipante1 = xmldoc.getElementsByTagName("participante1")[0];
var participante1 = xmlparticipante1.childNodes[0].nodeValue;
domjogador1.innerHTML = jogador1;
dompremiovaloracu1.innerHTML = premio1;
domparticipantes1.innerHTML = participante1;
}
};
request.send();
}
这里是工作的函数,现在有一个更漂亮的结果:
static function getBTotalParticipantesFromPA1(){
$db = new mysqli("localhost","root","","participantes");
$query = "SELECT * FROM premioacumulado1";
$result = $db->query($query);
$row = $result->fetch_array(MYSQLI_ASSOC);
$s = "<br />";
$data1 = array();
if(mysqli_num_rows($result) > 0 ){
do{
$data1[] = $row['username'] . " " . $row['id'] . "
";
}while($row = $result->fetch_array(MYSQLI_ASSOC));
return json_encode($data1);
}else{
$db->close();
return NULL;
}
}
我还是想打印出一些更漂亮的东西给最终用户看。这样我就得到了每个值的换行符,但我仍然想要删除","从输出中…如果有人有什么东西可以更好地使用,请张贴出来,谢谢。