Ir para conteúdo

POWERED BY:

Arquivado

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

  • 0
JacsJacob

PHP com MYSQL e Grafico de linha (Chart)

Pergunta

Boa noite pessoal,

estou montando um grafico em tempo real de dados que sao inseridos em uma tabela MYSQL...

Estou com dificuldades de colocar as variaveis do banco de dados em um grafico de linha em javascript ou qualquer outro grafico, desde que seja um grafico de linha que eu consiga atualizar a cada 30 segundos automaticamente com o refresh da pagina (ou refresh do grafico).

Alguem pode me ajudar por favor?

Segue os campos da minha tabela, e o tipo de grafico que preciso criar:

 

mysql> select * from tempdat;

+-----+------------+----------+-----------+-------------+---------+----------------------------+

| id  | tdate      | ttime    | zone      | temperatura | umidade | image                      |

+-----+------------+----------+-----------+-------------+---------+----------------------------+

|   7 | 2017-04-22 | 00:00:07 | principal |          24 |      45 | photo-21-04-2017.23.59.jpg |

|   8 | 2017-04-22 | 00:10:03 | principal |          24 |      45 | photo-22-04-2017.00.09.jpg |

|   9 | 2017-04-22 | 00:20:10 | principal |          24 |      44 | photo-22-04-2017.00.19.jpg |

|  10 | 2017-04-22 | 00:30:03 | principal |          24 |      46 | photo-22-04-2017.00.29.jpg |

|  11 | 2017-04-22 | 00:40:02 | principal |          24 |      44 | photo-22-04-2017.00.39.jpg |

|  12 | 2017-04-22 | 00:50:02 | principal |          24 |      45 | photo-22-04-2017.00.49.jpg |

|  13 | 2017-04-22 | 01:00:02 | principal |          24 |      45 | photo-22-04-2017.00.59.jpg |

|  14 | 2017-04-22 | 01:10:04 | principal |          24 |      46 | photo-22-04-2017.01.09.jpg |

|  15 | 2017-04-22 | 01:20:02 | principal |          26 |      43 | photo-22-04-2017.01.19.jpg |

|  16 | 2017-04-22 | 01:30:02 | principal |          25 |      44 | photo-22-04-2017.01.29.jpg |



os dados de data, tempo (hora), temperatura e umidade preciso incluir em um grafico em uma pagina php onde seja atualizado a cada 30s ou 1 min. (na tabela os dados sao incluidos a cada 10min por enquanto).

Com a pagina abaixo eu consigo imprimir todos esses dados da tabela em uma pagina, utilizando comandos php e mysql... agora como posso colocar isso em um grafico json, javascript ou qualquer um que funcione? alguem pode me ajudar por favor??? ja tentei diversos graficos em javascript e json mas quando tento incluir as variaveis em php tenho problemas, nao estou conseguindo. 

 

$host="localhost";

$username="monitor";

$password="password";

$db_name="temps";

$tbl_name="tempdat";

mysql_connect("$host", "$username", "$password") or die("cannot connect");

mysql_select_db("$db_name")or die("cannot select DB");

$pagina=(isset($_GET['pagina']))? $_GET['pagina'] : 1;

$sql="SELECT * FROM $tbl_name ORDER BY tdate DESC, ttime DESC";

$data=mysql_query($sql);

$total=mysql_num_rows($data);

$registros=10;

$numPaginas=ceil($total/$registros);

$inicio = ($registros*$pagina)-$registros;

$cmd="SELECT * FROM $tbl_name ORDER BY tdate DESC, ttime DESC limit $inicio,$registros";

$data=mysql_query($cmd);

$total=mysql_num_rows($data);

