Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2013, 19:34
dfgphp
 
Fecha de Ingreso: diciembre-2011
Ubicación: pontevedra
Mensajes: 17
Antigüedad: 14 años, 11 meses
Puntos: 0
Duda para modificar XML con PHP

Hola he construido un XML con PHP desde una consulta , el pograma va de unas preguntas con varias respuestas , en la tabla tengo una columna que es respuesta corecta de la 1 a la 4.
Entonces tengo qe modificar el xml y nose como plantearlo , debo consultar la respuesta correcta y modificar la salida xml siguiente: $salida_xml .= "<answer fraction='100'> "; .Como veo es 100 pero si es incorrecta tiene que ser 0 . Adjunto programa para ver si me pueden echar un cable... gracias


Código PHP:
<?php
 
header
("Content-type: text/xml");
 
include(
"openbase.php");


function 
base64_encode_image ($filename=string,$filetype=string) {
    if (
$filename) {
        
$imgbinary = fread(fopen($filename, "r"), filesize($filename));
        return 
'data:image/' . $filetype . ';base64,' . base64_encode($imgbinary);
    }
}

$consulta     = "SELECT * FROM `Tests` WHERE `CodiTest` = '".$CodiTest."' "; 
$salida     = mysql_query($consulta, $coneccion);

$row         = mysql_fetch_array($salida,MYSQL_ASSOC);

$CodiTest    = $_GET['CodiTest'];

mysql_free_result($salida); 

$consulta   = "SELECT * FROM `Tests_Preguntes`,`Preguntes` WHERE `Id_Test` = '".$CodiTest."' AND `Id_Pregunta` = `Id`  ORDER BY `Posicio` "; 
$salida     = mysql_query($consulta, $coneccion);

$salida_xml = "<?xml version=\"1.0\"?>\n"; 
$salida_xml .= "<quiz> ";
 
 
for(
$x = 0 ; $x < mysql_num_rows($salida) ; $x++){ 
    
$fila = mysql_fetch_assoc($salida);
    
       
$salida_xml .= '<question type="category">'; 
              
$salida_xml .= "\t<category> ";
                          
$salida_xml .= "\t\t<texto> "; 
                          
$salida_xml .= "\t\t</texto> "; 
              
$salida_xml .= "\t</category> ";
      
$salida_xml .= "</question> ";  
  
    
$salida_xml .= '<question type="multichoice"> ';
      
$salida_xml .= '<name> ';
       
$salida_xml .= '<text>' . $fila['Pregunta'] . '</text> '; 
      
$salida_xml .= '</name> ';
    
$salida_xml .= "<questiontext format='html'> ";
       
$salida_xml .= '<text>' . $fila['Pregunta'] . '</text> '; 
    
$salida_xml .= '</questiontext> ';   
       
$salida_xml .= '<image>'.$fila['FotoPreg'].'.'.'jpg'.'</image> ';
      
       
$salida_xml .= '<image_base64>'.$fila['FotoPreg'].'.'.'jpg'.'</image_base64>';
       
$salida_xml .= '<penalty>'.'</penalty> ';
       
$salida_xml .= '<hidden>'.'</hidden> ';
       
$salida_xml .= '<single>'.'</single> ';
           
     
$salida_xml .= "<answer fraction='100'> ";   
       
$salida_xml .= '<text>' . $fila['Resp1'] . '</text> ';
       
$salida_xml .= '<feedback> ';    
           
$salida_xml .= '<text></text> ';
       
$salida_xml .= '</feedback> ';
     
$salida_xml .= '</answer> ';
      
     
$salida_xml .= "<answer fraction='0'> ";   
       
$salida_xml .= '<text>' . $fila['Resp2'] . '</text> ';
       
$salida_xml .= '<feedback> ';    
           
$salida_xml .= '<text></text> ';
       
$salida_xml .= '</feedback> ';
     
$salida_xml .= '</answer> ';
     
     
$salida_xml .= "<answer fraction='0'> ";   
       
$salida_xml .= '<text>' . $fila['Resp3'] . '</text> ';
       
$salida_xml .= '<feedback> ';    
           
$salida_xml .= '<text></text> ';
       
$salida_xml .= '</feedback> ';
     
$salida_xml .= '</answer> ';
     
     
$salida_xml .= "<answer fraction='0'> ";   
       
$salida_xml .= '<text>' . $fila['Resp4'] . '</text> ';
       
$salida_xml .= '<feedback> ';    
           
$salida_xml .= '<text></text> ';
       
$salida_xml .= '</feedback> ';
     
$salida_xml .= '</answer> ';  
  
$salida_xml .= '</question>'; 
    
    
        
// Corregiendo caracteres incorrectos
        
$fila['Pregunta'] = str_replace("&", "&amp;", $fila['Pregunta']); 
    
        
$fila['Resp1'] = str_replace("<", "&lt;", $fila['Resp1']); 
        
$fila['Resp2'] = str_replace(">", "&gt;", $fila['Resp2']); 
        
$fila['Resp3'] = str_replace(">", "&gt;", $fila['Resp3']); 
        
$fila['Resp4'] = str_replace(">", "&gt;", $fila['Resp4']); 
   
}
 
$salida_xml .= "</quiz>";
 
echo 
$salida_xml;
 
?>