Ir para conteúdo

POWERED BY:

Arquivado

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

Diego Rodriguez

sobre Alteracao de uma ou mais colunas entre variaveis

Recommended Posts

Bom gente, muito obrigado quem puder me auxiliar, estou criando um sistema em PHP e MYSQL e estou com a seguinte duvida, estou usando um SELECT que busca a variavel motorista e entre datas e me exibe todos os dados que estao com a coluna situacao='aberta' AND pagamento='pendente', eu queria ao inves de criar um link PAGAR do lado de cada um e ebrir uma tela e ele mudar o valor da coluna pagamento para 'pago' ele pagasse todos que fossem exibidos, pois ir pagando um por seria um pouco dolorosa, entao a pessoa conferia para ver se estava batendo e efetuava uma vez o pagamento de todas... isso eh possivel ? segue baixo uma foto para voces terem uma ideia...

 

Imagem Postada

 

Como voces podem ver na foto eu tenho que ir clicando um por um para que seja mudado o valor da coluna pagamento para Pago, entao quando tem bastantes comissoes a serem pagas fica meio doloroso tendo em vista que a minha empresa az em torno de 80 servicos por motorista/mes, se caso alguem puder me ajudar ficarei grato...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é a solução que você pediu mas talvez seja mais viável: por que não coloca checkboxes nesta coluna e no final da tabela você faz um combobox com as ações disponíveis e as executa de acordo com os itens selecionados?

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grande ideia pode ser uma boa, exemplo tipo marcar as que serão pagas ? mas isso eh muito complicado de se fazer ?

 

Sou novo em php e mysql nao estou conseguindo pensar em uma solucao para isso, se pudesse me dar uns exemplos seria interessante, um exemplo simples mesmo so para eu ver mais ou menos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em cada lugar desse que você colocou apagar você deve estar referenciando um identificador, certo?

 

Sendo assim, você pode fazer:

 

<input type="checkbox" name="acao[]" value="<?php echo $id_registro; ?>" />

Envolvendo toda esta tabela em um form, por exemplo:

<form action="acao.php?act=excluir" method="post">
...
</form>

E temos as ações:

 

<?php

if( $_GET['act'] == 'excluir' )
{
	foreach($_POST['acao'] as $id)
	{
		mysql_query("DELETE FROM tabela WHERE id = " . $id);
	}
	
	// ao terminar, redireciona...
}

?>

Por alto, esta seria a solução.

 

[]'s http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ops... desculpe. A visão já está ficando embaçada, deve ser o sono. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

Pensei que era apagar. dãããã... :D

 

Mas não muda muita coisa, é só dar um UPDATE na tabela. Não sei como você diz que algo está pago ou não, mas basta alterar o registro:

 

<?php

if( $_GET['act'] == 'pagar' )
{
	foreach($_POST['acao'] as $id)
	{
		mysql_query("UPDATE tabela SET pagamento='pago' WHERE id = " . $id);
	}
	
	// ao terminar, redireciona...
}

?>

Exemplifiquei que os registros pagos são os que no campo 'pagamento' tem o valor pago. AI você faz do seu modo.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado por sua atencao, deixa so eu te incomodar mais um pouquinho, ai eu colocaria um button para submeter no final ? eu teria que criar um form para esse meu select tambem neh ?

 

desculpas eh que estou estudando a linguagem agora...

 

Outra duvida essa variavel $id_registro que voce criou seria o valor que eu quero ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A variável $id_registro é o identificador deste registro na tabela. Algum campo auto_incremente, por exemplo.

 

No exemplo, eu fiz justamente para uma única ação que seria através de um botão que seria submetido, perceba o action do formulário: acao.php?act=pagar - agora com pagar =]

 

Mas caso você tenha outras ações, basta fazer o select e onde você verifica $_GET['act'], faça verificar este valor da opção selecionada do combobox.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Administrador se nao for um pouco chato, voce poderia comentar cada linha

 

if( $_GET['act'] == 'pagar' )

{

foreach($_POST['acao'] as $id)

{

mysql_query("UPDATE tabela SET pagamento='pago' WHERE id = " . $id);

}

 

// ao terminar, redireciona...

}

 

se nao for te encomdar !

 

Bom gente, como voces podem ver eu sou novo no assunto e precisaria de uma explicacao mais complexa para eu poder entender... Nao consegui obter resultados, estou meio perdido... hehehe se alguem´puder ajudar sera bem vindo !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça o seguinte <select> para ação:

 

<select name='act'>
	<option value='na'>Selecione</option>
	<option value='pagar'>Pagar</option>
</select>

E no script, mude de $_GET para $_POST.

 

Quando você submeter este formulário, ele fará a comparação desta ação, se for 'pagar', vai executar o script e alterar o campo pagamento de cada registro selecionado.

 