while($row = mysql_fetch_array($data)){

  echo "<tr><td align=center> ";

  echo $row['tdate'] . " </td><td align=center> " . $row['ttime'] . " </td><td align=center> " . 

       $row['temperatura'] . " </td><td align=center> " . $row['umidade'] . " </td><td align=center><a onclick=popupCenter('/camera/" . $row['image'] . "','myPop1','450','450'); href=javascript:void(0);><img src=/camera/" . $row['image'] . " width=60 height=60></a></td>";

  echo "</td></tr>";

}

  echo "</table>"; 

  echo "<p>";

    for($i = 1; $i < $numPaginas + 1; $i++) {

        echo "<font size=2 face=Arial><a href='dados_grafico.php?pagina=$i'>".$i."</a></font> ";

    }

echo "</center>";

mysql_close();

?>

Obrigado desde já pessoal!

Abraços!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

9 respostas a esta questão

Recommended Posts

Obrigado amigo, tentei aqui dar uma lida e pegar alguns exemplos mas está meio complicado.
Tenho problemas em escrever em javascript e colocar as variaveis do array dentro da tag <script>.

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 horas atrás, JacsJacob disse:

Obrigado amigo, tentei aqui dar uma lida e pegar alguns exemplos mas está meio complicado.
Tenho problemas em escrever em javascript e colocar as variaveis do array dentro da tag <script>.

 

Tenta usar um plugin para gráficos, eu geralmente uso esse:

 

https://www.highcharts.com/demo/

 

Na documentação e nas demos existem exemplos de gráficos que atualizam com tempo (SEM REFRESH!!), e de todos os tipos que plugins possui, se não conseguir manda um salve que eu passo um exemplo de como preencher o gráfico com JS + PHP.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
12 horas atrás, Rapadura disse:

Caso não conheça esses sites recomendo muito para consultar e estudar sobre desenvolvimento web

 

https://www.w3schools.com/js/default.asp

 

https://developer.mozilla.org/pt-BR/

 

https://tableless.com.br/

 

:smile:

 

Obrigado... dei uma olhada e estou estudando como fazer... mas ainda nao funciona o grafico... :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda estou apanhando pra fazer o grafico, alguem consegue dar uma força???

Estou usando este grafico abaixo... com esse codigo eu consigo imprimir na tela (usando php com mysql) os dados que quero que seja apresentado no grafico, porem, nao estou conseguindo colocar as variaveis PHP dentro das tags <script> corretamente, fazendo com que o grafico nao funcione. Alguem poderia ajudar?

 

<?php

 

$host="localhost";

$username="monitor";

$password="password";

$db_name="temps";

$tbl_name="tempdat";

mysql_connect("$host", "$username", "$password") or die("cannot connect");

mysql_select_db("$db_name")or die("cannot select DB");

$pagina=(isset($_GET['pagina']))? $_GET['pagina'] : 1;

$sql="SELECT * FROM $tbl_name ORDER BY tdate DESC, ttime DESC";

$data=mysql_query($sql);

$total=mysql_num_rows($data);

$registros=10;

$numPaginas=ceil($total/$registros);

$inicio = ($registros*$pagina)-$registros;

$cmd="SELECT * FROM $tbl_name ORDER BY tdate DESC, ttime DESC limit $inicio,$registros";

$data=mysql_query($cmd);

$total=mysql_num_rows($data);

 

while($row = mysql_fetch_array($data)){

  echo $row['tdate'] . " " . $row['ttime'] . " " .

       $row['temperatura'] . " " . $row['umidade'] . "<br>";

}

  echo "<p>";

mysql_close();

?>

 

<html>

<head>

                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

                <title>Termometro</title>

 

                <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

                <style type="text/css">

${demo.css}

                </style>

        </head>

        <body>

<script src="https://code.highcharts.com/highcharts.js"></script>

<script src="https://code.highcharts.com/modules/exporting.js"></script>

 

<div id="container" style="min-width: 160px; height: 250px; margin: 0 auto"></div>

 

 

                <script type="text/javascript">

// Data retrieved from http://vikjavev.no/ver/index.php?spenn=2d&sluttid=16.06.2015.

 

