viernes, 8 de febrero de 2013

Crear tabla ingresando variables en JAVASCRIPT con JQUERY




Vamos a crear una tabla ingresando variables (":","_","/","*",";")

creando modelo de plantilla
=========================================*/

pantalla tipo _ plasma  /
                   plasma  *
proporcion _ wide ;
caracteristicas contraste  _ 5000  *
       contraste  _ 5000  *
    contraste  _ 5000  ;
tiempo 8 minutos ;

|-------------------------------------------------------|
|                      | | plasma |
|                    | tipo                |-------------------|
| pantalla          | | plasma |
|                    |---------------------------------------|
|                    | proporcion | wide |
|------------------------------------------------------------|
|                    | contraste         | 5000               |
  |----------------------------------------|
| caracteristicas | contraste          | 5000               |
                  |---------------------------------------|
|                    | contraste   | 5000                     |
|------------------------------------------------------------|
| tiempo           | 8 minutos                                 |
|------------------------------------------------------------|



Codigo JAVASCRIPT

$("#txtPlantillaTexto").keyup(function () {

var texto = $(this).val();
var cant1=texto.split(';');

// creando tabla
var htmlTabla='<table class="tabla">';
for (var i = 0; i < cant1.length-1; i++){
// contando rowspan
var c1=cant1[i].split("/");
var c2=cant1[i].split("*");
var ct=(c1.length+c2.length)-1;
var culumnaUno=cant1[i].split(":");

htmlTabla=htmlTabla+'<tr><td rowspan="'+ct+'">'+culumnaUno[0]+'</td>';
      var cant2=culumnaUno[1].split("*");
      //creando la segunda columna
      for (var ii = 0; ii < cant2.length; ii++){
var culumnaDos=cant2[ii].split("_");
if (culumnaDos.length>1) {
var cant3=culumnaDos[1].split("/");
var colspan='1';
}else{
var cant3=0;
var colspan='2';
}

   htmlTabla=htmlTabla+'<td rowspan="'+(cant3.length)+'" colspan="'+colspan+'">'+culumnaDos[0]+'</td>';
   
if (culumnaDos.length>1) {
//creando la tercera columna
for (var iii=0; iii < cant3.length; iii++){
   htmlTabla=htmlTabla+'<td>'+cant3[iii]+'</td></tr><tr>';
}
}else{
htmlTabla=htmlTabla+'</tr><tr>';
}
}
htmlTabla=htmlTabla+'</tr>';
}

htmlTabla=htmlTabla+'</table>';

$("#txtPlantillaResultado").html(htmlTabla);
}).keyup();


Crear tabla ingresando variables en PHP



Vamos a crear una tabla ingresando variables (":","_","/","*",";")

creando modelo de plantilla
=========================================*/

pantalla : tipo _ plasma /
                 plasma *
proporcion _ wide ;
caracteristicas : contraste _ 5000 *
    contraste _ 5000 *
  contraste _ 5000 ;
tiempo : 8 minutos ;

|-------------------------------------------------------|
|                      | | plasma |
|                    | tipo                |-------------------|
| pantalla          | | plasma |
|                    |---------------------------------------|
|                    | proporcion | wide |
|------------------------------------------------------------|
|                    | contraste         | 5000               |
  |----------------------------------------|
| caracteristicas | contraste          | 5000               |
|                   |---------------------------------------|
|                    | contraste   | 5000                     |
|------------------------------------------------------------|
| tiempo           | 8 minutos                                 |
|------------------------------------------------------------|



Codigo PHP

<?php 
// Armar tablas con simbolos en php
//$datos='pantalla:tipo_plasma1/plasma2*proporcion_wide;';
$datos='pantalla:base_asdas*base11111_sas*asa;';
$cant1=explode(";",$datos);
// creando tabla
$htmlTabla = '<table class="tabla">';
for ($i=0; $i < count($cant1) - 1; $i++): 
// contando rowspan
$c1=explode("/",$cant1[$i]);
$c2=explode("*",$cant1[$i]);
$ct=(count($c1)+count($c2))-1;

$culumnaUno=explode(":", $cant1[$i]);
$htmlTabla = $htmlTabla.'<tr><td rowspan="'.$ct.'">'.$culumnaUno[0].'</td>';
$cant2=explode("*", $culumnaUno[1]);
//creando la segunda columna
      for ($ii=0; $ii < count($cant2); $ii++): 
$culumnaDos=explode("_", $cant2[$ii]);
if (count($culumnaDos)>1) {
$cant3=explode("/", $culumnaDos[1]);
$colspan='1';
}else{
$cant3=0;
$colspan='2';
}
$htmlTabla=$htmlTabla.'<td rowspan="'.count($cant3).'" colspan="'.$colspan.'">'.$culumnaDos[0].'</td>';
     
      if (count($culumnaDos)>1) {
      //creando la tercera columna
      for ($iii=0; $iii < count($cant3); $iii++):
   $htmlTabla=$htmlTabla.'<td>'.$cant3[$iii].'</td></tr><tr>';
endfor;
}else{
$htmlTabla=$htmlTabla.'</tr><tr>';
}
endfor;
$htmlTabla=$htmlTabla.'</tr>';
endfor;
$htmlTabla=$htmlTabla.'</table>';
echo $htmlTabla;