Inserir dados de chamada dos Alunos em uma tabela

Tenho uma tabela de chamada de um sistema escolar. Tenho que inserir: Id, Nome e Status (definido presente se a checkbox não tiver marcada, ou falta se estiver marcada).

Trecho php onde cria as linhas:

<!-- jogar na tabela nova -->
<?php
	// Pega prof logado
	$stmt2 = $conn->prepare('SELECT *FROM usuario WHERE nome=:nomeuser');
	$stmt2->bindValue(':nomeuser', $_SESSION["user"]);
	$stmt2->execute();
	$row4 = $stmt2->fetch(PDO::FETCH_ASSOC);
	$id = $row4['id'];
	
	$stmt3 = $conn->prepare('SELECT *FROM disciplinas WHERE codprof=:idprof');
	$stmt3->bindValue(':idprof', $id);
	
	// associar valor do combo
	$stmt3->execute();
	
	while($row5 = $stmt3->fetch(PDO::FETCH_ASSOC)) {
		$nomedisciplina = $row5['nomedisciplina'];
		$idturma = $row5['codturma'];
		
		$stmtf = $conn->prepare('SELECT *FROM usuario WHERE turma=:idturmauser');
		$stmtf->bindValue(':idturmauser', $idturma);  
		$stmtf->execute();
		
		$i=0;
		
		while($row10 = $stmtf->fetch(PDO::FETCH_ASSOC)){
			$id = $row10['id'];
			$nome = $row10['nome'];
			
			echo "<tr class=\"li$i\">";
			echo "<td colspan=\"4\" id=\"id\" style=\"font-size: 10px;\">$id</td>";
			echo "<td colspan=\"4\" id=\"nome\" style=\"font-size: 10px; font-weight: bold;\">$nome</td>";
			echo "<td id=\"chkbox\" colspan=\"4\">";
			echo " <input type=\"checkbox\" name=\"user$id\" value=\"user$id\"> </td>";
			echo "</tr>";
			
			$i++;
		}
		
		echo "<input type=\"hidden\" name=\"valcont\" id=\"valcont\" value=\"$i\">";
	}
?>

O input hidden e pra pegar a qtde de linhas. Pego esse valor e crio um for no javascript. Porém eu pego o valor do

via javascript, só que ele só me retorna só a primeira linha, assim:
var chkbox = new Array();
var cont = $("#valcont").attr("value");

for($i=0;$i<cont;$i++) {
	//var linha = document.getElementById("id").value();
	var linha = $('#id').text();
	//chkbox[$i] = alert(linha);
}

Porém eu tinha tentado assim e também não funcionou. Eu linkei a classe da linha no cont, e tentei acessar: $id > #id que significa que eu quero acessar a tag filha de tr:

var chkbox = new Array();
var cont = $("#valcont").attr("value");

for($i=0;$i<cont;$i++) {
	var linha = $('tr.'+$i+'> #id').text();
	alert(linha);
}

Link do sistema: http://healthcareerp.com.br/gestaonovo/
Usuario: Fabricio
senha…: fabricio666

1 curtida

Fiz um exemplo que vai te ajudar no teu problema.
Segue o exemplo zipado em anexo.Disciplina.zip (49.5 KB)

1 curtida

Fabricio tudo bem. Muito obrigado, seu script me ajudou bastante. :grinning: . Adaptei s lógica ao meu projeto, buscando os dados do json do banco de dados. Porém quando vou exibir depois do JSON_decode, está buscando apenas o último campo de cada registro, exemplo:

Se eu tenho: table Alunos(int id, varchar nome, varchar senha, varchar tipo, varchar contato), ele busca só a coluna contato. No exemplo que você fez, você criou 3 linhas, sendo que a 3ª (alunos) possui 2 colunas pra cada aluno.

O retorno do meu json foi assim:

{"bindings":
	[
		{"":"99999999"},
		{"":"0"},
		{"":"0"},
		{"":"88888888"},
		{"":"88888888"}
	]
}

Preciso pegar todas as colunas, mas tentei botar pra imprimir só os fields e mostrou somente os ultimos campos também, que no caso é contato. Dá uma olhada no meu projeto completo.

https://mega.nz/#!N4QgiLrJ!1oHctoWCd8v_d6YzyidNkUFvFuTRay45jLH802k91hc

1 curtida