Highcharts.chart('container', {

    chart: {

        type: 'spline'

    },

    title: {

       text: 'Dados'

    },

    subtitle: {

        text: 'Gráfico Temperatura e Umidade'

    },

    xAxis: {

        type: 'datetime',

        labels: {

            overflow: 'justify'

        }

    },

    yAxis: {

        title: {

            text: 'Temperatura / Umidade'

        },

        minorGridLineWidth: 0,

        gridLineWidth: 0,

        alternateGridColor: null,

        plotBands: [{ // Light air

            from: 0.3,

            to: 10,

            color: 'rgba(68, 170, 213, 0.1)',

            label: {

                text: '',

                style: {

                    color: '#606060'

                }

            }

        }, { // Light breeze

            from: 11,

            to: 22,

            color: 'rgba(0, 0, 0, 0)',

            label: {

                text: '',

                style: {

                    color: '#606060'

                }

            }

        }, { // Gentle breeze

            from: 23,

            to: 35,

            color: 'rgba(68, 170, 213, 0.1)',

            label: {

                text: '',

                style: {

                    color: '#606060'

                }

            }

        }, { // Moderate breeze

            from: 36,

            to: 47,

            color: 'rgba(0, 0, 0, 0)',

            label: {

                text: '',

                style: {

                    color: '#606060'

                }

            }

        }, { // Fresh breeze

            from: 48,

            to: 60,

            color: 'rgba(68, 170, 213, 0.1)',

            label: {

                text: '',

                style: {

                    color: '#606060'

                }

            }

        }, { // Strong breeze

            from: 61,

            to: 75,

            color: 'rgba(0, 0, 0, 0)',

            label: {

                text: '',

                style: {

                    color: '#606060'

                }

            }

        }, { // High wind

            from: 76,

            to: 100,

            color: 'rgba(68, 170, 213, 0.1)',

            label: {

                text: '',

                style: {

                    color: '#606060'

                }

            }

        }]

    },

    tooltip: {

        valueSuffix: ' '

    },

    plotOptions: {

        spline: {

            lineWidth: 4,

            states: {

                hover: {

                    lineWidth: 5

                }

            },

            marker: {

                enabled: false

            },

            pointInterval: 300000, // each 5 minutes

        }

    },

 

    series: [{

        name: 'Temperatura Celcius',

        data: [25.2, 26.8, 29.8, 27.8, 27, 28.3, 26.5, 26.9, 25.9, 26.6, 26.6, 26, 26, 26.6, 25.5, 26.2, 26.5, 25.5, 26, 26.1, 26.7, 26, 26.7, 26.3, 26.3, 26.1, 26.7, 26.1, 26.6, 26.1, 26.8, 26.6, 26.2, 26, 26.9, 26.5 ]

 

    }, {

        name: 'Umidade %',

        data: [38, 41, 38.6, 38.9, 38.8, 38.2, 38, 38, 38, 38.1, 40.6, 40.7, 40.8, 40.6, 40.2, 40, 40.1, 43.3, 44.3, 44, 44.1, 44, 44, 44, 44.2, 44.1, 44, 44.3, 44, 44.1, 44.2, 44.1, 44.3, 44.3, 44, 44.1 ]

    }],

    navigation: {

        menuItemStyle: {

            fontSize: '10px'

        }

    }

});

                </script>

        </body>

</html>

<center><a href="dados_grafico.php">Dados</a></center>

 

 

As infos de temperatura e de umidade foram incluidas na mao para testar, o grafico funciona, agora preciso transformar a variavel php em uma variavel que o <script> consiga entender, como eu faço isso?

 

abraços


 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho um exemplo de um gráfico com esse plugin funcionando recebendo dados json do PHP:

