Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
boa tarde.
tenho uma tabela mysql que tem 5 colunas chave e mais 30 de resultados, sendo estes 30 resultados em grupos de 3. pretendo ter um combo que ao seleccionar um determinado valor, actualize a tabela para aquelas 3 colunas dentro daquele grupo.
exemplo:
combo: <select name="combo1" id="combo1">
<option value="-" selected="selected"></option>
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
<option value="d">d</option>
</select>
tabela:
col1 - col2 - col3 - col4 - col5 - col6 - col7 - col8 ( = colunas dinamicas)
se seleccionar na combo1 "a", na tabela ficaria assim:
col1 - col2 - col3 - col4 - col5 - a1 - a2 - a3*
qual a melhor maneira de obter este resultado?
obrigado
boas. retorno aqui só para postar o que consegui fazer e que está a resultar na perfeição para o que queria, relembrando que queria uma tabela dinâmica de 8 colunas onde 5 são fixas e 3 são moveis:
// grava o registo seleccionado na combo1 por sessão
$dados = $_SESSION['combo1'] = isset($_POST['combo1'])?$_POST['combo1']:$_SESSION['combo1'];
// verifica qual o registo seleccionado na "combo1" e imprime o resultado na tabela
if ($dados== "teste1"){
$A1 = "colA";
$A2 = "ColB";
$A3 = "colC";
} $A1 = "colD";
$A2 = "colE";
$A3 = "colF";
}
// neste caso, os dados da combo, vêm de mysql
<select name="combo1" id="combo1">
<option value="-" selected="selected"></option>
<?php?>
<option value="<?php echo $row_Recordset1['filed1']?>" <?php if($row_Recordset1['field1']==$_SESSION['combo1'])echo 'selected'?>><?php echo $row_Recordset1['field1']?></option>
<?php
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
$rows = mysql_num_rows($Recordset1);
if($rows > 0) {
mysql_data_seek($Recordset1, 0);
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
}
?>
</select>
// a tabela onde sai o resultado
// da col1 à col5 os dados vêm directos de mysql
// da col6 à col8 os dados vêm das variáveis que consultam mysql
<table border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="125">col1</td>
<td width="125">col2</td>
<td width="125">col3</td>
<td width="125">col4</td>
<td width="125">col5</td>
<td width="125">col6</td>
<td width="125">col7</td>
<td width="125">col8</td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_Recordset2['col1']; ?></td>
<td><?php echo $row_Recordset2['col2']; ?></td>
<td><?php echo $row_Recordset2['col3']; ?></td>
<td><?php echo $row_Recordset2['col4']; ?></td>
<td><?php echo $row_Recordset2['col5']; ?></td>
<td><?php echo $row_Recordset2[$A1];?></td>
<td><?php echo $row_Recordset2[$A2];?></td>
<td><?php echo $row_Recordset2[$A3];?></td>
</tr>
<?php } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2)); ?>
</table>
Feel free to optimize!!!
a "melhor" forma, seria com um display: none|block usando javascript no evento onchange do teu select.