Foros del Web » Programando para Internet » PHP »

Tratamiento de datos procedentes de mysql

Estas en el tema de Tratamiento de datos procedentes de mysql en el foro de PHP en Foros del Web. Hola a todos/as, les planteo el siguiente problema: - Hago un display en mi web de una tabla de mysql, esa tabla sombrea de rojo ...
  #1 (permalink)  
Antiguo 07/09/2014, 11:58
 
Fecha de Ingreso: septiembre-2013
Mensajes: 76
Antigüedad: 11 años, 1 mes
Puntos: 0
Tratamiento de datos procedentes de mysql

Hola a todos/as, les planteo el siguiente problema:

- Hago un display en mi web de una tabla de mysql, esa tabla sombrea de rojo algunos valores concretos. Un ejemplo de tabla sería esta:



Ej tabla: (DISPLAY 1 HECHO)

usuarios c1 c2 c3
Pablo Pantalon Jersey camiseta
Miguel abrigo bombilla Jersey
Juan lámpara Pico Cantimplora

En este ejemplo estaría resaltado en rojo por ejemplo las celdas en las que estuviera el producto botas (HASTA AHÍ LO TENGO HECHO ).

CÓDIGO:
Código PHP:
<?php

//conectar al servidor


$connect mysql_connect("localhost""root""") ; 

if (!
$connect) {
die (
"Can not connect: " mysql_error () ) ; 
}


//conectar a la base de datos


mysql_select_db("modelobd"$connect) ; 

$sql "SELECT * FROM comprausers";


//query la base de datos
$myData mysql_query($sql$connect) ; 
echo  
"<table border=1> 

<tr>
<th> id_users </th>
<th> users </th>
<th> compra1 </th>
<th> compra2 </th>
<th> compra3 </th>
</tr>"



 
function 
dame_color($valor) {
      if (
$valor == 'botas) return 'red';
     else return '
white';
    }  


while ($record = mysql_fetch_array ($myData)) {
$color = ($record ['
compra3'] == 'botas') ? "style='background-color:#f00;'" : '';


echo "<tr >";
echo 
"<td>" $record ['id_usuario'] . "</td>";
echo 
"<td>" $record ['usuario'] . "</td>";
echo 
"<td>" $record ['compra1'] . "</td>";
echo 
"<td>" $record ['compra2'] . "</td>";
echo 
"<td>" $record ['compra3'] . "</td>";

echo 
"<td $color>" $record ['compra3'] . "</td>"

</
tr>";
}
echo "
</table>" ;



mysql_close($connect) ; 

?>

HASTA AHÍ BIEN.
DUDA EN EL SIGUIENTE PASO: Desde la tabla anterior quiero obtener otro display, que sería resumen del anterior que me refleje el usuario, y a continuación, aquí viene el problema, el número de compras que ha realizado de UN TIPO DE producto (ROPA O MATERIAL) para a continuación si ha comprado menos de un cierto número pintar su celda de un color, aplicado al ejemplo anterior sería:


DISPLAY 2 (DUDA):

usuario Ropa Materiales
Pablo 3 0 (celda roja)
Miguel 2 1 (celda roja)
Juan 0 (cenda roja) 3




No tengo muy claro como hacer esta parte, he indagado en relación a estas funciones y he probado alguna pero no lo consigo, esta era una de las que he mirado:


http://http://php.net/manual/es/mysq...t.num-rows.php



He intentado ser lo más descriptivo posible, espero me hayan entendido lo que quiero hacer, y por favor sean descriptivos en sus propuestas, sería de agredecer!! Gracias de antemano!!
  #2 (permalink)  
Antiguo 07/09/2014, 12:10
 
Fecha de Ingreso: octubre-2011
Mensajes: 206
Antigüedad: 13 años
Puntos: 1
Respuesta: Tratamiento de datos procedentes de mysql

Que campos tiene la BD? Si un campo es C1 (compra 1) y puedes tener almacenado material o ropa es imposible luego distinguirlo..o hay un numero especifico de ropa y material??
  #3 (permalink)  
Antiguo 08/09/2014, 03:32
 
Fecha de Ingreso: septiembre-2013
Mensajes: 76
Antigüedad: 11 años, 1 mes
Puntos: 0
Exclamación Respuesta: Tratamiento de datos procedentes de mysql

Hola de nuevo compañeros, voy a hacer una aclaración en relación a la consulta porque sé que resulta algo complejo:

Voy a poner el mismo tipo de proceso pero con números para que resulte más sencillo:

Voy a cambiar el ejemplo anterior por otro usando valores numéricos para que resulte mas sencillo:

Hago un display en mi web de una tabla de mysql, he hecho un pantallazo de la imagen y la he subido a google sites, para que la veais (sería la tabla A de la imagen):


https://sites.google.com/site/fotoparablog/

LA TABLA B ES LA QUE QUIERO OBTENER A PARTIR DE LOS DATOS DE LA TABLA A:

Resulta más facil de comprender ahora??

Posibilidades que contemplo para crearlo:
1) ¿Es posible asociar cada registro de entrada a una variable en el archivo que recibe los datos de la base de datos, y compararlos con 3 con un simple if, de tal manera que si recibe un = o mayor que , 3 se le suma 1 a una nueva variable llamada valoresigualesomayores que tres y por otro lado crear otra variable que sea valores menoresqu 3 que funcionaria de la misma forma pero con valores menores a 3?

2) Si no se puede hacer con datos procedentes de mysql, que tal duplicando los datos del formulario del que proceden los de la tabla de mysql, y tratarlos a partir de ahí

La mayor cuestión es como asociar a una variable los datos que llegan ya sea de mysql o del form.
Creo que podría hacerlo así, pero claro esto me asociaría cada campo a una variable no cada registro


Código PHP:
Ver original
  1. $d="";
  2. $b="";
  3. $c="";
  4.  
  5.    $d= $row[1];
  6.    $b= $row[2];
  7.    $c= $row[3];


SÉ QUE ES BASTANTE COMPLEJO, DE HECHO LLEVO UN PAR DE DÍAS CON ELLO AGOBIADO, A VER SI ALGUIEN ES CAPAZ DE SACARLO!!!! -(

Gracias a todos los que se interesen por ayudar!!

Última edición por jesus_spanishteacher; 08/09/2014 a las 03:35 Razón: un pequeño error

Etiquetas: mysql, select, sql, tabla, tratamiento, usuarios
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 12:35.