Ir para conteúdo

POWERED BY:

Arquivado

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

tngcunha

foreach por while

Recommended Posts

Gostaria de saber se o seguinte codigo pode ser convertido para um while e como :

foreach($_POST['presenca'] as $row ){
            echo $row;
         }

agradeço desde ja

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poder até pode, mas não faz o menor sentido, já que assim ele está dentro do que é adequado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poder até pode, mas não faz o menor sentido, já que assim ele está dentro do que é adequado.

Estou precisando arrumar um codigo que use 2 loops, porém o unico jeito que da certo é usando um de cada vez :

      while ($row = mysqli_fetch_assoc($resultado)) {
            $cod_aluno = $row['cod_aluno'];
            echo $cod_aluno;
      }
         
      foreach($_POST['presenca'] as $row ){
            echo $row;
      }

Se eu colocar um dentro do outro, o resultado sai triplicado assim dando 3x o resultado que eu quero.

Preciso salvar a variavel cod_aluno para utilizar dentro do foreach porém com este codigo só consigo receber o ultimo $cod_aluno

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como essas duas informações estão ligadas entre si? O ideal seria de alguma forma você colocar no array do presenca o $cod_aluno, assim ficaria fácil resgatar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como essas duas informações estão ligadas entre si? O ideal seria de alguma forma você colocar no array do presenca o $cod_aluno, assim ficaria fácil resgatar...

while ($row = mysqli_fetch_assoc($resultado)) {
            $cod_aluno = $row['cod_aluno'];
            echo $cod_aluno;

         
      foreach($_POST['presenca'] as $row ){
            echo $row;
      }
      }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desta forma recebo codigo do aluno : 1 - e todas a presenças indo para cada aluno. exemplo:

Aluno 1 : presença1, 2, 3

Aluno 2 : presença1, 2, 3

Aluno 3 : presença1, 2, 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não respondeu a minha pergunta, então vou entrar no modo bola de cristal...

