Rumah > Soal Jawab > teks badan
Saya memerlukan bantuan dengan apl saya. Saya mempunyai kod ini:
masa nyata.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;
Saya mempunyai fungsi ini yang hanya menilai nilai dan bukannya menghantar semuanya daripada pangkalan data:
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; } }
Semua bidang lain berfungsi dalam masa nyata tetapi yang ini hanya mendapat nilai daripada pangkalan data...
Bagaimana untuk mendapatkan semua nilai daripada pangkalan data?
Diedit - 22 Mei 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; } }
Ini skrip 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(); }
P粉9472963252024-03-31 12:19:40
Ini adalah fungsi yang berfungsi, kini dengan hasil yang lebih cantik:
static function getBTotalParticipantesFromPA1(){ $db = new mysqli("localhost","root","","participantes"); $query = "SELECT * FROM premioacumulado1"; $result = $db->query($query); $row = $result->fetch_array(MYSQLI_ASSOC); $s = "
"; $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; } }
Saya masih mahu mencetak sesuatu yang lebih cantik untuk tatapan pengguna akhir. Dengan cara ini saya mendapat baris baharu dalam setiap nilai, tetapi saya masih mahu mengalih keluar "," daripada output... Jika sesiapa mempunyai sesuatu yang boleh digunakan dengan lebih baik, sila hantarkannya, terima kasih.