Ir para conteúdo

POWERED BY:

Arquivado

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

Junior_f04

Criar textfield para cada linha do BD

Recommended Posts

Boa noite pessoal,

 

Bom procurei por varios lugares mas nao achei muita coisa.... estou montando um boletim on line, e travei em uma parte.. espero que me ajudem.

 

O que preciso é que quando listar os alunos aparecer ao lado de cada nome um textfield para eu colocar as notas..

 

Aluno1..............text1

Aluno2..............text2

Aluno3..............text3

e por ai vai ....

 

bom tenho 2 problemas, quando uso

<? include "config/config.php"; ?>    <form id="form1" name="form1" method="post" action="pb_notas2.php">      <label> <br />            <? for($x=1;$x<=4;$x++){ ?>      <input name="<? echo "nota".$x.""; ; ?>" type="text" value=""  size="2" maxlength="2" />      <? } ?>      <br />            <input type="submit" name="enviar" id="enviar" value="Submit" />      </label>            </form></body></html><?$enviar = $_POST['enviar'];/*Botão enviar*/if($enviar)/*Se o botão enviar for pressionado, faça...*/{for($x=1;$x<=4;$x++) {$check = $_POST["nota".$x];echo"$check";$sql = mysql_query("INSERT INTO notas (nome,id_disciplina,b1,b2,b3,b4) VALUES ('$check','','','','','')") or die(mysql_error());}}?>
consigo criar um textfield com nomes diferentes nota1.. nota2.. nota3.... e depois recuperar eles e inserir certinho ... cada text em uma linha do bd....

 

mais quando junto Select... vira um rolo...

 

o endereço no browser é pb_notas2copia.php?idd=1&idc=024626

 