<script>
    $(document).ready(function () {
        var data_a = $('.data_chart_dashboard_fiscal').val();
        var regime = $('.filtro_por_regime_chart_dashboard_fiscal').val();
        $.ajax({
            url: 'callFunctions.php',
            type: 'POST',
            data: {funcao: 'chart_por_regime_dashboard_fiscal', regime: regime, resposta: 'feitos', data_relacionada: data_a},
            async: true,
            dataType: "json",
            success: function (data) {
                var dados = data;

                //var categorias = data['categoria'];
                $.ajax({
                    url: 'callFunctions.php',
                    type: 'POST',
                    data: {funcao: 'chart_por_regime_dashboard_fiscal', regime: regime, resposta: 'nao_feitos', data_relacionada: data_a},
                    async: true,
                    dataType: "json",
                    success: function (data2) {
                        var dados2 = data2;
                        //var categorias = data['categoria'];
                        elementosData(dados, regime, dados2);
                    }
                });
            }
        });
    });
    function elementosData(dados, regime, dados2) {
        if (regime === '3' || regime === '4') {
            $('#containerChart').highcharts({
                chart: {
                    type: 'column'
                },
                title: {
                    text: 'Entrega das obrigações'
                },
                xAxis: {
                    categories: ['Sped fical', 'Sped Contrib.', 'DCTF', 'Retenções']
                },
                yAxis: {
                    title: {
                        text: '%'
                    }
                },
                series: [{name: 'concluido', data: dados}, {name: 'Não concluido', data: dados2}]
            });
        }
        if (regime === '1' || regime === '2') {
           
            $('#containerChart').highcharts({
                chart: {
                    type: 'column'
                },
                title: {
                    text: 'Entrega das obrigações'
                },
                xAxis: {
                    categories: ['Sintegra', 'Recibo Simples', 'Difal / DeSTDA', 'PGDAS', 'Retenções / CPOM']
                },
                yAxis: {
                    title: {
                        text: '%'
                    }
                },
                series: [{name: 'concluido', data: dados}, {name: 'Não concluido', data: dados2}]
            });
        }

    }
</script>

E a parte do php: tem que retornar nesse formato: (Não vou mandar minha parte do php porque vai complicar mais pra você entender)

<?php
//Essas váriaveis possuem os numeros que eu trouxe do banco de dados
if ($resposta == 'feitos') {
                $retorno = "[$total_porc_sintegra,$total_porc_recibo_simples,$total_porc_difal_destda,$total_porc_pgdas,$total_porc_retencoes_cpom]";
            } elseif ($resposta == 'nao_feitos') {
                $retorno = "[$tot_porc_neg_sintegra,$tot_porc_neg_recibo_simples,$tot_porc_neg_difal_destda,$tot_porc_neg_pgdas,$tot_porc_neg_retencoes_cpom]";
            }
           
header("Content-type: text/json");
        echo $retorno;

 

PS: No caso ali eu fiz uma gambiarra com uma requisição ajax dentro da outra pra conseguir cruzar os dados, acredito que exista um modo melhor, mas ainda não parei pra pensar nisso.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 horas atrás, AnthraxisBR disse:

Tenho um exemplo de um gráfico com esse plugin funcionando recebendo dados json do PHP:


