Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mendapatkan semua nilai dari pangkalan data dan kembali ke kod PHP dalam medan XML?

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粉563446579P粉563446579226 hari yang lalu467

membalas semua(1)saya akan balas

  • P粉947296325

    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.

    balas
    0
  • Batalbalas