onde idd é a disciplina e o idc é o codigo da classe

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Untitled Document</title></head><body><p>  <?include "config/config.php";$id_classe = $_GET['idc'];$idd = $_GET['idd'];?><form id="form1" name="form1" method="post" action="pb_notas2.php?idd=<? echo "$idd"; ?>&idc=<? echo "$id_classe"; ?>&acao=publicar&bim=bimestre1"><table width="100%" border="0">  <tr>    <td bgcolor="#CCCCCC">Classe</td>    <td bgcolor="#CCCCCC">Nome</td>    <td bgcolor="#CCCCCC">Nota </td>    <td bgcolor="#CCCCCC">Falta</td>  </tr>    <?$consulta=mysql_query("SELECT * FROM aluno WHERE id_classe = $id_classe "); $conta = mysql_num_rows($consulta);while ($dados = mysql_fetch_array($consulta)) {	$nome = $dados['nome'];$classe = $dados['classe'];$id= $dados['id'];print'  <tr>    <td>'.$classe.'</td>    <td>'.$nome.'</td>	<td>';	?>    <? for($x=1;$x<=4;$x++){ ?>	<input type="text" name="nota<? echo "$x"; ?>"  size="2" maxlength="2" />    <? } ?>    <? print	'</td>    <td>	</td>  </tr>		';		$enviar = $_POST['enviar'];/*Botão enviar*/if($enviar)/*Se o botão enviar for pressionado, faça...*/{$id_disciplina = $_GET['idd'];$sql = mysql_query("INSERT INTO notas (nome,id_disciplina,b1,b2,b3,b4) VALUES ('$nome','$id_disciplina','$mo','','','')") or die(mysql_error());}//if modulo}//if enviar?>  <tr>    <td> </td>    <td> </td>    <td> </td>    <td> </td>  </tr>  <tr>    <td><input type="submit" name="enviar2" id="enviar2" value="Cadastrar" /></td>    <td> </td>    <td> </td>    <td> </td>  </tr></table></form></p><p> </p><p> </p></body></html>
Bom usando o codigo acima, eu consigo este codigo fonte abaixo:

 

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Untitled Document</title></head><body><p>  <form id="form1" name="form1" method="post" action="pb_notas2.php?idd= 1&idc=024626&acao=publicar&bim=bimestre1"><table width="100%" border="0">  <tr>    <td bgcolor="#CCCCCC">Classe</td>    <td bgcolor="#CCCCCC">Nome</td>    <td bgcolor="#CCCCCC">Nota </td>    <td bgcolor="#CCCCCC">Falta</td>  </tr>      <tr>    <td>Eng 2</td>    <td>Junior</td>	<td>    	<input type="text" name="nota1"  size="2" maxlength="2" />    	<input type="text" name="nota2"  size="2" maxlength="2" />    	<input type="text" name="nota3"  size="2" maxlength="2" />    	<input type="text" name="nota4"  size="2" maxlength="2" />        </td>    <td>	</td>  </tr>		  <tr>    <td>Eng 2</td>    <td>Carol</td>	<td>    	<input type="text" name="nota1"  size="2" maxlength="2" />    	<input type="text" name="nota2"  size="2" maxlength="2" />    	<input type="text" name="nota3"  size="2" maxlength="2" />    	<input type="text" name="nota4"  size="2" maxlength="2" />        </td>    <td>	</td>  </tr>		  <tr>    <td>Eng 2</td>    <td>Marina</td>	<td>    	<input type="text" name="nota1"  size="2" maxlength="2" />    	<input type="text" name="nota2"  size="2" maxlength="2" />    	<input type="text" name="nota3"  size="2" maxlength="2" />    	<input type="text" name="nota4"  size="2" maxlength="2" />        </td>    <td>	</td>  </tr>		  <tr>    <td>Eng 2</td>    <td>July</td>	<td>    	<input type="text" name="nota1"  size="2" maxlength="2" />    	<input type="text" name="nota2"  size="2" maxlength="2" />    	<input type="text" name="nota3"  size="2" maxlength="2" />    	<input type="text" name="nota4"  size="2" maxlength="2" />        </td>    <td>	</td>  </tr>		  <tr>    <td> </td>    <td> </td>    <td> </td>    <td> </td>  </tr>  <tr>    <td><input type="submit" name="enviar2" id="enviar2" value="Cadastrar" /></td>    <td> </td>    <td> </td>    <td> </td>  </tr></table></form></p><p> </p><p> </p></body></html>
como tenho 4 registro no banco ... entao ele cria

 

 

 

<input type="text" name="nota1"  size="2" maxlength="2" /><input type="text" name="nota2"  size="2" maxlength="2" /><input type="text" name="nota3"  size="2" maxlength="2" /><input type="text" name="nota4"  size="2" maxlength="2" />
para cada nome q recupera....

 

bom se nao uso

<? for($x=1;$x<=4;$x++){ ?> nao consigo colocar um nome para cada text... e se nao uso inser no meio while{} nao inserir todos els... porem ele duplica os text :/ igual a imagem abaixo

 

Imagem Postada

 

 

Bom galera nao sei o que fazer .... alguem poderia me dar uma força ?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa vlw msm ... to empacado com isso faiz uns 3 dias :joia:

 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url="http-~~-//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"]http-~~-//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="[url="http-~~-//www.w3.org/1999/xhtml"]http-~~-//www.w3.org/1999/xhtml[/url]">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<p>
<form id="form1" name="form1" method="post" action="">
<table width="100%" border="0">
<tr>
<td bgcolor="#CCCCCC">Classe</td>

<td bgcolor="#CCCCCC">Nome</td>
<td bgcolor="#CCCCCC">Nota </td>
<td bgcolor="#CCCCCC">Falta</td>
</tr>

<?
if ($_POST) {
// se variavel postei existi

extract($_POST);
// extrai todos o post
foreach ($id_usuario as $id) {
//loop para pega o id do usuario
foreach ($nota[$id] as $campos) {
$campo[] = $campos;
//loop para pegar as notas com id do usuario
}
echo "INSERT INTO notas (id,nota1,nota2,nota3,nota4) VALUES ('$id','$campo[0]','$campo[1]','$campo[2]','$campo[3]')";
// jogar no banco
echo '<br>';
//uma quebra de linha para você ver como e
unset($campo);
// destroi o array para libera memoria que vem mais usuario ai
}
}
?>
<tr>
<td>Eng 2</td>
<td>Junior</td>

<td>
Nota 1:<input type="text" name="nota[1][]" size="2" maxlength="2" />
Nota 2: <input type="text" name="nota[1][]" size="2" maxlength="2" />
Nota 3:<input type="text" name="nota[1][]" size="2" maxlength="2" />
Nota 4:<input type="text" name="nota[1][]" size="2" maxlength="2" />
id_ do_usuario:<input type="text" name="id_usuario[]" value="1" maxlength="2" />

</td>
<td>
</td>
</tr>



<tr>
<td>Eng 2</td>
<td>Junior2</td>

<td>
Nota 1:<input type="text" name="nota[2][]" size="2" maxlength="2" />
Nota 2: <input type="text" name="nota[2][]" size="2" maxlength="2" />
Nota 3:<input type="text" name="nota[2][]" size="2" maxlength="2" />
Nota 4:<input type="text" name="nota[2][]" size="2" maxlength="2" />
id_ do_usuario:<input type="text" name="id_usuario[]" value="2" maxlength="2" />

</td>
<td>
</td>
</tr>







<tr>
<td><input type="submit" name="enviar2" id="enviar2" value="Cadastrar" /></td>
<td></td>
<td> </td>
<td> </td>
</tr>
</table>

</form>
</p>
<p> </p>



<p> </p>
</body>
</html>

 

 

ta vendo essa parte "nota[1][]" esse numero 1 e o id do usuario executar o codigo ai e tirar suas duvidas

id_ do_usuario:<input type="text" name="id_usuario[]" value="2" maxlength="2" /> eo id do usuario no banco essa campo seria oculto no seu caso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara velho tu é um heroiiiiiiiiii :clap: :clap:

 

nem sei como te agradecer ...... muito obrigado msm .................

 

abracaooo e vlw msm ... você realmente é um Imaster ^^

 

:joia: :joia: :joia: :joia: :joia: :joia: :joia: :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não querendo abusar da sua boa vontade nao mais to com outro problema aqui ^^

 

tenho 2 tabelas no BD, uma chamda disciplina com

id_disciplina nome_disciplina

1 Fisica

2 Matematica

3 Calculo II

 

e a outra tabela chamada classe com

id_classe disciplina nome_classe

024626 1 Eng 2

024626 2 Eng 2

 

 

bom estou tentando o seguinte ...

 

quando chamar a pagina editar_classe.php

 

Apareceria um checkbox ao lado de cada diciplina e as que forem iguais ao da tabela classe vier marcada e as demais em branco ^^

 

tentei fazem selec com as 2 tabelas .... mas nao adiantou nao ... ele recupera apenas os que tem exatamente nas duas e as em branco nao recupera :/

 

Alguem tem alguma ideia de como fazer ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

dessa vez eu entendi muito pouco

 

mais eu modelei uma database aqui

 

dar uma olhada ver se eu entendi direito

 


-- phpMyAdmin SQL Dump
-- version 3.2.0.1
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tempo de Geração: Jul 26, 2010 as 12:42 PM
-- Versão do Servidor: 5.1.36
-- Versão do PHP: 5.3.0

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Banco de Dados: `escola`
--

-- --------------------------------------------------------

--
-- Estrutura da tabela `alunos`
--

CREATE TABLE IF NOT EXISTS `alunos` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `alunos` varchar(255) DEFAULT NULL,
 `classe` int(11) DEFAULT NULL,
 `disciplina` int(11) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Extraindo dados da tabela `alunos`
--

INSERT INTO `alunos` (`id`, `alunos`, `classe`, `disciplina`) VALUES
(1, 'aluno 1', 1, 1),
(2, 'aluno 2', 2, 2);

-- --------------------------------------------------------

--
-- Estrutura da tabela `classe`
--

CREATE TABLE IF NOT EXISTS `classe` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `classe` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Extraindo dados da tabela `classe`
--

INSERT INTO `classe` (`id`, `classe`) VALUES
(1, 'classe 1'),
(2, 'classe 2');

-- --------------------------------------------------------

--
-- Estrutura da tabela `disciplina`
--

CREATE TABLE IF NOT EXISTS `disciplina` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `disciplina` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Extraindo dados da tabela `disciplina`
--

INSERT INTO `disciplina` (`id`, `disciplina`) VALUES
(1, 'matematica'),
(2, 'portugues');




 

 

execute essa query nela

 

SELECT
 *
FROM
 alunos INNER JOIN
 classe ON alunos.classe = classe.id INNER JOIN
 disciplina ON alunos.disciplina = disciplina.id;

 

senao mande uma img para eu entende a ideia legal ou algum code ai

 

eu tava pensando aqui você nao achar melhor você ter tres tabelas numa tabela você colocaria a classe ja com a materia

 

seria mais facil igual e feito com bairro e cidade:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagem Postada

 

Cara tentei usar o q tu feiz ... mais me embananei tudo :/

 

bom coloquei a imagem ai pra tu te uma ideia

 

esses sao os bancos q vou usar

 

-- phpMyAdmin SQL Dump-- version 2.10.1-- http://www.phpmyadmin.net-- -- Servidor: localhost-- Tempo de Geração: Jul 26, 2010 as 10:11 AM-- Versão do Servidor: 5.0.45-- Versão do PHP: 4.4.9SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";-- -- Banco de Dados: `boletim`-- -- ---------------------------------------------------------- -- Estrutura da tabela `disciplina`-- CREATE TABLE `disciplina` (  `id_disciplina` int(255) NOT NULL auto_increment,  `nome_disciplina` varchar(255) NOT NULL,  PRIMARY KEY  (`id_disciplina`)) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;-- -- Extraindo dados da tabela `disciplina`-- INSERT INTO `disciplina` (`id_disciplina`, `nome_disciplina`) VALUES (1, 'Fisica'),(2, 'Matematica'),(4, 'Calculo I'),(5, 'Seg Trabalho'),(6, 'Calculo II');
e

 

-- phpMyAdmin SQL Dump-- version 2.10.1-- http://www.phpmyadmin.net-- -- Servidor: localhost-- Tempo de Geração: Jul 26, 2010 as 10:12 AM-- Versão do Servidor: 5.0.45-- Versão do PHP: 4.4.9SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";-- -- Banco de Dados: `boletim`-- -- ---------------------------------------------------------- -- Estrutura da tabela `classe`-- CREATE TABLE `classe` (  `id_classe` varchar(255) NOT NULL,  `disciplina` varchar(255) NOT NULL,  `nome_classe` varchar(255) NOT NULL,  `id` int(255) NOT NULL auto_increment,  PRIMARY KEY  (`id`)) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=24 ;-- -- Extraindo dados da tabela `classe`-- INSERT INTO `classe` (`id_classe`, `disciplina`, `nome_classe`, `id`) VALUES ('024427', '1', 'Teste 2', 11),('024427', '2', 'Teste 2', 12),('024427', '4', 'Teste 2', 13),('024603', '1', 'Eng 1', 14),('024603', '4', 'Eng 1', 15),('024626', '1', 'Eng 2', 16),('024626', '2', 'Eng 2', 17),('024626', '4', 'Eng 2', 18),('141522', '5', '1º modulo de seg', 19),('175740', '1', 'Arquitetura I', 20),('175740', '2', 'Arquitetura I', 21),('175740', '4', 'Arquitetura I', 22),('175740', '6', 'Arquitetura I', 23);
Bom o q preciso é igual a imagem la em cima ....

 

quando abrir a pagina editar.php

 

com o link editar.php?idc=024626

 

onde ele vai pegar o idc q é o id da classe... ver quais disciplinas tem .. e colocar as que tem marcadas ... no checkbox

 

e pegar na outra tabela do bd ... todas as disciplinas que tem cadastrado.. e deixar o checks em branco.. e depois pegar tudo e colocar no bd novamente ...

 

Imagem Postada

 

so issu kkkk to perdidinho ^^

 

vlwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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