PS. se possível, evite postar várias vezes seguidas, tenha um pouco mais de paciência. ;)

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grande Moderador, desculpas pelas floods, perdao mesmo, nao estou conseguindo fazer alterar meu valor da minha coluna pagamento, vou colocar aqui meu codigo para voce dar uma analizada e muito obrigado pela sua atencao...

 

CODE
<?php

 

if( $_GET['act'] == 'pagar' )

{

foreach($_POST['acao'] as $id)

{

mysql_query("UPDATE tbcomissao SET pagamento='pago' WHERE idcomissao = " . $id);

}

}

?>

 

e o meu checkbox

CODE
<input type="checkbox" name="acao[]" value="<?php echo $_POST['idcomissao'] ?>" id="checkpag" />

 

e este eh meu form:

CODE
<form id="form1" name="form1" method="post" action="fechadapagamentoBACKUP.php?act=pagar" />

 

Ele nao da erro, ate da um load na pagina mas nao altera o valor da minha coluna pagamento...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Moderador, consegui fazer funcionar, eu estava errando que no valor do checkbox eu estava colocando $_POST['idcomissao'] e na verdade era $Recordset1['idcomissao'] ae funcionou ele esta pegando o id do valor da minha check box, agora estou com a seguinte duvida: heheh so dando trabalho ! hehehe

 

eu tenho 3 text que busca motorista, data inicial e data final ficando assim:

 

CODE
"fechadapagamentoBACKUP.php?act=pagar&pesqcom=&

datainicial=<?php echo $_GET['datainicial'] ?>&

datafinal=<?php echo $_GET['datafinal'] ?>&

btlocalizar=Localizar"

 

eu queria que logo depois q eu clicar no submit pagar ele ja atualizar minha pagina entendeu ja com a coluna pagamento como paga, entendeu ? isso é possivel ?

 

Segue abaixo como esta minha tabela: (OBS: eu coloquei o comando para executar na mesma pagina, minha query esta para exibir somente a coluna pagamento='Pendente' entao quando ele da o UPDATE muda para Pago entao ele some, porem eu tenho que dar F5 para funcionar...)

 

CODE
<?php

if( $_GET['act'] == 'pagar' )

{

foreach($_POST['acao'] as $id)

{

mysql_query ("UPDATE tbcomissao SET pagamento='pago' WHERE idcomissao = " . $id);

}

mysql_close();

}

?>

<tr>

<td height="16"><form id="FormPagamento" name="FormPagamento" method="post" action="manuReboquescomissaofechadapagamento.php

?act=pagar&pesqcom=<?php echo $_GET['pesqcom']; ?>&

datainicial=<?php echo $_GET['datainicial']; ?>&

datafinal=<?php echo $_GET['datafinal']; ?>&

btlocalizar=Localizar&" >

<table width="900" border="0" align="center" cellpadding="0" cellspacing="0">

<tr align="center">

<td>Data</td>

<td>Placa/Outros</td>

<td>CheckList</td>

<td>Motorista</td>

<td>Valor do Serviço</td>

<td>%</td>

<td>Valor da Comissão</td>

<td>Pagamento</td>

<td>PAGAR</td>

</tr>

 

<?php do { ?>

<tr align="center">

<td><?php echo $row_Recordset1['data']; ?></td>

<td><?php echo $row_Recordset1['placa']; ?></td>

<td><?php echo $row_Recordset1['checklist']; ?></td>

<td><?php echo $row_Recordset1['motorista']; ?></td>

<td><?php echo $row_Recordset1['valordoserv']; ?></td>

<td><?php echo $row_Recordset1['porcetagem']; ?></td>

<td><?php echo $row_Recordset1['comissao']; ?></td>

<td><?php echo $row_Recordset1['pagamento']; ?></td>

<td><input name="acao[]" type="checkbox" id="checkbox"

value="<?php echo $row_Recordset1['idcomissao']; ?>" /></td>

</tr>

<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>

<tr align="center">

<td colspan="9"> </td>

</tr>

<tr align="center">

<td colspan="9"><input type="submit" name="submit" id="submit" value="Pagar Comissão Selecionada" /></td>

</tr>

</table>

</form>

</td>

</tr>

 

e outra coisa é que quando clico no botao pagar se nao tiver caixa nenhuma marcada ele da o seguinte erro: Warning: Invalid argument supplied for foreach() in C:\wamp\www\reboque\manuReboquescomissaofechadapagamento.php on line 257, teria alguma possibilidade de tirar essa mensagem ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguem que possa me ajudar a pelo menos nao aparecer o erro Warning: Invalid argument supplied for foreach() in C:\wamp\www\reboque\manuReboquescomissaofechadapagamento.php on line 257 quando eu nao marcar nenhum combo ?

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.