Ir para conteúdo
Fórum Script Brasil
  • 0

Um switch on/off independente para cada valor na tabela html/php


designerph

Pergunta

Eu gostaria que cada valor em minha tabela html/php tivesse um switcher(checkbox) on/off padrão de seleção que quando eu mudar o valor, ele mantém dessa forma, mesmo quando estou acessando ou saindo da minha página..

minha tabela:

    <table>
            <tr>
                <th>ID</th>
                <th>Cliente</th>
                <th>Serviço</th>
                <th>Material</th>
                <th>Detalhes</th>
                <th>Observações</th>
                <th>STATUS</th>
                <th>Opções</th>
            </tr>
            <?php
                include "connect.php";
                $i = "select * from tbl_student";
                $h = mysql_query($i);
                while($tr=mysql_fetch_array($h))
                {
            ?>
            <tr>
                <td><?php echo $tr[0]; ?></td>
                <td><?php echo $tr[1]; ?></td>
                <td><?php echo $tr[2]; ?></td>
                <td><?php echo $tr[3]; ?></td>
                <td><?php echo $tr[4]; ?></td>
                <td><?php echo $tr[5]; ?></td>
                <td><?php echo $tr[6]; ?></td>
                <td align="center"><a href="Delete_Form.php? txtid=<?php echo $tr[0];?>">Delete</a> / <a href="Edit_Form.php? txtid=<?php echo $tr[0];?>">Edit</a> </td>    
            </tr>
            <?php
                }
            ?>
            
        </table>

 


meu add-row.php

    <?php   
            $id = $_POST['txtid'];
            $cliente = trim($_POST['txtcliente']);
            $servico = trim($_POST['txtservico']);
            $material = trim($_POST['txtmaterial']);
            $detalhes = trim($_POST['txtdetalhes']);
            $observacoes = trim($_POST['txtobservacoes']);
            $date = trim($_POST['txtdate']);
            if(isset($_POST['cmdadd'])){
            if(empty($cliente) || $material=="Material" || $_POST['txtday']=="Day" || $_POST['txtmonth']=="Month" || $_POST['txtyear']=="Year" || empty($detalhes) || $subject=="Select Subject")
            {
                echo "<center>Sorry please input data</center>";
            }else{
            include "connect.php";
            $i = mysql_query("insert into tbl_student values('".$id."','".$cliente."','".$servico."','".$material."','".$detalhes."','".$observacoes."','".$date."')");
            if($i==true){
            echo '<META HTTP-EQUIV="Refresh" Content="0; URL=index.php">';
            }
            //if($i==true){
            //header('Location:index.php');
            //exit;
            //mysql_close();
            //}
            }
        }
        ?>

e meu sql database:

    CREATE TABLE IF NOT EXISTS `tbl_student` (
      `id` int(10) NOT NULL,
      `cliente` varchar(50) NOT NULL,
      `servico` varchar(10) NOT NULL,
      `material` varchar(50) NOT NULL,
      `detalhes` varchar(50) NOT NULL,
      `observacoes` varchar(50) NOT NULL,
      `date` text NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

Estou seguindo este tutorial, mas não consigo aplicar nos meus códigos atuais que estão funcionando perfeitamente para inserir, editar ou deletar os valores, gostaria apenas de acrescentar este sistema de switch on/off para cada valor adicionado.
http://www.freezecoders.com/2013/05/store-value-from-onoff-button-in-mysql-database-using-php-ajax.html

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
10 horas atrás, Beraldo disse:

Você terá de chamar uma função via Ajax que atualize o valor de cada checkbox ao ser clicado

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5  e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/

 

10 horas atrás, Beraldo disse:

Olá amigo Beraldo, obrigado pela resposta!

Neste tutorial que estou seguindo:

http://www.freezecoders.com/2013/05/store-value-from-onoff-button-in-mysql-database-using-php-ajax.html

possui a seguinte função ajax:


<?php
$query=mysql_connect("localhost","root","");
mysql_select_db("freeze",$query);
if(isset($_POST['value']))
{
$value=$_POST['value'];
mysql_query("update choice set choice='$value' where id='1'");
echo "<h2>You have Chosen the button status as:" .$value."</h2>";
}
?>

Esta correta? Como multiplico o switch (padrão em off) para cada row que for inserido na tabela e posteriormente uso cada switch independente?

Muito obrigado.

 

10 horas atrás, Beraldo disse:

Você terá de chamar uma função via Ajax que atualize o valor de cada checkbox ao ser clicado

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5  e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/


 

Estou seguindo seu tutorial amigo, muito bem explicado, parabéns!

http://rberaldo.com.br/como-atualizar-php-mysql-mysqli/

Link para o comentário
Compartilhar em outros sites

  • 0

Para exibir múltiplos checkboxes basta exibi-los dentro de um loop. Use identificadores no atributo "name" dos inputs, para que o PHP saiba qual checkbox foi marcado

Outra possibilidade é ter cada checkbox dentro de um form diferente, cada um com um campo hidden associado. Ao clicar no checkbox, o form é enviado e o campo hidden é quem diz o ID do registro a ser atualizado. Assim não precisa alterar o name dos checkboxes

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...