<script>
    $(document).ready(function () {
        var data_a = $('.data_chart_dashboard_fiscal').val();
        var regime = $('.filtro_por_regime_chart_dashboard_fiscal').val();
        $.ajax({
            url: 'callFunctions.php',
            type: 'POST',
            data: {funcao: 'chart_por_regime_dashboard_fiscal', regime: regime, resposta: 'feitos', data_relacionada: data_a},
            async: true,
            dataType: "json",
            success: function (data) {
                var dados = data;

                //var categorias = data['categoria'];
                $.ajax({
                    url: 'callFunctions.php',
                    type: 'POST',
                    data: {funcao: 'chart_por_regime_dashboard_fiscal', regime: regime, resposta: 'nao_feitos', data_relacionada: data_a},
                    async: true,
                    dataType: "json",
                    success: function (data2) {
                        var dados2 = data2;
                        //var categorias = data['categoria'];
                        elementosData(dados, regime, dados2);
                    }
                });
            }
        });
    });
    function elementosData(dados, regime, dados2) {
        if (regime === '3' || regime === '4') {
            $('#containerChart').highcharts({
                chart: {
                    type: 'column'
                },
                title: {
                    text: 'Entrega das obrigações'
                },
                xAxis: {
                    categories: ['Sped fical', 'Sped Contrib.', 'DCTF', 'Retenções']
                },
                yAxis: {
                    title: {
                        text: '%'
                    }
                },
                series: [{name: 'concluido', data: dados}, {name: 'Não concluido', data: dados2}]
            });
        }
        if (regime === '1' || regime === '2') {
           
            $('#containerChart').highcharts({
                chart: {
                    type: 'column'
                },
                title: {
                    text: 'Entrega das obrigações'
                },
                xAxis: {
                    categories: ['Sintegra', 'Recibo Simples', 'Difal / DeSTDA', 'PGDAS', 'Retenções / CPOM']
                },
                yAxis: {
                    title: {
                        text: '%'
                    }
                },
                series: [{name: 'concluido', data: dados}, {name: 'Não concluido', data: dados2}]
            });
        }

    }
</script>

E a parte do php: tem que retornar nesse formato: (Não vou mandar minha parte do php porque vai complicar mais pra você entender)


<?php
//Essas váriaveis possuem os numeros que eu trouxe do banco de dados
if ($resposta == 'feitos') {
                $retorno = "[$total_porc_sintegra,$total_porc_recibo_simples,$total_porc_difal_destda,$total_porc_pgdas,$total_porc_retencoes_cpom]";
            } elseif ($resposta == 'nao_feitos') {
                $retorno = "[$tot_porc_neg_sintegra,$tot_porc_neg_recibo_simples,$tot_porc_neg_difal_destda,$tot_porc_neg_pgdas,$tot_porc_neg_retencoes_cpom]";
            }
           
header("Content-type: text/json");
        echo $retorno;

 

PS: No caso ali eu fiz uma gambiarra com uma requisição ajax dentro da outra pra conseguir cruzar os dados, acredito que exista um modo melhor, mas ainda não parei pra pensar nisso.

 


Obrigado pela resposta amigo!

Tenho uma duvida... como eu declaro as variaveis em PHP e depois passo dentro da tag <script> do grafico as variaveis que eu criei??? Estou pecando muito nessa parte... :/


Abraços!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@JacsJacob vou tentar explicar de um prático:

 

 

Primeiro, você não vai declarar as variáveis PHP dentro da tag <script>, o que você vai fazer é uma requisição ajax para um pagina .PHP, e nessa página, a única coisa que ela deve retornar ao ajax é o dados que serão colocados no gráfico, essa página não pode responder nem uma vírgula errada, senão o gráfico não é exibido corretamente.

 

Começa assim, aqui nos fazemos com que a requisição seja chamada quando a pagina com o gráfico for carregada:

 