while ($row = mysqli_fetch_assoc($resultado)) {
$cod_aluno = $row['cod_aluno'];
echo $cod_aluno;
echo $_POST['presenca'][$cod_aluno];
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Não respondeu a minha pergunta, então vou entrar no modo bola de cristal...

while ($row = mysqli_fetch_assoc($resultado)) {
$cod_aluno = $row['cod_aluno'];
echo $cod_aluno;
echo $_POST['presenca'][$cod_aluno];
}

Cod_Aluno vem do banco de dados e a presença de um formulario

 

Vou tentar explicar novamente com mais detalhes :

Possuo um formulario para atribuir presenças para 3 alunos identificados pelo cod_aluno, sendo apenas 3 alunos :

1

3

4

 

neste formulario eu coloco quantas presenças o aluno teve, (1 a 4). Estou testando como:

Aluno 1 = 1 Presença,

Aluno 3 = 2 Presenças e

Aluno 4 = 3 Presenças.

 

Porém só consigo receber os resultados separadados (O codigo dos 3 alunos e depois os 3 valores da presença) ou os 3 alunos recebendo as 3 presenças

(

Aluno 1 : presença1, 2, 3

Aluno 3 : presença1, 2, 3

Aluno 4 : presença1, 2, 3

)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, eu já entendi tudo, só que novamente, continuo tentando visualizar a coisa usando uma bola de cristal, pois mais importante que uma explicação de 500 linhas é entender como a dinâmica do seu sistema funciona, por exemplo como é o formulário de onde está vindo o post? Se você postar o formulário eu vou conseguir entender como o array está estruturado e ai vou conseguir pensar em como ler isto no while...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pagina 1 (Formulario):

while($row = mysqli_fetch_array($resultado)){
   ?> 
      <tr>
         <td align="center"><?php echo $row['cod_aluno'] ?></td>
         <td><?php echo $row['nome'] ?></td>
         <td><?php echo $row['email'] ?></td>
         <td align="center"><?php echo $row['presencas'] ?></td>
         <td align="center"><?php echo $row['faltas'] ?></td>
         <td>
            <input type="hidden" name="cod_aluno" value="<?$row['cod_aluno']?>">
            1<input type="checkbox" name="presenca[]" value="1">
            2<input type="checkbox" name="presenca[]" value="2">
            3<input type="checkbox" name="presenca[]" value="3">
            4<input type="checkbox" name="presenca[]" value="4">
         </td>
      </tr>

Pagina 2 (Resposta):

      $turma = $_SESSION["turma"];
      $query = "SELECT * FROM aluno where id_professor = '{$_SESSION['id_professor']}' and cod_turma ='$turma' ";
      $resultado = mysqli_query($conexao, $query);



      while ($row = mysqli_fetch_assoc($resultado)) {
            $cod_aluno = $row['cod_aluno'];
            echo $cod_aluno;
      }
         
      foreach($_POST['presenca'] as $row ){
            echo $row;
      }

(Utilizei seu outro codigo sem o cod_aluno pois recebo um Undefined offset no segundo echo porém recebo um array, como posso percorrer esse array?)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque:

<td>
<input type="hidden" name="cod_aluno" value="<?$row['cod_aluno']?>">
1<input type="checkbox" name="presenca[]" value="1">
2<input type="checkbox" name="presenca[]" value="2">
3<input type="checkbox" name="presenca[]" value="3">
4<input type="checkbox" name="presenca[]" value="4">
</td>

Por:

<td>
<input type="hidden" name="cod_aluno" value="<?$row['cod_aluno']?>">
1<input type="checkbox" name="presenca['<?$row['cod_aluno']?>'][]" value="1">
2<input type="checkbox" name="presenca['<?$row['cod_aluno']?>'][]" value="2">

3<input type="checkbox" name="presenca['<?$row['cod_aluno']?>'][]" value="3">
4<input type="checkbox" name="presenca['<?$row['cod_aluno']?>'][]" value="4">
</td>

No PHP:

while ($row = mysqli_fetch_assoc($resultado)) {
$cod_aluno = $row['cod_aluno'];
echo $cod_aluno;
foreach($_POST['presenca'][$cod_aluno] as $nota){
echo $nota;
}
}

Só que imagino que a pessoa só vá poder marcar 1 opção, logo o correto seria usar radio...

<td>
<input type="hidden" name="cod_aluno" value="<?$row['cod_aluno']?>">
1<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="1">
2<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="2">

3<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="3">
4<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="4">
</td>

Então:

while ($row = mysqli_fetch_assoc($resultado)) {
$cod_aluno = $row['cod_aluno'];
echo $cod_aluno;
echo $_POST['presenca'][$cod_aluno];
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Troque:

<td>
<input type="hidden" name="cod_aluno" value="<?$row['cod_aluno']?>">
1<input type="checkbox" name="presenca[]" value="1">
2<input type="checkbox" name="presenca[]" value="2">
3<input type="checkbox" name="presenca[]" value="3">
4<input type="checkbox" name="presenca[]" value="4">
</td>

Por:

<td>
<input type="hidden" name="cod_aluno" value="<?$row['cod_aluno']?>">
1<input type="checkbox" name="presenca['<?$row['cod_aluno']?>'][]" value="1">
2<input type="checkbox" name="presenca['<?$row['cod_aluno']?>'][]" value="2">

3<input type="checkbox" name="presenca['<?$row['cod_aluno']?>'][]" value="3">
4<input type="checkbox" name="presenca['<?$row['cod_aluno']?>'][]" value="4">
</td>

No PHP:

while ($row = mysqli_fetch_assoc($resultado)) {
$cod_aluno = $row['cod_aluno'];
echo $cod_aluno;
foreach($_POST['presenca'][$cod_aluno] as $nota){
echo $nota;
}
}

Só que imagino que a pessoa só vá poder marcar 1 opção, logo o correto seria usar radio...

<td>
<input type="hidden" name="cod_aluno" value="<?$row['cod_aluno']?>">
1<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="1">
2<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="2">

3<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="3">
4<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="4">
</td>

Então:

while ($row = mysqli_fetch_assoc($resultado)) {
$cod_aluno = $row['cod_aluno'];
echo $cod_aluno;
echo $_POST['presenca'][$cod_aluno];
}

 

Resultado :

Notice: Undefined offset: 1 in C:\wamp\www\presence\addfrequencia.php on line 40

(echo $_POST['presenca'][$cod_aluno];)

 

Alguma alternativa para isto???

 

 

No principio eu iria usar o radio porém estava com outro problema que não lembro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque:

<td>
<input type="hidden" name="cod_aluno" value="<?$row['cod_aluno']?>">
1<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="1">
2<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="2">

3<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="3">
4<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="4">
</td>

Por:

<td>
<input type="hidden" name="cod_aluno" value="<?php echo $row['cod_aluno']?>">
1<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="1">
2<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="2">

3<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="3">
4<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="4">
</td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Troque:

<td>
<input type="hidden" name="cod_aluno" value="<?$row['cod_aluno']?>">
1<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="1">
2<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="2">

3<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="3">
4<input type="radio" name="presenca['<?$row['cod_aluno']?>']" value="4">
</td>

Por:

<td>
<input type="hidden" name="cod_aluno" value="<?php echo $row['cod_aluno']?>">
1<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="1">
2<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="2">

3<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="3">
4<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="4">
</td>

 

Notice: Undefined offset: 1 in C:\wamp\www\presence\addfrequencia.php on line 40

 

Continuo com o mesmo problema

 

Só comentando mais um pouco :

Obrigado por estar tentando me ajudar, serio mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como estão os scripts agora, posta tudo completo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como estão os scripts agora, posta tudo completo.

 

Pagina 1 :

while($row = mysqli_fetch_array($resultado)){
   ?> 
      <tr>
         <td align="center"><?php echo $row['cod_aluno'] ?></td>
         <td><?php echo $row['nome'] ?></td>
         <td><?php echo $row['email'] ?></td>
         <td align="center"><?php echo $row['presencas'] ?></td>
         <td align="center"><?php echo $row['faltas'] ?></td>
         <td>
1<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="1">
2<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="2">

3<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="3">
4<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="4">
</td>
      </tr>

Pagina 2 :

$turma = $_SESSION["turma"];
      $query = "SELECT * FROM aluno where id_professor = '{$_SESSION['id_professor']}' and cod_turma ='$turma' ";
      $resultado = mysqli_query($conexao, $query);


      while ($row = mysqli_fetch_assoc($resultado)) {
$cod_aluno = $row['cod_aluno'];
echo $cod_aluno;
echo $_POST['presenca'][$cod_aluno];

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acessa a página do formulário:

while($row = mysqli_fetch_array($resultado)){
?> 
<tr>
<td align="center"><?php echo $row['cod_aluno'] ?></td>
<td><?php echo $row['nome'] ?></td>
<td><?php echo $row['email'] ?></td>
<td align="center"><?php echo $row['presencas'] ?></td>
<td align="center"><?php echo $row['faltas'] ?></td>
<td>
1<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="1">
2<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="2">

3<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="3">
4<input type="radio" name="presenca['<?php echo $row['cod_aluno']?>']" value="4">
</td>
</tr>

Manda exibir o código fonte e copia ele todo e ai cola ele aqui para a gente ver, apenas deixando claro, eu quero o código fonte da página renderizada (aquilo que você vê no navegador).

Compartilhar este post


Link para o post
Compartilhar em outros sites


 

<!doctype html>

<html lang=''>

<head>

<meta charset='utf-8'>

<link rel="stylesheet" href="styles.css">

 

<title>Presence</title>

</head>

<body>

 

<div id='cssmenu'>

<ul>

<li><a href='index.php'>Home</a></li>

<li class='active'><a href='frequencia.php'>Frequencia</a></li>

<li><a href='turmas.php'>Turmas</a></li>

<li><a href='alunos.php'>Alunos</a></li>

<li><a href='logout.php'>Sair</a></li>

</ul>

</div>

 

<input type="button" value="Voltar" onclick="javascript: location.href='frequencia.php';" />

<h1 align="center">Marque o numero de aulas em que o aluno está presente</h1>

<form accept-charset="utf-8" method="POST" action="addfrequencia.php">

<table border="2">

<tr>

<td>Codigo_aluno</td>

<td>Nome</td>

<td>E-mail</td>

<td>Presenças</td>

<td>Faltas</td>

<td>Adicionar</td>

</tr>

 

<tr>

<td align="center">1</td>

<td>213</td>

<td>123</td>

<td align="center">0</td>

<td align="center">0</td>

<td>

1<input type="radio" name="presenca['1']" value="1">

2<input type="radio" name="presenca['1']" value="2">

 

3<input type="radio" name="presenca['1']" value="3">

4<input type="radio" name="presenca['1']" value="4">

</td>

</tr>

 

<br>

<tr>

<td align="center">3</td>

<td>das</td>

<td>dsa</td>

<td align="center">0</td>

<td align="center">0</td>

<td>

1<input type="radio" name="presenca['3']" value="1">

2<input type="radio" name="presenca['3']" value="2">

 

3<input type="radio" name="presenca['3']" value="3">

4<input type="radio" name="presenca['3']" value="4">

</td>

</tr>

 

<br>

<tr>

<td align="center">4</td>

<td>dsa</td>

<td>sa</td>

<td align="center">0</td>

<td align="center">0</td>

<td>

1<input type="radio" name="presenca['4']" value="1">

2<input type="radio" name="presenca['4']" value="2">

 

3<input type="radio" name="presenca['4']" value="3">

4<input type="radio" name="presenca['4']" value="4">

</td>

</tr>

 

<br> </table><br>

<input type="submit" value="Enviar">

</form>

 

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na página 2 coloca o seguinte:
print_r($_POST);

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a ajuda dos amigos, mas preciso entender uma processo que não estou conseguindo sucesso.

      Como mencionado no Título estou escrevendo um Sistema Web para Gerenciamento de Empresa.
       
      Minha dúvida, que preciso muito entender:
      - preciso agora escrever a Rotina para Emissão de NFe e essa parte não estou conseguindo.
       
      tenho assistido alguns vídeos e leituras, mas não estou conseguindo sucesso, já fiz toda as importações das LIB da NFePhp conforme orientação.

      Preciso de ajuda.

      Algum dos amigos tem conhecimento de algum passo-a-passo explicando a criação dessa rotina ?

      tenho visto alguns vídeos com LARAVEL, mas quando tento utilizar e converter para PHP+Codeiginter, dá uma fila de erros que não entendo, mesmo informando as lib necessárias.

      Alguns do amigo tem algum vídeo, leitura explicando essa parte ?

      Grato,

      Cesar.
×

Informação importante

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