我的應用程式需要一些幫助。我有這個程式碼:
實時.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;
我有這個函數,它只是 p assing 一個值,而不是傳遞資料庫的所有內容:
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; } }
所有其他欄位都在即時工作,但這個欄位僅從資料庫中取得一個值...
如何從資料庫中取得所有值?
已編輯 - 2022 年 5 月 22 日
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(); }
這是有效的函數,現在有一個更漂亮的結果:
我仍然想列印一些更漂亮的東西供最終用戶查看。這樣我就得到了每個值中的換行符,但我仍然想從輸出中刪除“,”...如果有人有可以更好使用的東西,那麼請發布它,謝謝。