Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Ayuda funcionamiento consulta Mysql en php

Estas en el tema de Ayuda funcionamiento consulta Mysql en php en el foro de Bases de Datos General en Foros del Web. Hola a todos, estoy haciendo pruebas con algunos phps que no he hecho yo, pero no acabo de entender su funcionamiento. El código siguiente crea ...
  #1 (permalink)  
Antiguo 03/09/2010, 04:34
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 15 años, 4 meses
Puntos: 0
Ayuda funcionamiento consulta Mysql en php

Hola a todos, estoy haciendo pruebas con algunos phps que no he hecho yo, pero no acabo de entender su funcionamiento. El código siguiente crea una consulta a una base de datos phpmyadmin para un entorno flash. Me interesaría obtener los mismos datos en un entorno html, ya que el flash a veces lo complica todo bastante a la hora de hacer modificaciones y laparte final que marco en negrita no la acabo deentender muy bien. El código es el siguiente:

<?

include("includes/connexiodb.php");
include("includes/funcionsdates.php");

$link = Conectarse();

$sortida ='<?xml version="1.0" encoding="ISO-8859-1"?>'. "\n";
$sortida .= "<ventesacum>\n";



//consulta para listar id_con actius

$sql = "select id_con, data_con, divisio,artista,ciutat,aforament from concerts where anulat='no' AND historic='no' ORDER BY data_con ASC";

$result = mysql_query($sql,$link);

while ($row = mysql_fetch_array($result)){

//se inician las variables totals i ventesdia con valor 0

$totals = 0;

$ventesdia= 0;

$sortida .= "\t<bolo id_con='".$row['id_con']."' datacon='".myf($row['data_con'])."' divisio ='".$row['divisio']."' artista='".$row['artista']."' ciutat='".$row['ciutat']."' aforament ='".$row['aforament']."'";


//2ª consulta: para saber la fecha de la última venta

$query = "SELECT MAX(data_venta) FROM ventesdia WHERE con_id =".$row['id_con'];

$result2 = mysql_query($query,$link);



while($row2 = mysql_fetch_array($result2)){

$diaventa = $row2[0];

$sortida .= " data_update='".myf($diaventa)."'";

}



//calculamos entradas vendidas

for($r=1;$r<=20;$r++){



//consulta para saber el total de entradas vendidas

$query2="SELECT SUM(entrades".$r.") FROM ventesdia WHERE con_id =".$row['id_con'];

$result3 = mysql_query($query2,$link) or die (mysql_error());

while($row3 = mysql_fetch_array($result3)){

if($row3[0]!=0){

$totals += $row3[0];

}

}

//consulta para saber totales entradas vendidas del dia

$query3="SELECT SUM(entrades".$r.") FROM ventesdia WHERE con_id =".$row['id_con']." AND data_venta='".$diaventa."'" ;

$result4 =mysql_query($query3,$link) or die (mysql_error());



while($row4 = mysql_fetch_array($result4)){



if($row4[0]!=0){

$ventesdia += $row4[0];

}

}



}$sortida .= " totalentrades= '".$totals."'";

$sortida .= " ventesdia= '".$ventesdia."'";

//calcul del percentatge de venta/dia

if($totals!=0){

$percentatge = (($ventesdia*100)/$totals);

$percent = number_format($percentatge,2,',','.');

}

$sortida .= " percent='".$percent."'";

$sortida .= "/>\n";



}

//impression xml salida

$sortida .="</ventesacum>";

echo $sortida;

?>

Muchas gracias de antemano por vuestra ayuda.
  #2 (permalink)  
Antiguo 04/09/2010, 02:22
 
Fecha de Ingreso: septiembre-2010
Mensajes: 60
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: Ayuda funcionamiento consulta Mysql en php

Hola, zappan.

Cerca del principio aparecen estas líneas:

Código PHP:
Ver original
  1. $sortida ='<?xml version="1.0" encoding="ISO-8859-1"?>'. "\n";
  2. $sortida .= "<ventesacum>\n";

Eso es la cabecera de la respuesta y el primer tag. Lo que está devolviendo no es HTML, sino XML, y lo que has puesto en negrita, precisamente, es el cierre del tag "<ventasacum>".
El XML es un formato flexible: cada cual crea los tags que quiera. Aún así, puedes llamar al script desde un navegador (supongo que lo has hecho) y verás que no te devuelve una página web, sino que te devuelve datos.

Para poder "leer bonitos" los datos desde un navegador web, has de cambiar la cabecera para que el navegador sepa que va a recibir HTML (buscar "doctype" en google), y que el primer tag sea <html>. El resto simplemente una página web.
La página web a devolver se almacena en la variable "sortida".
Si te fijas en esta línea (ejemplo):

Código PHP:
Ver original
  1. $sortida .= "\t<bolo id_con='".$row['id_con']."' datacon='".myf($row['data_con'])."' divisio ='".$row['divisio']."' artista='".$row['artista']."' ciutat='".$row['ciutat']."' aforament ='".$row['aforament']."'";

puedes ver que está añadiendo el tag "<bolo>" con atributos "id_con", "datacon"... tú simplemente pon el HTML que a tí te guste: <table><tr><td>..." :)
Suerte!

Etiquetas: funcionamiento, mysql, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:03.