Ver Mensaje Individual
  #15 (permalink)  
Antiguo 29/09/2005, 05:56
karpoj23
 
Fecha de Ingreso: diciembre-2003
Ubicación: Málaga
Mensajes: 495
Antigüedad: 20 años, 5 meses
Puntos: 0
tengo el mismo problema, os lo expongo:

Tengo una pantalla, en la que eliges el numero de combos para realizar una consulta. Ej: si eliges 3, te salen los correspondientes checkboxs con 4 opciones cada uno.

Ahora esos checkbox, cada uno tiene una lista distinta dependiendo de cual elijas:
Ej:

opcion1 opcion2 opcion3 opcion4
-------- ---------- ---------- --------
1 a t 9
2 b y 8
3 c u 7
4 d i 6

Al seleccionar en todos los opciones una opcion(1,2,3 o 4) y pulsar el boton de enviar, se carga en la pagina otro checkbox el cual contiene esas los valores de la opcion principal q has pulsado para cada uno.

//$tp es el checkbox principal, q dependiendo de lo q pulses te sale unas opciones u otras en el secundario

$cont1=0;
echo "<form action='$PHP_SELF?result=1' method='POST' name='formu'>";
foreach ($tp as $a)
{
echo $a;
echo "<tr>";
switch($a)
{
case 7:
combo_1($cont1);
echo "<input type='hidden' name=icode[$cont1] value=7>";
break;

case 2:
combo_2($cont1);
echo "<input type='hidden' name=icode[$cont1] value=2>";
break;

case 3:
combo_3($cont1);
echo "<input type='hidden' name=icode[$cont1] value=3>";
break;

case 5:
combo_4($cont1);
echo "<input type='hidden' name=icode[$cont1] value=5>";
break;
}
echo "</tr>";
$cont1++;
}
}
echo "<tr><td colspan=2 align=center><input type='submit' value='enviar'></form></td></tr>";

La funcion combo... son todas = y hacen lo siguiente

function combo_sp_offer($cont)
{
echo "<select name='ed[$cont]'>";
//consulta q saca todos los resultados
$sql="";
if (!$res=send_sql($db,$sql))
{
echo "No se ha podido realizar la consulta";
exit(0);
}
//hace la query
while($result= mysql_fetch_array($res))
{
echo "<option value='$result[num]'>$result[sent]";
}
echo "</select>";
}
//con esto lo q hace es hacer una serie d combos con el mismo nombre pero con una numeracion.


Cuando se ha pulsa el boton viene aki:

if (!empty($result))
{
foreach ($icode as $b)
{
echo "icode $b - ed $ed<br>";
$query="... where code=$b and num=$ed";
$sql=mysql_query($query);

//al mostrar la query sale bien, pero no me muestra el resultado y me da un error
while($result2 = mysql_fetch_array($sql))
{
echo "<tr><td align=center class='texto'><b>$result2[title]</b><br> $result2[date]</b></td></tr>";
}
//}
$ed++;
}
}

Cuando hago esto me sale un warning: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/html/mailing_stats/dos.php on line 153

Y me muestra los resultados de los 2 siguientes menos el primero:Ej: si tengo 3 opciones puestas, solo me muestra la 2º y la tercerda. La primera no.

He probado lo que ha puesto este hombre pero no me va:

if (!empty($result))
{
$stotal[]=array($ed($cont),$icode($cont));
$numarray=count($stotal);
for($i=0;$i <= $numarray;$i++)
{
echo '<tr>';
echo '<td align="left" class="listitem">'.$stotal[$i][$i].'</td>';
echo '<td align="left" class="listitem">'.$stotal[$i][$i].'</td>';
echo '</tr>';
}

si alguien me pudiera echar una mano... gracias.