Cita:
Iniciado por xtimed Ok vamos por partes, primeramente, si tienes codigo tal cual lo pusiste aquí, no veo donde cierres el ciclo for que pones al principio, si debe cerrarse justo despues de asignar valor a la variable $variable1, creo que lo correcto sería hacer lo siguiente:
Código MySQL:
Ver originalfor($i = 1; $i <= $cont; $i++){
$variable .= "'" . $_POST["campo".$i] . "',";
$variable1 .= "'" . $_POST["campo1".$i] . "',";
}
$variable
= trim($variable
, ",");$variable1
= trim($variable1
, ",");//Esto para eliminar la última coma que sale sobrando
Con esto estarías concatenando todos los valores de los campos que creas dinamicamente, como te decia, no se como guardas los valores en dichos campos, pero yo intuyo que no es con las comillas, es por eso que lo puse de esa manera.
Para la segunda duda, para que ocupas ordenar los valores? Creo que lo mas viable sería guardarlos a como vallan llegando y al momento de realizar una consulta utilizar ORDER BY campo y te olvidas de dolores de cabeza, es mi umilde opinión.
Aqui dejo codigo de una parte de mi pagina en donde ocupo los valores que llegan y como los muestro en mi grafico que debo ordenar de mayor a menor por el volumen que obtengo de la base, y la idea de que se comparen todo es porque cada folio tiene una cantidad de volumenes y la idea es mesclarlos todos para comparar...Nose si me explico bien ?
Código PHP:
Ver original<table align="left">
<?php
if($_POST["buscar"] != ''){
$cont = $_POST["cont-oculto"];
for($i = 1; $i <= $cont; $i++){
$variable = $_POST["campo".$i];
$variable1 = $_POST["campo1".$i];
$sql = ( "
SELECT profolio,(prodescuadria||'x'||prodlargo) as escuadria,prodvolumen,prodpzas,simtrozosconsumo,split_part(prodescuadria,'x',1) as part1,split_part(prodescuadria,'x',2) as part2,prodlargo
FROM
(SELECT a.profolio,a.esqcodigo,a.patcodigo,b.simcodigo,b.simtrozosconsumo
FROM
(SELECT profolio,esqcodigo,patcodigo,simcodigo,simtrozosconsumo
FROM simulaciones
WHERE profolio IN (".$variable.") AND patcodigo IN (".$variable1.")) b,esquemaprograma a
WHERE a.profolio IN (".$variable.") AND a.patcodigo IN (".$variable1.") AND a.profolio=b.profolio AND a.esqcodigo=b.esqcodigo AND a.patcodigo=b.patcodigo
GROUP BY a.profolio,a.esqcodigo,a.patcodigo,b.simcodigo,b.simtrozosconsumo) c,produccionsimulada a
WHERE a.simcodigo=c.simcodigo
ORDER BY prodvolumen DESC
" );";
$result = pg_query ( $dbconn, $sql ) or die ("ERROR EN CONSULTA");
if( pg_num_rows($result) != 0 ){
while( $row = pg_fetch_assoc($result) ){
$grafico .= "<set label='".$row["prodescuadria"]."' value='".$row["prodvolumen"]."'/>";
}
}
}
}
$strXML = "<chart caption='Grafico Escuadrias Laterales' xAxisName='Escuadrias' yAxisName='Volumen' showValues='0' decimals='2' formatNumberScale='1' chartRightMargin='30'>" .$grafico. "</chart>";
echo '<br />';
echo '<br />';
echo '<br />';
echo '<br />';
echo renderChartHTML("Charts/Bar2D.swf", "",$strXML, "", 560,800, false);
?>
</table>
Aprovecho de poner el codigo de como ingreso los datos a buscar...
Código PHP:
Ver original<script type="text/javascript" language="javascript">
var i = 1;
function agregar()
{
// haremos que el nuevo elemento conserve el valor que ya escribió
var valor1 = 'Folio';
var valor2 = 'Etiqueta';
var valor3 = 'N° Trozos'
// agrega un elemento a la lista
$("<li><input id='x' name='campo" +i+ "' type='text' class='loginbox1' size='30' value='" + valor1 + "' /><input id='y' name='campo1" +i+ "' type='text' class='loginbox2' size='6' value='" + valor2 + "' /><input id='z' name='campo2" +i+ "' type='text' class='loginbox3' size='10' value='" + valor3 + "' /> </li>").append(
$('<a href="#">Borrar</a>').click(function(){ $(this).parent().remove(); i--;j=i;j--;$("#cont-oculto").val(j);})
).insertBefore("#datos > li:last");
// limpia el campo de texto y devuélvele el foco
$("#cont-oculto").val(i);
i++;
$("#dato").val("").focus();
}
</script>
</head>
<body>
</table>
<table width="760" height="0" border="0" align="center" cellpadding="0" cellspacing="0" cols="0" hspace="0" vspace="0" >
<!--DWLayoutTable-->
<tr>
<td height="90" background="imag/top.png"> </td>
</tr>
<tr>
<td>
<div id="select" class="borde">
<table width="100%" class="text" border="0" cellpadding="0" cellspacing="0" scope="col">
<!--DWLayoutTable-->
<td width="442" height="20" align="right" valign="middle">
<form name="formulario" method="post" action="buscador.php" >
<ul id="datos">
<a href="javascript:agregar();" align="right">Agregar Campo de Entrada</a>
<li id="campos"></li>
</ul>
<input type="hidden" id="cont-oculto" name="cont-oculto" />
<input type="submit" name="buscar" value="BUSCAR" align="absmiddle" />
</form>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</html>