Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Paulo Roberto Start Corp

[Resolvido] checkbox dinamico selecionado

Recommended Posts

Bom dia a todos

tenho um script que gera checkbox dinamigos buscando nomes em um db mysql

1° parte visualizar esta ok

2° parte inserir no banco de dados ok

3° parte buscar os checkbox dinamicos com os valores que roram marcados ( nao sei fazer)

 

gostaria de uma ajuda

grato

 

Assim Funciona:

 

<?php
   	$sql2 = "SELECT * FROM pd_CamposDiag WHERE idgrupo= '2' AND status = 'ativo'";
   	$query2 = mysql_query( $sql2 )or die( mysql_error() );
while($row2 = mysql_fetch_array($query2)){
   	if ($cont2 == 4) {
           	echo "</tr><tr>";//fecha e abre linha na tabela
           	$cont2 = 0;
   	}
	$sNome2 = $row2['nome'];
   	$iId2 = $row2['nome'];
   	echo "<td>  <input type='checkbox' name='opcao[]' value='".$iId2."'>".$sNome2."</br></td>";
$cont2++;//incrementa
}
?>

 

 

Assim nao Funciona:

<?php
   	$sql1 = "SELECT * FROM pd_CamposDiag WHERE idgrupo= '1' AND status = 'ativo'";
   	$query1 = mysql_query( $sql1 )or die( mysql_error() );
while($row1 = mysql_fetch_array($query1)){
   	if ($cont1 == 4) {
           	echo "</tr><tr>";//fecha e abre linha na tabela
           	$cont1 = 0;
   	}
	$sNome1 = $row1['nome'];
   	$iId1 = $row1['nome'];
	$def = $row_diagnostico_db['defeito'];
   	echo "<td>  <input if (!(strcmp($def,$sNome1))) {echo 'checked=\'checked\'';} type='checkbox' name='opcao[]' value='".$iId1."'>".$sNome1."</br></td>";
$cont1++;//incrementa
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que vi no seu código, tu colocou um "if" solto dentro do input. Isso até onde sei não funciona.

echo "<td>  <input if (!(strcmp($def,$sNome1))) {echo 'checked=\'checked\'';} type='checkbox' name='opcao[]' value='".$iId1."'>".$sNome1."</br></td>";

 

O que você poderia fazer é colocar esse if antes, pra validar, e de acordo com a condição, coloca o input como "checked". Não sei se existe outra maneira mais prática, mas essa seria funcional.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como que eu faço para pegar todos os defeitos ? são varias linhas

 

assim so esta pegando um resultado

$SQL = "SELECT * FROM pd_diagnostico WHERE codos = '1' ";
$query = mysql_query( $SQL )or die( mysql_error() );
while($linha = mysql_fetch_array($query)){
$Def= $linha["defeito"];
echo $Def;
 }

 

 

Assim trava o navegador

$sql="SELECT * FROM pd_diagnostico WHERE codos = '1' ";
$query=mysql_query($sql);

while($result=mysql_fetch_array){

echo $result['defeito']; 
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assim

$SQL = "SELECT * FROM pd_diagnostico WHERE codos = '1' ";
$query = mysql_query( $SQL )or die( mysql_error() );

while($linha = mysql_fetch_array($query)) {
    echo $linha["defeito"].'<br>';	 
 }

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assim

$SQL = "SELECT * FROM pd_diagnostico WHERE codos = '1' ";
$query = mysql_query( $SQL )or die( mysql_error() );

while($linha = mysql_fetch_array($query)) {
	echo $linha["defeito"].'<br>';     
 }

 

 

acho que nao estou fazendo o arrey certo pq so aparece um campo marcado

tinha que aparecer 6 campos

 

 

eu estou selecionaod a lista de erros assim

 

<?
$recordID = $_POST[recordID];

$SQL = "SELECT * FROM pd_diagnostico WHERE codos = '1' ";
$query = mysql_query( $SQL )or die( mysql_error() );

while($linha = mysql_fetch_array($query)) {
	echo $linha["defeito"].'<br>';
 $Def = $linha["defeito"];  	
 }
?>

 

e estou listando os campos assim

 

<table width="100%">
     	<tr>
<?php
   	$sql1 = "SELECT * FROM pd_CamposDiag WHERE idgrupo= '1' AND status = 'ativo'";
   	$query1 = mysql_query( $sql1 )or die( mysql_error() );
while($row1 = mysql_fetch_array($query1)){
   	if ($cont1 == 4) {
           	echo "</tr><tr>";//fecha e abre linha na tabela
           	$cont1 = 0;
   	}
	$sNome1 = $row1['nome'];
   	$iId1 = $row1['nome'];
	if ($Def == $sNome1) {
   	echo "<td>  <input type='checkbox' checked='checked=' name='opcao[]' value='".$iId1."'>".$sNome1."</br></td>";
	}
	else {
	echo "<td>  <input type='checkbox' name='opcao[]' value='".$iId1."'>".$sNome1."</br></td>";
	}
$cont1++;//incrementa
}
?>
   	</tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que nao estou fazendo o arrey certo pq so aparece um campo marcado

tinha que aparecer 6 campos

 

 

eu estou selecionaod a lista de erros assim

 

<?
$recordID = $_POST[recordID];

$SQL = "SELECT * FROM pd_diagnostico WHERE codos = '1' ";
$query = mysql_query( $SQL )or die( mysql_error() );

while($linha = mysql_fetch_array($query)) {
	echo $linha["defeito"].'<br>';
    $Def = $linha["defeito"];  	
 }
?>

 

e estou listando os campos assim

 

<table width="100%">
     	<tr>
<?php
   	$sql1 = "SELECT * FROM pd_CamposDiag WHERE idgrupo= '1' AND status = 'ativo'";
   	$query1 = mysql_query( $sql1 )or die( mysql_error() );
while($row1 = mysql_fetch_array($query1)){
   	if ($cont1 == 4) {
           	echo "</tr><tr>";//fecha e abre linha na tabela
           	$cont1 = 0;
   	}
	$sNome1 = $row1['nome'];
   	$iId1 = $row1['nome'];
	if ($Def == $sNome1) {
   	echo "<td>  <input type='checkbox' checked='checked=' name='opcao[]' value='".$iId1."'>".$sNome1."</br></td>";
	}
	else {
	echo "<td>  <input type='checkbox' name='opcao[]' value='".$iId1."'>".$sNome1."</br></td>";
	}
$cont1++;//incrementa
}
?>
   	</tr>
</table>

 

Resolvido

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.