Citar

 $(document).ready(function () {

 

Após o evento ser disparado, nós fazemos a requisição dos dados:

Citar

$.ajax({
            url: 'pagina_com_os_dados.php',
            type: 'POST',
            async: true,
            dataType: "json",
            success: function (data) {
              var dados = data;
              gerarGrafico(dados);
            }
});

 

 

O arquivo PHP responsável por exibir os dados, deverá devolver algo como isso:

 

Citar

        $retorno = "[10,2,34,25,17]";
            
           
header("Content-type: text/json");
        echo $retorno;

 

 

E depois de ter os dados, nós chamamos a função que executará o gráfico:

 

Citar

function gerarRelatorio(dados) {
       
            $('#containerChart').highcharts({
                chart: {
                    type: 'column'
                },
                title: {
                    text: 'Entrega das obrigações'
                },
                xAxis: {
                    categories: ['dado 1', 'dado 2', 'dado3', 'dado 4', 'dado 5']
                },
                yAxis: {
                    title: {
                        text: '%'
                    }
                },
                series: [{name: 'Dados', data: dados}]
            });
        }

 

 

Acho que não consigo pensar em uma forma melhor de explicar isso kk

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, AnthraxisBR disse:

@JacsJacob vou tentar explicar de um prático:

 

 

Primeiro, você não vai declarar as variáveis PHP dentro da tag <script>, o que você vai fazer é uma requisição ajax para um pagina .PHP, e nessa página, a única coisa que ela deve retornar ao ajax é o dados que serão colocados no gráfico, essa página não pode responder nem uma vírgula errada, senão o gráfico não é exibido corretamente.

 

Começa assim, aqui nos fazemos com que a requisição seja chamada quando a pagina com o gráfico for carregada:

 

 

Após o evento ser disparado, nós fazemos a requisição dos dados:

 

O arquivo PHP responsável por exibir os dados, deverá devolver algo como isso:

 

 

E depois de ter os dados, nós chamamos a função que executará o gráfico:

 

 

 

Acho que não consigo pensar em uma forma melhor de explicar isso kk

 

Cara to tentando aqui mas ta dificil... vamos la...

Estou criando um arquivo só para consulta ao mysql em PHP chamado data.php e o do grafico chama test.php ok???
No codigo data.php estou colocando esses dados para consulta no meu banco de dados para pegar as infos de uma coluna chamada 'temperatura' com 10 registros:

 

$tbl_name="tempdat";
mysql_connect("$host", "$username", "$password") or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$pagina=(isset($_GET['pagina']))? $_GET['pagina'] : 1;
$sql="SELECT * FROM $tbl_name ORDER BY tdate DESC, ttime DESC";
$data=mysql_query($sql);
$total=mysql_num_rows($data);
$registros=10;
$numPaginas=ceil($total/$registros);
$inicio = ($registros*$pagina)-$registros;
$cmd="SELECT * FROM $tbl_name ORDER BY tdate DESC, ttime DESC limit $inicio,$registros";
$data=mysql_query($cmd);
$total=mysql_num_rows($data);
$n=0;
while($row = mysql_fetch_array($data)){
   $retorno[$n] = $row['temperatura'];
   $n++;
}

print_r($retorno);

mysql_close();

 

Este codigo me printa na tela o array com os dados... legal... funciona e me mostra a seguinte saida na pagina:

Array ( [0] => 22 [1] => 21 [2] => 23 [3] => 23 [4] => 21 [5] => 21 [6] => 21 [7] => 20 [8] => 22 [9] => 22 )

 

Agora onde eu declaro as informaçoes que voce me passou? em qual das paginas??? e como ele pega a variavel e qual é a variavel???

 

$(document).ready(function () {

e

 

$.ajax({
            url: 'pagina_com_os_dados.php',
            type: 'POST',
            async: true,
            dataType: "json",
            success: function (data) {
              var dados = data;
              gerarGrafico(dados);
            }
});

Obrigado mais um vez!


Abraçoss

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos, referente a PDV.
       
      Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.

      Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
      a baixa direto dos produtos no estoque
      ou
      somente após concretizar a venda o sistema baixa os produtos do estoque ?
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por ILR master
      Fala galera, tudo certo?
       
      Seguinte: No servidor A estou tentando fazer uma consulta com o servidor B, mas está dando erro.
      Estou usando o mesmo código de conexão do servidor B que funciona perfeitamente, mas no servidor A, dá erro.
      Segue código:
       
      $host = 'servidor B';
      $user = 'user';
      $pass = '********';
      $db   = 'banco';
       
      // conexão e seleção do banco de dados
      $conexao = mysqlI_connect($host, $user, $pass, $db);
      mysqlI_set_charset($conexao,"utf8");
      //print "Conexão rodando e OK!"; 
      //mysqlI_close($conexao);
       
      Alguém pode me ajudar?
×

Informação importante

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