estou precisando fazer um esquema para atualizar todos os registros de uma tabela de uma vez só... como se fosse uma planilha msmo...
a tabela não terá mais que 30 registros.. por isso não ficará absurdamente pesado...
estive pesquisando em diversos fóruns, inclusive aqui.. e encontrei um ou outro exemplo... nenhum muito esclarecedor....
cheguei no seguinte desenvolvimento:
<?php
require_once('../Connections/config.php');
mysql_select_db($database_config, $config);
parse_str($_SERVER['QUERY_STRING']);
$pegardobanco = "SELECT * FROM dominios";
$res = mysql_query($pegardobanco);
echo "<form id='form1' name='form1' method='post' action=''>
<table width='400' border='0' align='center'>
<tr>
<th scope='col'>Nome</th>
<th scope='col'>Valor</th>
<th scope='col'>Link</th>
<th scope='col'>Ordem</th>
</tr>";
while ($linha = mysql_fetch_array($res)) {
printf("<tr>
<td><input type='text' name='dm_id[]' value='$linha[dm_id]' /><input type='text' name='dm_nome[]' value='$linha[dm_nome]' size='32' /></td>
<td><input type='text' name='dm_valor[]' value='$linha[dm_valor]' size='32' /></td>
<td><input type='text' name='dm_link[]' value='$linha[dm_link]' size='32' /></td>
<td><input type='text' name='dm_ordem[]' value='$linha[dm_ordem]' size='16' id='dm_ordem' /></td>
</tr>");
}
// para capturar o total de aluno
$totalregistros = $_POST['dm_id'];
echo "<tr>
<td> </td>
<td> </td>
<td><input name='inserir' type='hidden' value='01' /></td>
<td><div align='center'>
<input type='submit' value='Editar dominio' />
</div></td>
</tr>
</table>
</form>";
if (isset($_POST["inserir"]) == "01") {
for($i=0; $i < count($totalregistros); $i++ ) {
$codDominio = array_shift($_POST['dm_id']);
$nomeDominio = array_shift($_POST['dm_nome']);
$valorDominio = array_shift($_POST['dm_valor']);
$linkDominio = array_shift($_POST['dm_link']);
$ordemDominio = array_shift($_POST['dm_ordem']);
// o ideal seria fazer a verificacao para saber se a nota pode ser inserida, mas isso você pode fazer via javascript na hora do cadastro, só não se esqueça de form injection
//$sql = "UPDATE dominios SET (dm_id, dm_nome, dm_valor, dm_link, dm_ordem) values ( ".$codDominio.", '".$nomeDominio."', '".$valorDominio."', '".$linkDominio."', '".$ordemDominio."');
$sql ="UPDATE dominios SET dm_nome = '$nomeDominio', dm_valor = '$valorDominio', dm_link = '$linkDominio', dm_ordem = '$ordemDominio'";
$result1 = mysql_query($sql, $config) or die(mysql_error());
echo "Dados atualizados com sucesso! <br />";
echo "<a href=exibeDominio.php>Voltar</a>";
}
}
acontece que quando abro o script, já dá de cara essa msg "Notice: Undefined index: dm_id in c:\program files\easyphp1-8\www\site\admin\testeexibedominio.php on line 24"
e caso eu execute o submit, ele devolve:
Dados atualizados com sucesso!
VoltarDados atualizados com sucesso!
VoltarDados atualizados com sucesso!
Voltar
só q ele pega apenas o post da última linha e atualiza em todos o registros...
Pergunta
Káliman Borges
Boa tarde pessoal... sou novato aqui no fórum....
e queria uma ajuda de vocês! =D
estou precisando fazer um esquema para atualizar todos os registros de uma tabela de uma vez só... como se fosse uma planilha msmo...
a tabela não terá mais que 30 registros.. por isso não ficará absurdamente pesado...
estive pesquisando em diversos fóruns, inclusive aqui.. e encontrei um ou outro exemplo... nenhum muito esclarecedor....
cheguei no seguinte desenvolvimento:
acontece que quando abro o script, já dá de cara essa msg "Notice: Undefined index: dm_id in c:\program files\easyphp1-8\www\site\admin\testeexibedominio.php on line 24" e caso eu execute o submit, ele devolve:só q ele pega apenas o post da última linha e atualiza em todos o registros...
o q preciso fazer??
agradeço desde já!
Editado por Káliman BorgesLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.