-
Total de itens
435 -
Registro em
-
Última visita
Sobre ikkinet

- Data de Nascimento 20/06/1986
Contatos
-
Website URL
http://fitsbetter.com
Perfil
-
Gender
Male
-
Location
Los Angeles Metro / US
Últimos Visitantes
3.144 visualizações
ikkinet's Achievements
0
Reputação
-
Laravel: mandando um monte de variáveis do controller para o view
pergunta respondeu ao Frank K Hosaka de ikkinet em PHP
No laravel, na controller, voce faz uma renderizacao de uma view. Isso quer dizer que, o "final" da execucao de um metodo da controller é voce chamar o `render()` passando uma view. Ali no render, voce pode appendar no final um outro metodo em que passa as variaveis. Assim, a controller fica: <?php class IndexController extends Controller { public function index(): View { $data['nome'] = 'Pedro'; $data['idade'] = 37; $data['valor'] = 25.2; $data['notas'] = [ 'q1' => 8, 'q2' => 7, 'q3' => 9, 'q4' => 10, ]; return view('nome_do_arquivo_da_view')->with($data); } } Dessa forma, a controller fica organizada, e passa o array inteiro para a view. Mas, tem que lembrar que, fazendo dessa forma, ao chegar na view, as variaveis se tornam independentes, isso é, se na controller chama $data['nome'] na view vai se chamar apenas $nome. E voce pode fazer assim na view: <div class="row"> <label>Nome</label> <p>{{ $nome }}</p> </div> <div class="row"> <label>Idade</label> <p>{{ $idade }}</p> </div> <div class="row"> <label>Valor</label> <p>{{ money_format($valor) }}</p> </div> <div class="row"> <label>Media das notas dos bimestres</label> <p>{{ (($q1 + $q2 + $q3 + $q4) / 4) }}</p> </div> Lembrando que essa sintaxe ai é se voce estiver usando o Blade como view manager, e lembrando que o exemplo é meramente didatico. A boa pratica diz que a Media, por exemplo, deve ser calculada na Controller e na view voce só exibe o resultado. Mas foi só pra entender como usar as variaveis na view. -
Avermelhando uma linha ou coluna ou diagonal de uma matriz 6 x 6
pergunta respondeu ao Frank K Hosaka de ikkinet em PHP
não sei se entendi muito bem, mas entendi o objetivo. Geralmente em se tratando de matrizes (que é basicamente um array de arrays, ou um array multidimensional), nos temos duas - ou mais, mas não vem a esse caso - chaves. Por exemplo, temos um array de numeros, que representa cada jogo. E temos um array de jogos, que representa todas as possibilidades. Assim, poderiamos chamar esse array de $array[jogos][numeros]. Dito isso, talvez para fins de clareza de codigo, seria melhor pre-popular esse array multidimensional com os numeros, e depois percorre-lo novamente fazendo a exibicao, e ai esoclhendo quando colocar as cores. Assim seria como eu faria: // Popula a matriz com 6 jogos de 6 numeros cada $array = []; for($i = 0; $i < 6; $i+=1) { $linha = []; do { do { $numero = rand(1,60); } while(in_array($numero, $linha)); $linha[] = $numero; } while(count($linha) < 6); sort($linha); $array[] = $linha; } // Exibe na tela // Seleciona se a sorte é horizontal (1), vertical (2) ou diagonal (3) $sorte = rand(1,3); // Seleciona a linha ou a coluna dependendo do resultado anterior // Se for diagonal, só tem 2 possibilidades: descendente (comeca da esquerda topo para a direita baixo) ou // ascendente (comeca da esquerda baixo para a direita topo) // Portanto, se for diagonal, verificamos se o $sorte 2 é par para descedente ou impar para ascendente $sorte2 = rand(1,6); echo '<h1>Palpite da Mega-Sena</h1>'; echo '<h3>Escolha da sorte: ' . ($sorte == 1 ? 'linha '.$sorte2 : ( $sorte == 2 ? 'coluna '.$sorte2 : 'diagonal ' . ($sorte2 % 2 == 0 ? 'descendente' : 'ascendente') ) ) . '</h3>'; echo '<table style="font-family: monospace">'; foreach($array as $linha => $jogo) { echo '<tr>'; foreach($jogo as $coluna => $numero) { $class = ''; if( ( $sorte == 1 && $linha == ($sorte2 - 1) ) || ( $sorte == 2 && $coluna == ($sorte2 - 1) ) || ( $sorte == 3 && $sorte2 % 2 == 0 && $coluna == $linha ) || ( $sorte == 3 && $sorte2 % 2 == 1 && ($coluna == (5 - $linha) ) ) ) { $class = 'danger'; } echo '<td class="' . $class . '">'; echo $numero; echo '</td>'; } echo '</tr>'; } echo '</table>'; -
Sobre misturar php com javascript, acho que foi mais questao de postar aqui. Ate porque ele referencia o dados.php na chamada async. então eu assumo que aquele ============= é justamente para separar que são dois arquivos diferentes, um dados.php, que vai fazer a parte do backend, e responder um json, e a parte do front-end que consumira essa api. Sobre a questao de colocar varios blocos ou um so, não sei, porque não sou bom nisso de front-end.
-
Depende da necessidade, mas o mais indicado seria usar o ?? Esse operador verifica se o valor antes dele é nulo. Se não for, usa ele, se for, usa o que esta depois. Por exemplo: $a = 1; $b = 'test'; $c = null; $d = ''; echo $a ?? 'fallback $a'; // ira mostrar: 1 echo $b ?? 'fallback $b'; // ira mostrar: test echo $c ?? 'fallback $c'; // ira mostrar: fallback $c echo $d ?? 'fallback $d'; // ira mostrar: (em branco) é mais ou menos como o if que voce fez, mas mais elegante, e fazendo a checagem na hora da exibicao, echo "<tr><td>".$pedido['id']."<td>".$pedido['total']."<td>". ($dia ?? 'problema');
-
Se funcionou, otimo, mas talvez voce queira especificar no header da resposta que esse corpo é um json. Voce faz isso usando o header('Content-Type: application/json; charset=utf-8'); antes do echo.
-
Que legal, não sabia que dava pra fazer isso. Bom, então talvez não seja esse o problema dele. Vamos ver a resposta de qual erro especificamente está ocorrendo.
-
Poderia dizer que erro específico está ocorrendo? Pelo código, eu percebi que tem um erro no HTML formado, não sei se é porque aqui formatou errado, ou se no seu código realmente está assim, mas nesse trecho: <p class="preço"'. $preço . "€" . '</p> Está faltando um > para fechar o <p <p class="preço"'. $preço . "€" . '> ALGO AQUI </p> Sem contar que o class preço, não tenho certeza se class name aceita ç Aliás, o mesmo para o nome da variável aqui $preço = $row['pdiapreco']; nome de variável em PHP não pode conter ç
-
http://php.net/manual/pt_BR/function.str-getcsv.php#114764 Veja mais sobre esse link
-
Se já está nesse formato, você pode tentar fazer o SELECT usando o IN $conn->query("SELECT * FROM tb_cat_produtos WHERE id_categoria IN (".$tb_catalogos['id_categoria'].")")
-
Bom, vou partir do pressuposto que você tem a tabela "pessoa" e que tem a tabela "evento" e terá a tabela "pessoa_evento" para vincular as duas. Daí você lê o CSV, quebra as linhas e colunas. Não vou entrar nesse mérito porque vou assumir que essa parte você já tem pronto. Daí, você faz: foreach($linhas as $l) { $pessoa = $conn->query("SELECT * FROM pessoa WHERE cod_emp = ".$l['cod_emp']); if($pessoa->num_rows == 0){ $conn->query("INSERT INTO pessoa (cod_emp, cp_nome, cpf, cp_nome_cargo) VALUES (".$l['cod_emp'].", '".$l['cp_nome']."', '".$l['cpf']."', '".$l['cp_nome_cargo']."'); } $evento = $conn->query("SELECT * FROM evento WHERE cod_event = ".$l['cod_event']); if($evento->num_rows == 0){ $conn->query("INSERT INTO evento (cod_event, cp_nome_eve, sq_cargo) VALUES (".$l['cod_event'].", '".$l['cp_nome_eve']."', '".$l['sq_cargo']."')"); } $conn->query("INSERT INTO pessoa_evento (cod_emp, cod_event, competencia) VALUES (".$l['cod_emp'].", ".$l['cod_event'].", '".$l['competencia']."')"); } Eu não testei o código, fui fazendo agora, mas a lógica é mais ou menos essa. A cada loop ele verifica se já existe a pessoa no banco, se não existir, insere. O mesmo com o evento. Daí ele vincula os dois na terceira tabela.
-
ikkinet alterou sua foto pessoal
-
ajuda [AJUDA] Não consigo usar herança nem traits.
pergunta respondeu ao fernandoanael de ikkinet em PHP
Bom, eu criei a mesma estrutura que você, usando o mae.php e filha.php do primeiro post e o test.php do segundo (que dá o include nos dois arquivos). Pra mim, o que apareceu não foi um erro, foi um Warning, mas que afeta totalmente o funcionamento dos scripts: Notice: Undefined variable: palavra in /var/www/html/mae.php on line 7 O que acontece é que, na função imprimePalavra da classe mae, você dá um echo na variável $palavra. Dentro do método, essa variável não existe. Para acessar a variável da classe, é preciso usar $this->palavra. Fazendo apenas esta alteração, funcionou corretamente aqui. -
Está enviando várias vezes porque a chamada ao ajax está dentro do map(). O map percorre cada campo e, para cada campo que ele percorre, ele chama o ajax postando a informação e, portanto, enviando um email. Um jeito fácil de resolver isso é setando uma variável de controle de erro. Aí depois verifica a variável e depois chama o ajax. Algo mais ou menos assim: //Percorrendo os campos var erro_form = false; $.map(campos, function(campo){ // ======= Minha enorme validação :P if ( /* algo errado */ ) { erro_form = true; } }); if (! erro_form ){ $.ajax({ type: "POST", url: script_reservas, data: campos, beforeSend: function(){ status.hide().html('<p style="color: #337AB7"><img src="'+ tema +'images/loading_icon.svg"> Enviando ...</p>').fadeIn(); }, error: retorno, success: retorno, complete: function(){form_reservas.get(0).reset();} }); }
-
Bom, pra começar a lógica do seu if está falha: if (!empty($usuario) AND !empty($senha)) { Com o if desse jeito, se você digitar o usuário e a senha ele vai entrar na condição e vai dar o refesh. O certo seria: if (empty($usuario) || empty($senha)) {
-
A princípio, eu faria diferente. Eu já iria somando em uma variável, no próprio php, os valores dentro do loop. Evita ter que fazer uma nova consulta só para obter uma soma de valores que eu já tenho em tempo de execução. De qualquer forma, se ainda quer continuar fazendo uma nova query, o WHERE da query que traz os resultados é exatamente o mesmo? Porque a soma está sendo feita no mysql, e não no php, logo, o "erro" está na consulta.
-
Isso, provavelmnete, é da codificação do Json. Tenta usar um var_dump no array antes de usar o json_encode.
- 3 respostas