Jump to content

bichopapo

Members
  • Content count

    27
  • Joined

  • Last visited

Community Reputation

0 Comum

About bichopapo

  1. Tenho uma busca que retorna os valores conforme a imagem Quero exibir estruturado... Uso uns dois IFs dentro de um foreach / While - depois de converter isso em array - e até consigo o que quero, o que pra uma consulta com poucos resultados talvez esteja bom. A questão é que acredito que se retornar muito resultado, muitos "voltas" do foreach/While serão em vão e vai gerar muita "pergunta" com os IFs Qual a melhor maneira - com PHP - de mostrar esse valores com essa estrutura Etapa: 1 - Semana: 23 - Total de aulas: 6 -> 47174 -> 47175 -> 47176 -> 47177 -> 47178 -> 47191 Etapa: 2 - Semana: 24 - Total de aulas: 4 -> 49368 -> 49369 -> 49370 -> 49371 - Semana: 25 - Total de aulas: 1 -> 49372 - Semana: 26 - Total de aulas: 4 -> 49376 -> 49377 -> 49378 -> 49679
  2. Tenho uma pasta compartilhada na rede... Tudo funciona perfeitamente. Quando preciso acessar os arquivos dessa pasta, em qualquer computador da rede, basta dar dois clique, por exemplo em uma foto, que ela abre. Se eu copio e colo algum arquivo nessa pasta, da mesma maneira continua acessível A questão é que tenho um formulário de upload em php, rodando em localhost, que envia um arquivo para essa pasta... Também funciona, assim que clico em enviar, o arquivo é copiado para essa pasta. Só que esse arquivo que é feito o upload, não fica disponível na rede... fica sem permissão. Nos outros arquivos, tá lá a permissão para todos... mas nesse que é feito upload não há permissão. Preciso que esse arquivo que chega na pasta pelo upload do formulário fique também disponível na rede. Obrigado!
  3. bichopapo

    Loop em array multidimensional

    Tenho um array multidimensional, que é resultado de uma busca no banco de dados Preciso ordenar de uma forma estruturada... Turma: 1º V02 Aluno: Mikael Disciplina ---------- Trim1--------Trim2-------Trim3 Matemática --------- 1 ------------ 3 ------------- 5 Química ------------- 1 ------------ 9 ------------- 7 Filosofia ------------- 1 ------------ 5 ------------- 6 Aluno: Vinícius Disciplina ---------- Trim1--------Trim2-------Trim3 Matemática --------- 1 ------------ 3 ------------- 5 Química ------------- 1 ------------ 9 ------------- 7 Filosofia ------------- 1 ------------ 5 ------------- 6 ***** Turma: 2º V01 Aluno: Marcos Disciplina ---------- Trim1--------Trim2-------Trim3 Matemática --------- 1 ------------ 3 ------------- 5 Química ------------- 1 ------------ 9 ------------- 7 Filosofia ------------- 1 ------------ 5 ------------- 6 A estrutura do array é essa abaixo Note que só uso no exemplo abaixo 1 Trimestre, Um aluno, uma turma e três disciplinas No resultado geral do banco, esses valores vão variar, ou seja, terei vários alunos, de diversas turmas, com notas variadas em trimestres diferentes e para diversas disciplinas, mas a estrutura do array será a mesma, só aumentará a quantidade de dados Pelo que percebo, precisarei de um loop para as turmas, um loop nos alunos, um loop de disciplinas e outro para notas. Obs.: Esses valores são resultado de um único select - com inner join Quero evitar várias requisições ao banco, mas talvez seja melhor usar mais que um select... não sei exatamente. A pergunta é, qual a melhor maneira de exibir esses dados na estrutura indicada acima, usando PHP? Array ( [0] => Array ( [cod_aluno] => 1498 [cod_trimestre] => 1 [cod_disc] => 430 [aluno] => MIKAEL [cod_turma] => 66 [turma] => 1º V02 [disciplina] => Matemática [nota] => 1.00 ) [1] => Array ( [cod_aluno] => 1498 [cod_trimestre] => 1 [cod_disc] => 507 [aluno] => MIKAEL [cod_turma] => 66 [turma] => 1º V02 [disciplina] => Química [nota] => 1.00 ) [2] => Array ( [cod_aluno] => 1498 [cod_trimestre] => 1 [cod_disc] => 514 [aluno] => MIKAEL [cod_turma] => 66 [turma] => 1º V02 [disciplina] => Filosofia [nota] => 1.00 )
  4. bichopapo

    Selecionar todos alunos com todas as notas acima da média

    Ola Motta, Fiz o select aqui e aparentemente funcionou... vou conferir os dados para ver se está correto Tive que fazer umas adaptações, pois criei uns relacionamentos... Veja como estão minhas tabelas e como ficou o código (baseado no que foi indicado acima) só que não aparece na consulta o total de matérias que tem em cada turma e também a quantidade de matérias que o aluno passou... *tb_alunos cod_aluno aluno cod_turma *tb_turmas cod_turma turma *tb_disciplinas cod_disciplina disciplina *tb_disc_prof_turma cod_disc_prof_turma cod_disc cod_turma cod_professor *tb_avaliacoes cod_avaliacao cod_disc_prof_turma trimestre valor *tb_notas cod_nota cod_avaliacao cod_aluno valor_nota_maior ////// Só lembrando.. Preciso somar as notas de cada aluno em cada disciplina Preciso saber quais alunos atingiram - com a soma das notas - acima de 18 em todas as matérias que pertencem a turma desse aluno.. SE na turma A, por exemplo... os alunos estudam Mat, Port, Geo... Para aparecer na consulta, o aluno tem que ter a soma das notas acima de 18 em todas as três... SELECT * FROM tb_alunos al WHERE (SELECT COUNT(DISTINCT dpt.cod_disc_prof_turma) as tt1 FROM tb_notas n1 inner join tb_avaliacoes av on n1.cod_avaliacao = av.cod_avaliacao inner join tb_disc_prof_turma dpt on dpt.cod_disc_prof_turma = av.cod_disc_prof_turma WHERE n1.cod_aluno = al.cod_aluno) = (SELECT COUNT(DISTINCT dpt2.cod_disc_prof_turma) as tt2 FROM tb_notas n2 inner join tb_avaliacoes av2 on n2.cod_avaliacao = av2.cod_avaliacao inner join tb_disc_prof_turma dpt2 on dpt2.cod_disc_prof_turma = av2.cod_disc_prof_turma WHERE n2.cod_aluno = al.cod_aluno AND n2.valor_nota_maior > 5)
  5. bichopapo

    Selecionar todos alunos com todas as notas acima da média

    tudo isso no mesmo select? como ficaria o distinct nesse caso?
  6. bichopapo

    Várias cópias do mesmo arquivo

    Encontrei essa função na internet, para renomear arquivos com VBA... testei no meu Excel e funcionou tranquilo, mas preciso fazer umas alterações. Preciso criar várias cópia de um arquivo em um pendrive... Por exemplo o arquivo c:\temp\logo.jpg copiar 3 vezes para o pendrive, com os nomes logo1.jpg logo2.jpg logo3.jpg fiz um for, executando a cada laço a função VbCopyFolder, e até funcionou, o problema é que para cada laço ele abre uma barra de progresso da cópia... quero que para todos os arquivos sejam abertas apenas uma barra de progresso da cópia... só sendo fechada quando todos os arquivos forem copiados Public Declare Function SHFileOperation Lib "shell32.dll" _ Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long Public Const FO_COPY = &H2 Public Type SHFILEOPSTRUCT hWnd As Long wFunc As Long pFrom As String pTo As String fFlags As Integer fAnyOperationsAborted As Long hNameMappings As Long lpszProgressTitle As Long End Type Public Sub VBCopyFolder(ByRef strSource As String, ByRef strTarget As String) Dim op As SHFILEOPSTRUCT With op .wFunc = FO_COPY .pTo = strTarget .pFrom = strSource .fFlags = FOF_SIMPLEPROGRESS End With SHFileOperation op End Sub
  7. Tenho uma tabela de alunos e uma tabela de notas... relacionados pelo id_aluno... Na tabela notas, tenho um campo que é o id da matéria, ou seja, para que o aluno tenha determinada nota em determinada matéria Preciso selecionar todos os alunos que tiveram nota maior que 20, por exemplo... para isso usei tranquilamente o having... where... A questão é que preciso selecionar todos os alunos que tem nota maior que vinte, so que tem que ser em todas as matérias... ou seja, se tem 5 matérias, e o aluno tem notas maiores que 20 em quatro matérias, ele não pode entrar na consulta, pois teria que ter nota maior que 20 em todas..
  8. Olá pessoal, Estou trabalhando em um código que as vezes gera muita consulta ao banco de dados. Então surgiu uma dúvida, o que é mais rápido e melhor para o código? 1. Fazer uma consulta no banco, pegando todos os valores que preciso, colocar esses valores em um array e depois mostrar os valores chamando esse array 2. Toda vez que precisar de um valor específico, buscar direto no banco de dados Vou tentar explicar um pouco mais Aluno **** Nota **** Falta José ***** 50 **** 3 Maria ***** 50 **** 4 Robert **** 35 ***** 1 Marta **** 45 **** 0 Vamos lá então A tabela nota é uma e a tabela faltas é outra Nesse caso o que é melhor? 1. uma unica consulta usando join e todas as tabelas, depois colocar me um array e mostrar os valores 1. consulto tabela aluno e coloco em um array. Consulto tabela nota e coloco em um array usando o codigo do aluno como indice. consulto tabela notas e coloco em um array também usando o código do aluno como índice. Depois mostro os alunos e atraves do codigo do aluno mostro o array nota e o array faltas. 2. uma consulta na tabela alunos e depois, a cada linha uma consulta na tabela notas, usando o where pelo código do aluno e também uma consulta na tabela faltas, usando também where. 3. consultar aluno e nota com um join, e depois, a cada linha uma consulta na tabela faltas usando o where pelo código do aluno
  9. Olá pessoal Há 6 anos mantenho um site wordpress no ar. Já são milhares de posts, o banco meio grande e agora vivo tendo problemas com a hospedam, sempre apresentando erro e o site ficando fora do ar. Minha questão é a seguinte: Quero deixar esse site a partir de hoje "estático", ou seja, não postarei mais nada nele... Criarei uma nova pasta, novo banco, e começarei do zero... tipo meusite.com.br/novo/ Corro risco de perder pontos no pagerank google? Tem como, quando eu fizer uma busca no site novo - mesmo que seja pela busca do google - que apareca tanto os posts do site novo quanto do antigo? Tem alguma vantagem ou desvantagem nessa ideia? Saudade do tempo em que a gente postava uma dúvida em um fórum e muitas pessoas interagiam... Hoje em dia tá difícil.
  10. bichopapo

    Select com left join

    Olá Motta, fiz como sugeriu, mas retornou apenas os remanejamentos... nao retornou os alunos que não aparecem na tabela remanejamentos.... como ficaria a sugestão q vc deu acima? Eu faria uma view que unisse um select de alunos e outro com alunos e remanejamentos,"
  11. bichopapo

    Select com left join

    ola Motta, obrigado pela ajuda Não poderia usar o MAX no ID do remanejamento???? pegando o ultimo.... ou se criando um status para o remanejamento, dessa maneira, toda vez que remanejar um aluno, o status dos outros remanejamentos fica 0 e somento o ultimo feito fica 1... assim teriamos remanejamentos ativos e inativos... sei la, so uma ideia que surgiu aqui Na minha tabela remanejamento tem sim uma data que ele foi remanejado, mas nao coloquei no exemplo por achar que nao seria necessário... como ficaria então com a data? tentei algumas coisas aqui mas nao funcionaram...
  12. bichopapo

    Select com left join

    Olá pessoal estou tentando fazer um select mas não estou chegando no resultado esperado tenho uma tabela chamada REMANEJAMENTOS e uma outra chamada ALUNOS quando troco o aluno de turma, e criado um registro na tabela remanejamentos, indicando de qual turma ele saiu e para que turma ele foi... sendo assim, todas as trocas de turmas ficam guardadas. Na tabela alunos, é feito um update, mudando para a turma atual preciso de um select que me retorne a relacao de alunos da turma 30... juntamente com os alunos que já foram um dia da turma 30, ou seja, os alunos que tem na tabela remanejamento com a coluna DE = 30.. resumindo, vai retornar os alunos da turma 30, inclusive os que já foram dessa e turma e sairam para outras turmas observem que os alunos 300 e 400 não pertecem mais a essa turma, mas um dia foram dela... isso e indicado na tabela remanejamentos na coluna DE, onde guarda a turma que o aluno saiu... com esse codigo quase consegui... na verdade o resultado foi quase satisfatorio, select al.id_aluno, al.aluno, al.turma, re.id, re.de, re.para from alunos al left join remanejamentos re on al.id_aluno = re.id_aluno where (re.de = 30) or ( (al.turma = 30) observem que ele fez exatamente o q pedi, com uma pequena exceção... a aluna AMANDA, saiu da turma 30 e foi para a turma 40... depois ela voltou da 40 para a turma 30... no select que consegui, o nome dela aparece duas vezes... so preciso que apareca uma vez, ou seja, o ULTIMO registro feito para ela na tabela remanejamentos... pois como ela já é da turma 30, não preciso dos registros q ela saiu e voltou...
×

Important Information

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