Jump to content

FerrariR

Members
  • Content count

    10
  • Joined

  • Last visited

Community Reputation

0 Comum

About FerrariR

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. FerrariR

    Relação HTML/PHP

    Certo, Quimera! Muito obrigado pelo auxílio :D
  2. FerrariR

    Relação HTML/PHP

    Entendi, quimera! E esses templates poderiam deixar meu código mais conciso/limpo?
  3. FerrariR

    Relação HTML/PHP

    Boa noite, galera, tudo tranquilo? Pessoal, eu sou um aspirante a programação em PHP com alguns pequenos projetos já concluídos, e sempre me perco numa pergunta: como eu devo, em uma página que mescla PHP e HTMl, alternar entre essas duas linguagens? Eu sei que dentro do echo é possível imprimir tags html sem aspas, e até utilizo, mas também existe aquele formato echo<<<HTML, e também o formato que fechas o <?php a cada vez que precisa escrever algo em HTMl. Qual seria o melhor modo de fazer isso tanto a nível de performance do script quanto a legibilidade? Existe algum padrão adotado pelos programadores profissionais? Valeu, pessoal! Procurei isso em algumas normas, mas confesso que não achei. Até!
  4. FerrariR

    Proteger arquivos contra download

    E se você colocasse um index.html dentro da pasta css? O diretório simplesmente não seria listado.
  5. FerrariR

    Sistema de Chamadas

    Valeu, pessoal! Vocês ajudaram demaissss. Espero um dia ter metade do conhecimento que vocês têm para poder auxiliar aqui no fórum também. Abraços!
  6. FerrariR

    Sistema de Chamadas

    Caramba, cara, acabei de fazer justamente o que você sugeriu vendo um post no blog do Thiago Belém, e consegui inserir várias linhas com apenas um INSERT. O tempo de execução foi de 1,5 segundo pra 0,2, fiquei bastante feliz haha. Agora, fica a dúvida se dá pra impedir que os inserts sejam corrompidos... Valeu! Entendi. Então terei que testar rsrs
  7. FerrariR

    Sistema de Chamadas

    Nossa, esse sistema me parece sensacional haha. Mas, ao mesmo tempo, um pouco complexo, já que não sei utilizar Ajax . Gostei bastante da sua lógica do banco de dados. Muito mesmo. Imagino que aceleraria muito a velocidade de processamento, vou pensar sobre e tentar adaptar ao que já tenho. Voltando ao problema de melhora de desempenho, galera, eu tentei substituir todas as QUERYS que estão dentro do laço WHILE por apenas uma que insere um ARRAY formado por todas as presenças. Agora, acontece que o tempo de processamento caiu da média de 1,5 segundo para 0,2! Fiquei muito feliz, não sabia que a repetição da QUERY poderia atrasar tanto o INSERT em massa. Agora, continuo com a seguinte dúvida: teria como assegurar que ou se insere nas duas tabelas ou se insere em nenhuma? Obrigado!
  8. FerrariR

    Sistema de Chamadas

    Isso mesmo, cara! Acontece EXATAMENTE isso que você disse. Perdão o nível de confusão que fiz ao tentar explicar. Esse código precisa ser atualizado, quando fiz meu conhecimento sobre a área era muito menor rsrs. Pra ter ideia, usei o $rowID pra pegar o ID da última inserção, ao invés de usar o comando feito pra isso . Valeu, cara!
  9. FerrariR

    Sistema de Chamadas

    Ah, sim! Perdão pela inconveniência rsrs. A mágica acontece mais ou menos aqui: $insere_chamada = mysqli_query($connect, "INSERT INTO chamadas (RP,data,hora,sala,aula) VALUES ('$user','$data','$hora','$sala','$aula')"); if($insere_chamada) { $lista_query = mysqli_query($connect, "SELECT * FROM $table"); $consulta_ID = mysqli_query($connect, "SELECT ID FROM chamadas WHERE data='$data' AND hora='$hora' AND RP='$user'"); $rowID = mysqli_fetch_array($consulta_ID); while($row = mysqli_fetch_array($lista_query, MYSQL_NUM)) { $p = $_POST["campo$row[1]"]; $insere_presenca = mysqli_query($connect, "INSERT INTO $table2 (ID,RA,presenca) VALUES ('$rowID[0]','$row[1]','$p')"); } if($insere_presenca) { echo"<script language='javascript' type='text/javascript'>alert('A sua chamada foi salva com sucesso, tenha uma boa aula!');window.location.href='index.php';</script>"; } else { echo"<script language='javascript' type='text/javascript'>alert('A chamada não pôde ser salva.');window.location.href='index.php';</script>"; } } else { echo"<script language='javascript' type='text/javascript'>alert('A chamada não pôde ser salva.');window.location.href='index.php';</script>"; } O script inteiro tem 500 linhas rsrs, porque acabei colocando alguma forma de conseguir editar as chamadas já feitas, e ficou bem grande. Por isso, coloquei só uma parte, a que julgo mais importante. Vou explicar (ou tentar): em $insere_chamada, ele simplesmente coloca na tabela principal os dados que já vinham se arrastando anteriormente pelo script, como o RP (registro do professor), data, hora, sala e o número da aula (primeira, segunda, terceira...) Depois, em $lista_query, ele consulta a tabela de alunos da sala em questão, que só possui a coluna RA. Em $consulta_ID ele verifica se a chamada, que foi registrada com todos os dados de professor, data, hora.. foi realmente registrada na tabela principal. E, por último, naquele laço while, o script sai pegando RA por RA da tabela de alunos da sala e registra a cada iteração a presença daquele aluno na tabela de presenças. Bem... é basicamente isso, é justamente nessa etapa que tenho encontrado problemas, já que nas etapas de recolhimento dos dados, formulário, tudo funciona OK. A minha maior dúvida é que não sei se do jeito que tá estruturado assim seria "PROGRAMAVELMENTE SAUDÁVEL". Eu teria desempenho máximo desse jeito ou teria um modo menos burro de fazer? rsrsrs. E outra coisa, haveria como garantir a execução de todos os INSERTS ou de nenhum? Obrigado e boa noite
  10. FerrariR

    Sistema de Chamadas

    Boa noite, galera, tudo tranquilo? Sou novo na área de programação, e principalmente em Php/MySQL rsrs. Há alguns meses, me meti a fazer um sistema de chamadas para o Cursinho do qual sou coordenador. Ele funciona, mas venho tendo alguns problemas de performance e velocidade do registro dos dados no banco de dados, e se vocês pudessem me auxiliar a dar uma acelerada nisso eu ficaria muito grato. Antes de qualquer coisa, vou explicar por cima como funciona: Existe uma tabela principal, com o nome de chamadas, que guarda o registros de todas as chamadas realizadas no cursinho. Dentro dessa tabela, estão contidos o ID único de cada chamada, o horário, o professor que a realizou e sala. São quatro salas, e cada número (1, 2, 3 ou 4) no campo 'sala' da chamada faz que o sistema redirecione para a tabela de presenças da sala, onde cada sala tem uma tabela, para o registro das presenças dos alunos. Na tabela de presenças, em que cada sala tem uma, o sistema preenche cada linha com o ID da chamada, o RA do aluno e a presença (0 para falta e 1 para presença). Desse modo, nessa tabela, muitas linhas são inseridas por chamada realizada (por volta de 40 a 60 linhas, a depender da sala). Acontece que, quando testo com uma internet de qualidade, ou mesmo no meu localhost, a inserção desses resultados funciona muito bem, e não obtenho erro algum. Só que, na escola onde as chamadas são realizadas, a internet é apenas "navegável", e os professores têm tido alguns problemas de erros na página enquanto tentam realizar o procedimento. Dentro do script Php, as coisas funcionam mais ou menos assim: existe um IF que verifica, antes de tudo, se os dados da chamada conseguiram ser inseridos na tabela principal. Aí, caso a condição seja verdadeira, um laço while começa a inserção dos registros na tabela de presenças. E eu tenho tido alguns erros justamente nesse ponto... Em muitas chamadas realizadas na escola, o script chega a registrar a chamada na tabela principal mas não lança as presenças na outra tabela... E em outras vezes, registra os dados na tabela principal apenas de forma parcial, ou seja, preenche ID, data, e deixa o resto em branco, parando o processo todo ali... E tudo era para ser integrado, eu realmente não sei o que acontece. No meu raciocínio, primeiro o browser recolhia os dados e enviava ao servidor, e depois o servidor lançaria esses dados de uma vez, mas não parece que é isso que está acontecendo. Gostaria de saber se: é muito grave a lógica que eu utilizei? O laço while para inserir as presenças repete a query por aluno, ou seja, roda de 40 a 60 vezes executando uma query do MySql. Seria melhor eu unir essas presenças em um array e depois lançá-las com um query só na tabela de presenças? Mais uma coisa: haveria como assegurar que, se o MySql for inserir os dados na tabela principal, tem que necessariamente inserir as presenças na outra tabela? Ou seja, ou insere tudo ou insere nada... Meu maior problema não tem sido a impossibilidade de realizar essas chamadas em sala, já que os professores têm seus logins e senha e podem lançá-las para o sistema em casa, mas sim os erros que muitas vezes acontecem nas tentativas do processo e deformam o registro como foi citado acima... Bem, pessoal, eu espero que tenha ficado claro. Tô realmente engatinhando nessa área, e muitas vezes as soluções que tenho em mente, por mais que funcionem, não são as mais viáveis . Muito obrigado, e mais uma vez boa noite!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.