Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom pessoal nesse tutorial vou explicar como fazer edições rapidas usando ajax, o esquema é semelhante
ao editar nome dos topicos do forum, pra quem nunca teve acesso administrativo do forum o esquema é só clicar em cima do campo que você quer editar e automaticamente aparece um campo text para você editar e dar um enter ou tirar o foco desse campo, pronto ja foi editado o campo, simples nao?
entao vamos la
mesmo ajax.js do tutorial anterior:
function ajax() {
};
ajax.prototype.iniciar = function() {
try{
this.xmlhttp = new XMLHttpRequest();
}catch(ee){
try{
this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
this.xmlhttp = false;
}
}
}
return true;
}
ajax.prototype.ocupado = function() {
estadoAtual = this.xmlhttp.readyState;
return (estadoAtual && (estadoAtual < 4));
}
ajax.prototype.processa = function() {
if (this.xmlhttp.readyState == 4 && this.xmlhttp.status == 200) {
return true;
}
}
ajax.prototype.enviar = function(url, metodo, modo) {
if (!this.xmlhttp) {
this.iniciar();
} if(metodo == "GET") {
this.xmlhttp.open("GET", url, modo);
this.xmlhttp.send(null);
} else {
this.xmlhttp.open("POST", url, modo);
this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
this.xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
this.xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
this.xmlhttp.setRequestHeader("Pragma", "no-cache");
this.xmlhttp.send(url);
}
if (this.processa) {
return unescape(this.xmlhttp.responseText.replace(/\+/g," "));
}
}
return false;
}
funcoes.js com funcoes de editar via enter ou quando perder o foco do campo
function teste(url, metodo, modo)
{
var campo = document.getElementById('form1').texto.value;
remoto = new ajax();
envia = remoto.enviar(url + "?" + "texto=" + campo, metodo, modo );
document.getElementById("conteudo").innerHTML = envia;
}
function editar(nn, atual, id_usuario, nome_campo) {
elem = document.getElementById("campo" + nn);
elem.innerHTML = "<input maxlength=\"50\"type=\"text\" value=\"" + atual.innerHTML + "\" size=\"20\" onkeypress=\"return enter(this, event," + nn + "," + id_usuario +", '"+ nome_campo + "')\" onblur=\"return semfoco(this," + nn + "," + id_usuario +", '"+ nome_campo + "')\" />";
elem.firstChild.focus();
}
function enter(campo, evt, idfld, id_usuario, nome_campo) {
evt = (evt) ? evt : window.event;
if (evt.keyCode == 13 && campo.value!="") {
elem = document.getElementById("campo" + idfld);
xmlhttp = new ajax();
xmlhttp.enviar('salvar.php?id=' + id_usuario + "&campo="+ nome_campo + "&valor=" + campo.value, "POST", false);
elem.innerHTML = "<span onclick=\" editar(" + idfld + ", this," + id_usuario +", '"+ nome_campo + "');\">" + campo.value + "</span>";
return false; return true;
}
}
function semfoco(campo, idfld, id_usuario, nome_campo) {
if (campo.value!="") {
elem = document.getElementById("campo" + idfld);
xmlhttp = new ajax();
xmlhttp.enviar('salvar.php?id=' + id_usuario + "&campo="+ nome_campo + "&valor=" + campo.value, "POST", false);
elem.innerHTML = "<span onclick=\" editar(" + idfld + ", this," + id_usuario +", '"+ nome_campo + "');\">"
elem.firstChild.innerHTML = campo.value;
return false;
}
}
lista_usuarios.php:
<html>
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
<script src="ajax.js" type="text/javascript"></script>
<script src="funcoes.js" type="text/javascript"></script>
<title>lista usuarios</title></head>
<body>
<table width="200" border="1" align="center">
<tr>
<th>Nome</th>
<th>Sobrenome</th>
</tr>
<?php
mysql_connect("localhost", "usuario", "senha");
mysql_select_db("banco");
$re = mysql_query("select * from tabela");
$i = 1;
while($l = mysql_fetch_array($re)) {
$id = $l["id"];
$nome = $l["nome"];
$sobrenome = $l["sobrenome"];
echo "<tr>\n";
echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'nome');\">{$nome}</span></span></td>\n";
$i++;
echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'sobrenome');\">{$sobrenome}</span></span></td>
</tr>\n";
$i++;
}
?>
</table>
</body>
</html>
salvar.php
Nao Esqueça de editar as configurações de acesso ao mysql
<?php
$id = $_REQUEST["id"];
$campo = strip_tags(preg_replace("/\s+/", " ", $_REQUEST["campo"]));
$valor = strip_tags(preg_replace("/\s+/", " ", $_REQUEST["valor"]));
mysql_connect("localhost", "root", "");
mysql_select_db("banco");
mysql_query("UPDATE tabela SET $campo = '$valor' WHERE id = $id");
?>
base.sql banco usado no exemplo:
CREATE TABLE tabela (
id int(10) unsigned NOT NULL auto_increment,
nome varchar(40) NOT NULL,
sobrenome varchar(40) NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7;
INSERT INTO tabela VALUES (1, 'Fabyo', 'Guimaraes');
INSERT INTO tabela VALUES (2, 'Joao', 'Martins');
INSERT INTO tabela VALUES (3, 'Clayton', 'Amorin');
INSERT INTO tabela VALUES (4, 'Eliana', 'Cabral');
INSERT INTO tabela VALUES (5, 'Marcio', 'da Silva');
INSERT INTO tabela VALUES (6, 'Pedro', 'Cardoso');
para quem nao intende basta copiar esse base.sql e abrir o phpmyadmin criar um banco de dados novo e clicar em sql e colar o base.sql la e mandar executar e pronto
coloquei em anexo no tutorial os script usados no exemplo
bom olhando esta bem facil entender como fazer, mas se caso tiverem duvidas postem ai
Show, parabéns Fabyo..
Bacana.. tenho um formulario bem grandinho.. e estou usando array pq sao varios campos pra um mesmo id.. (é um sistema de entrada de notas).tem algm exemplo de como salvar todos esses array em ajax?pq ele esta senho postado normal.. clicando em enviar.. ai vai pra outra pagina e tals.grato
posta ai como você ta fazendo e a gente ajuda a adaptar
posta ai como você ta fazendo e a gente ajuda a adaptar
Parte da pagina com os inputs<table border ="0" cellspacing="0" cellpadding="0" class='tab_cont' id='sorteable'> <tr> <td class='tabela_titulo' >N°</td> <td class='tabela_titulo' >Mat.</td> <td class='tabela_titulo' >Aluno</td> <td class='tabela_titulo'>Trabalho 1</td> <td class='tabela_titulo'>Trabalho 2</td> <td class='tabela_titulo'>Trabalho 3</td> <td class='tabela_titulo'>Trabalho 4</td> <td class='tabela_titulo'>Trabalho 5</td> </tr> <tr id='tr289trabalho' bgcolor='#FFFFFF' onMouseOver="mOver('tr289trabalho');" onMouseOut="mOut('tr289trabalho','#FFFFFF')"> <td class='tabela_aluno_n'> 1</td> <td class='tabela_aluno_mat'> 289 </td> <input type='hidden' value="289" name="matricula[]"> <td class='tabela_aluno_nome'> ANA LUÍZA RODRIGUES PEDROSA</td> <td class='tabela_colunas' ><input id='inp289trabalho1' type='text' tabindex='1' name='trabalho1[]' value='' onFocus="inpclick('inp289trabalho1', '#FFFFFF');" onBlur="inpclick('inp289trabalho1', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp289trabalho2' type='text' tabindex='2' name='trabalho2[]' value='' onFocus="inpclick('inp289trabalho2', '#FFFFFF');" onBlur="inpclick('inp289trabalho2', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp289trabalho3' type='text' tabindex='3' name='trabalho3[]' value='' onFocus="inpclick('inp289trabalho3', '#FFFFFF');" onBlur="inpclick('inp289trabalho3', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp289trabalho4' type='text' tabindex='4' name='trabalho4[]' value='' onFocus="inpclick('inp289trabalho4', '#FFFFFF');" onBlur="inpclick('inp289trabalho4', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp289trabalho5' type='text' tabindex='5' name='trabalho5[]' value='' onFocus="inpclick('inp289trabalho5', '#FFFFFF');" onBlur="inpclick('inp289trabalho5', '#FFFFFF');"></td> </tr> <tr id='tr394trabalho' bgcolor='#F1F1F1' onMouseOver="mOver('tr394trabalho');" onMouseOut="mOut('tr394trabalho','#F1F1F1')"> <td class='tabela_aluno_n'> 2</td> <td class='tabela_aluno_mat'> 394 </td> <input type='hidden' value="394" name="matricula[]2"> <td class='tabela_aluno_nome'> ARYAN ROLF SEGOVIA SANTANA</td> <td class='tabela_colunas' ><input id='inp394trabalho1' type='text' tabindex='1' name='trabalho1[]' value='' onFocus="inpclick('inp394trabalho1', '#F1F1F1');" onBlur="inpclick('inp394trabalho1', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp394trabalho2' type='text' tabindex='2' name='trabalho2[]' value='' onFocus="inpclick('inp394trabalho2', '#F1F1F1');" onBlur="inpclick('inp394trabalho2', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp394trabalho3' type='text' tabindex='3' name='trabalho3[]' value='' onFocus="inpclick('inp394trabalho3', '#F1F1F1');" onBlur="inpclick('inp394trabalho3', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp394trabalho4' type='text' tabindex='4' name='trabalho4[]' value='' onFocus="inpclick('inp394trabalho4', '#F1F1F1');" onBlur="inpclick('inp394trabalho4', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp394trabalho5' type='text' tabindex='5' name='trabalho5[]' value='' onFocus="inpclick('inp394trabalho5', '#F1F1F1');" onBlur="inpclick('inp394trabalho5', '#F1F1F1');"></td> </tr> <tr id='tr267trabalho' bgcolor='#FFFFFF' onMouseOver="mOver('tr267trabalho');" onMouseOut="mOut('tr267trabalho','#FFFFFF')"> <td class='tabela_aluno_n'> 3</td> <td class='tabela_aluno_mat'> 267 </td> <input type='hidden' value="267" name="matricula[]2"> <td class='tabela_aluno_nome'> BRUNO MURTA OLIVEIRA DE CASTRO</td> <td class='tabela_colunas' ><input id='inp267trabalho1' type='text' tabindex='1' name='trabalho1[]' value='' onFocus="inpclick('inp267trabalho1', '#FFFFFF');" onBlur="inpclick('inp267trabalho1', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp267trabalho2' type='text' tabindex='2' name='trabalho2[]' value='' onFocus="inpclick('inp267trabalho2', '#FFFFFF');" onBlur="inpclick('inp267trabalho2', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp267trabalho3' type='text' tabindex='3' name='trabalho3[]' value='' onFocus="inpclick('inp267trabalho3', '#FFFFFF');" onBlur="inpclick('inp267trabalho3', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp267trabalho4' type='text' tabindex='4' name='trabalho4[]' value='' onFocus="inpclick('inp267trabalho4', '#FFFFFF');" onBlur="inpclick('inp267trabalho4', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp267trabalho5' type='text' tabindex='5' name='trabalho5[]' value='' onFocus="inpclick('inp267trabalho5', '#FFFFFF');" onBlur="inpclick('inp267trabalho5', '#FFFFFF');"></td> </tr> <tr id='tr175trabalho' bgcolor='#F1F1F1' onMouseOver="mOver('tr175trabalho');" onMouseOut="mOut('tr175trabalho','#F1F1F1')"> <td class='tabela_aluno_n'> 4</td> <td class='tabela_aluno_mat'> 175 </td> <input type='hidden' value="175" name="matricula[]2"> <td class='tabela_aluno_nome'> CAIO SOUZA TAGLIATTE</td> <td class='tabela_colunas' ><input id='inp175trabalho1' type='text' tabindex='1' name='trabalho1[]' value='' onFocus="inpclick('inp175trabalho1', '#F1F1F1');" onBlur="inpclick('inp175trabalho1', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp175trabalho2' type='text' tabindex='2' name='trabalho2[]' value='' onFocus="inpclick('inp175trabalho2', '#F1F1F1');" onBlur="inpclick('inp175trabalho2', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp175trabalho3' type='text' tabindex='3' name='trabalho3[]' value='' onFocus="inpclick('inp175trabalho3', '#F1F1F1');" onBlur="inpclick('inp175trabalho3', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp175trabalho4' type='text' tabindex='4' name='trabalho4[]' value='' onFocus="inpclick('inp175trabalho4', '#F1F1F1');" onBlur="inpclick('inp175trabalho4', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp175trabalho5' type='text' tabindex='5' name='trabalho5[]' value='' onFocus="inpclick('inp175trabalho5', '#F1F1F1');" onBlur="inpclick('inp175trabalho5', '#F1F1F1');"></td> </tr> <tr id='tr260trabalho' bgcolor='#FFFFFF' onMouseOver="mOver('tr260trabalho');" onMouseOut="mOut('tr260trabalho','#FFFFFF')"> <td class='tabela_aluno_n'> 5</td> <td class='tabela_aluno_mat'> 260 </td> <input type='hidden' value="260" name="matricula[]2"> <td class='tabela_aluno_nome'> DÉBORA HARUMI RODRIGUES SANBUICHI</td> <td class='tabela_colunas' ><input id='inp260trabalho1' type='text' tabindex='1' name='trabalho1[]' value='' onFocus="inpclick('inp260trabalho1', '#FFFFFF');" onBlur="inpclick('inp260trabalho1', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp260trabalho2' type='text' tabindex='2' name='trabalho2[]' value='' onFocus="inpclick('inp260trabalho2', '#FFFFFF');" onBlur="inpclick('inp260trabalho2', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp260trabalho3' type='text' tabindex='3' name='trabalho3[]' value='' onFocus="inpclick('inp260trabalho3', '#FFFFFF');" onBlur="inpclick('inp260trabalho3', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp260trabalho4' type='text' tabindex='4' name='trabalho4[]' value='' onFocus="inpclick('inp260trabalho4', '#FFFFFF');" onBlur="inpclick('inp260trabalho4', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp260trabalho5' type='text' tabindex='5' name='trabalho5[]' value='' onFocus="inpclick('inp260trabalho5', '#FFFFFF');" onBlur="inpclick('inp260trabalho5', '#FFFFFF');"></td> </tr> <tr id='tr373trabalho' bgcolor='#F1F1F1' onMouseOver="mOver('tr373trabalho');" onMouseOut="mOut('tr373trabalho','#F1F1F1')"> <td class='tabela_aluno_n'> 6</td> <td class='tabela_aluno_mat'> 373 </td> <input type='hidden' value="373" name="matricula[]2"> <td class='tabela_aluno_nome'> FELIPE GUSMÃO DE SOUZA</td> <td class='tabela_colunas' ><input id='inp373trabalho1' type='text' tabindex='1' name='trabalho1[]' value='' onFocus="inpclick('inp373trabalho1', '#F1F1F1');" onBlur="inpclick('inp373trabalho1', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp373trabalho2' type='text' tabindex='2' name='trabalho2[]' value='' onFocus="inpclick('inp373trabalho2', '#F1F1F1');" onBlur="inpclick('inp373trabalho2', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp373trabalho3' type='text' tabindex='3' name='trabalho3[]' value='' onFocus="inpclick('inp373trabalho3', '#F1F1F1');" onBlur="inpclick('inp373trabalho3', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp373trabalho4' type='text' tabindex='4' name='trabalho4[]' value='' onFocus="inpclick('inp373trabalho4', '#F1F1F1');" onBlur="inpclick('inp373trabalho4', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp373trabalho5' type='text' tabindex='5' name='trabalho5[]' value='' onFocus="inpclick('inp373trabalho5', '#F1F1F1');" onBlur="inpclick('inp373trabalho5', '#F1F1F1');"></td> </tr> <tr id='tr072trabalho' bgcolor='#FFFFFF' onMouseOver="mOver('tr072trabalho');" onMouseOut="mOut('tr072trabalho','#FFFFFF')"> <td class='tabela_aluno_n'> 7</td> <td class='tabela_aluno_mat'> 072 </td> <input type='hidden' value="072" name="matricula[]2"> <td class='tabela_aluno_nome'> FERNANDA GOMES CALMON</td> <td class='tabela_colunas' ><input id='inp072trabalho1' type='text' tabindex='1' name='trabalho1[]' value='' onFocus="inpclick('inp072trabalho1', '#FFFFFF');" onBlur="inpclick('inp072trabalho1', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp072trabalho2' type='text' tabindex='2' name='trabalho2[]' value='' onFocus="inpclick('inp072trabalho2', '#FFFFFF');" onBlur="inpclick('inp072trabalho2', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp072trabalho3' type='text' tabindex='3' name='trabalho3[]' value='' onFocus="inpclick('inp072trabalho3', '#FFFFFF');" onBlur="inpclick('inp072trabalho3', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp072trabalho4' type='text' tabindex='4' name='trabalho4[]' value='' onFocus="inpclick('inp072trabalho4', '#FFFFFF');" onBlur="inpclick('inp072trabalho4', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp072trabalho5' type='text' tabindex='5' name='trabalho5[]' value='' onFocus="inpclick('inp072trabalho5', '#FFFFFF');" onBlur="inpclick('inp072trabalho5', '#FFFFFF');"></td> </tr> <tr id='tr222trabalho' bgcolor='#F1F1F1' onMouseOver="mOver('tr222trabalho');" onMouseOut="mOut('tr222trabalho','#F1F1F1')"> <td class='tabela_aluno_n'> 8</td> <td class='tabela_aluno_mat'> 222 </td> <input type='hidden' value="222" name="matricula[]2"> <td class='tabela_aluno_nome'> GABRIEL ALVES MOURA</td> <td class='tabela_colunas' ><input id='inp222trabalho1' type='text' tabindex='1' name='trabalho1[]' value='' onFocus="inpclick('inp222trabalho1', '#F1F1F1');" onBlur="inpclick('inp222trabalho1', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp222trabalho2' type='text' tabindex='2' name='trabalho2[]' value='' onFocus="inpclick('inp222trabalho2', '#F1F1F1');" onBlur="inpclick('inp222trabalho2', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp222trabalho3' type='text' tabindex='3' name='trabalho3[]' value='' onFocus="inpclick('inp222trabalho3', '#F1F1F1');" onBlur="inpclick('inp222trabalho3', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp222trabalho4' type='text' tabindex='4' name='trabalho4[]' value='' onFocus="inpclick('inp222trabalho4', '#F1F1F1');" onBlur="inpclick('inp222trabalho4', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp222trabalho5' type='text' tabindex='5' name='trabalho5[]' value='' onFocus="inpclick('inp222trabalho5', '#F1F1F1');" onBlur="inpclick('inp222trabalho5', '#F1F1F1');"></td> </tr> <tr id='tr487trabalho' bgcolor='#FFFFFF' onMouseOver="mOver('tr487trabalho');" onMouseOut="mOut('tr487trabalho','#FFFFFF')"> <td class='tabela_aluno_n'> 9</td> <td class='tabela_aluno_mat'> 487 </td> <input type='hidden' value="487" name="matricula[]2"> <td class='tabela_aluno_nome'> GABRIEL CAMPOS MARTINS DE OLIVEIRA</td> <td class='tabela_colunas' ><input id='inp487trabalho1' type='text' tabindex='1' name='trabalho1[]' value='' onFocus="inpclick('inp487trabalho1', '#FFFFFF');" onBlur="inpclick('inp487trabalho1', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp487trabalho2' type='text' tabindex='2' name='trabalho2[]' value='' onFocus="inpclick('inp487trabalho2', '#FFFFFF');" onBlur="inpclick('inp487trabalho2', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp487trabalho3' type='text' tabindex='3' name='trabalho3[]' value='' onFocus="inpclick('inp487trabalho3', '#FFFFFF');" onBlur="inpclick('inp487trabalho3', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp487trabalho4' type='text' tabindex='4' name='trabalho4[]' value='' onFocus="inpclick('inp487trabalho4', '#FFFFFF');" onBlur="inpclick('inp487trabalho4', '#FFFFFF');"></td> <td class='tabela_colunas' ><input id='inp487trabalho5' type='text' tabindex='5' name='trabalho5[]' value='' onFocus="inpclick('inp487trabalho5', '#FFFFFF');" onBlur="inpclick('inp487trabalho5', '#FFFFFF');"></td> </tr> <tr id='tr478trabalho' bgcolor='#F1F1F1' onMouseOver="mOver('tr478trabalho');" onMouseOut="mOut('tr478trabalho','#F1F1F1')"> <td class='tabela_aluno_n'> 10</td> <td class='tabela_aluno_mat'> 478 </td> <input type='hidden' value="478" name="matricula[]2"> <td class='tabela_aluno_nome'> GABRIEL DE MOURA PIOLA</td> <td class='tabela_colunas' ><input id='inp478trabalho1' type='text' tabindex='1' name='trabalho1[]' value='' onFocus="inpclick('inp478trabalho1', '#F1F1F1');" onBlur="inpclick('inp478trabalho1', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp478trabalho2' type='text' tabindex='2' name='trabalho2[]' value='' onFocus="inpclick('inp478trabalho2', '#F1F1F1');" onBlur="inpclick('inp478trabalho2', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp478trabalho3' type='text' tabindex='3' name='trabalho3[]' value='' onFocus="inpclick('inp478trabalho3', '#F1F1F1');" onBlur="inpclick('inp478trabalho3', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp478trabalho4' type='text' tabindex='4' name='trabalho4[]' value='' onFocus="inpclick('inp478trabalho4', '#F1F1F1');" onBlur="inpclick('inp478trabalho4', '#F1F1F1');"></td> <td class='tabela_colunas' ><input id='inp478trabalho5' type='text' tabindex='5' name='trabalho5[]' value='' onFocus="inpclick('inp478trabalho5', '#F1F1F1');" onBlur="inpclick('inp478trabalho5', '#F1F1F1');"></td> </tr></table>pagina q recebe os dados$x = count($mat); for($i = 0; $i < $x; $i++) { $matr = $matricula[$i]; $t1 = verifica_nota($trabalho1[$i]); $t2 = verifica_nota($trabalho2[$i]); $t3 = verifica_nota($trabalho3[$i]); $t4 = verifica_nota($trabalho4[$i]); $t5 = verifica_nota($trabalho5[$i]); $e1 = verifica_nota($exercicio1[$i]); $e2 = verifica_nota($exercicio2[$i]); $e3 = verifica_nota($exercicio3[$i]); $e4 = verifica_nota($exercicio4[$i]); $e5 = verifica_nota($exercicio5[$i]); $d1 = verifica_nota($disciplina1[$i]); $d2 = verifica_nota($disciplina2[$i]); $d3 = verifica_nota($disciplina3[$i]); $d4 = verifica_nota($disciplina4[$i]); $d5 = verifica_nota($disciplina5[$i]); $p1 = verifica_nota($pontoextra1[$i]); $p2 = verifica_nota($pontoextra2[$i]); $p3 = verifica_nota($pontoextra3[$i]); $p4 = verifica_nota($pontoextra4[$i]); $p5 = verifica_nota($pontoextra5[$i]); $pr1 = verifica_nota($provas1[$i]); // Se Grau=1 ou se recuperacao Prova_Mensal ; se Grau=2 Prova_Bimestral $pr2 = verifica_nota($provas2[$i]); // Se Grau=1 Prova_Bimestral; se Grau=2 Conselho; se recuperação Conselho $pr3 = verifica_nota($provas3[$i]); // Se Grau=1 Conselho ; se Grau= - - - - - - - - $salva_notas_sql = "REPLACE INTO ".$csdportalDB->prefix('professores_notas')." (matricula,bimestre,ndiscip,gtst, grau, t1, t2, t3, t4, t5, e1, e2, e3, e4, e5, d1, d2, d3, d4, d5, pe1, pe2, pe3, pe4, pe5, prova_mensal, prova_bimestral, conselho, faltas) values ('$matr', '$bimestre','$ndisciplina','$gtst', $grau, $t1, $t2, $t3, $t4, $t5, $e1, $e2, $e3, $e4, $e5, $d1, $d2, $d3, $d4, $d5, $p1, $p2, $p3, $p4, $p5, $pr1, $pr2, $pr3, $falta)";
entao como você que fez e ta fazendo fica dificil eu editar pra você ainda mais que nao tem como eu testar, porque você nao tenta fazer as adaptações e se der erro você posta ai que a gente tenta resolver ,beleza?
Como eu adiciono somente a função de quando perder o foco para o pessoal não precisar ficar dando enter
<?php$busca = "SELECT * FROM fornecedores";?><?php$total_reg = "1"; // número de registros por página?><?php$pagina = $_GET["pagina"];if (!$pagina) { $pc = "1";} else { $pc = $pagina;}?><?php$inicio = $pc - 1;$inicio = $inicio * $total_reg;?><?php$limite = mysql_query("$busca LIMIT $inicio,$total_reg");$todos = mysql_query("$busca");$tr = mysql_num_rows($todos); // verifica o número total de registros$tp = $tr / $total_reg; // verifica o número total de páginas$anterior = $pc -1;$proximo = $pc +1;if ($pc>1) { echo " <a href='?pagina=$anterior'><- Anterior</a> ";}echo "|";if ($pc<$tp) { echo " <a href='?pagina=$proximo'>Próxima -></a>";}echo "<br>";while ($dados = mysql_fetch_array($limite)) {$nome = $dados["nome"];$firma = $dados["firma"];$tel1 = $dados["telres"];$tel2 = $dados["teltrab"];$tel3 = $dados["cel"];$tel4 = $dados["outros"];$end = $dados["end"];$obs = $dados["obs"];echo "<table border='1' width='100%' cellspacing='0' cellpadding='0' bgcolor='#FFFFFF'>";echo " <tr>";echo " <td width='100%'>";echo " <p align='center'><b><font size='5'>FORNECEDORES</font></b></td>";echo " </tr>";echo "</table>";echo "<form method='POST' action='./eng/cadastra.php'>";echo " <table border='0' width='90%'>";echo " <tr>";echo " <td width='50%'>Nome</td>";echo " <td width='50%'>Firma ou Profissão</td>";echo " </tr>";echo " <tr>";echo " <td width='50%'><input type='text' value='$nome' name='T1' size='50'></td>";echo " <td width='50%'><input type='text' value='$firma' name='T2' size='50'></td>";echo " </tr>";echo " </table>";echo " <table border='0' width='90%'>";echo " <tr>";echo " <td width='25%'>Telefone Residêncial</td>";echo " <td width='25%'>Telefone Comercial</td>";echo " <td width='25%'>Celular</td>";echo " <td width='25%'>Outros</td>";echo " </tr>";echo " <tr>";echo " <td width='25%'><input type='text' value='$tel1' name='T3' size='20'></td>";echo " <td width='25%'><input type='text' value='$tel2' name='T4' size='20'></td>";echo " <td width='25%'><input type='text' value='$tel3' name='T5' size='20'></td>";echo " <td width='25%'><input type='text' value='$tel4' name='T6' size='20'></td>";echo " </tr>";echo " </table>";echo " <table border='0' width='100%'>";echo " <tr>";echo " <td width='100%'>Endereço</td>";echo " </tr>";echo " <tr>";echo " <td width='100%'><input type='text' value='$end' name='T7' size='120'></td>";echo " </tr>";echo " <tr>";echo " <td width='100%'>Observações</td>";echo " </tr>";echo " <tr>";echo " <td width='100%'><textarea rows='5' name='T8' value='$obs' cols='91'></textarea></td>";echo " </tr>";echo " </table>";echo " <p align='center'><input type='submit' value='Submeter' name='B1'><input type='reset' value='Redefinir' name='B2'></p>";echo "</form>";}?>mas ja esta as 2 funções se nao quiser apertar enter só trocar de campo ou apertar o botao do mouse fora
mas ja esta as 2 funções se nao quiser apertar enter só trocar de campo ou apertar o botao do mouse fora
<?php include_once "cab.php"; ?><script src="ajax.js" type="text/javascript"></script><script src="funcoes.js" type="text/javascript"></script><?php include_once "./eng/conexao.php" ?><?php//Agora vamos criar a cláusula SQL que deve ser executada.$busca = "SELECT * FROM fornecedores";?><?php//Vamos ao trabalho... Especifique o total de registros a serem exibidos por página:$total_reg = "1"; // número de registros por página?><?php//Se a página não for especificada a variável "pagina" tomará o valor 1 (isso evita de exibir a página 0 de início)$pagina = $_GET["pagina"];if (!$pagina) { $pc = "1";} else { $pc = $pagina;}?><?php//Vamos determinar o valor inicial das buscas limitadas.$inicio = $pc - 1;$inicio = $inicio * $total_reg;?><?php//Vamos selecionar os dados e exibir a paginação.$limite = mysql_query("$busca LIMIT $inicio,$total_reg");$todos = mysql_query("$busca");$tr = mysql_num_rows($todos); // verifica o número total de registros$tp = $tr / $total_reg; // verifica o número total de páginas// agora vamos criar os botões "Anterior e próximo"$anterior = $pc -1;$proximo = $pc +1;if ($pc>1) { echo " <a href='?pagina=$anterior'><- Anterior</a> ";}echo "|";if ($pc<$tp) { echo " <a href='?pagina=$proximo'>Próxima -></a>";}echo "<br>";$i = 1;// vamos criar a visualizaçãowhile ($dados = mysql_fetch_array($limite)) {$id = $dados["id"];$nome = $dados["nome"];$firma = $dados["firma"];$tel1 = $dados["telres"];$tel2 = $dados["teltrab"];$tel3 = $dados["cel"];$tel4 = $dados["outros"];$end = $dados["end"];$obs = $dados["obs"];echo "<table border='1' width='100%' cellspacing='0' cellpadding='0' bgcolor='#FFFFFF'>";echo " <tr>";echo " <td width='100%'>";echo " <p align='center'><b><font size='5'>FORNECEDORES</font></b></td>";echo " </tr>";echo "</table>";echo " <table border='0' width='90%'>";echo " <tr>";echo " <td width='50%'>Nome</td>";echo " <td width='50%'>Firma ou Profissão</td>";echo " </tr>";echo " <tr>";echo " <td width='50%'><input type='text' id=\"campo$i\" onclick=\" editar($i, this, $id, 'nome');\" value='{$nome}' name='T2' size='50'></td>";$i++;echo " <td width='50%'><input type='text' id=\"campo$i\" onclick=\" editar($i, this, $id, 'firma');\" value='{$firma}' name='T2' size='50'></td>";$i++;echo " </tr>";echo " </table>";echo " <table border='0' width='90%'>";echo " <tr>";echo " <td width='25%'>Telefone Residêncial</td>";echo " <td width='25%'>Telefone Comercial</td>";echo " <td width='25%'>Celular</td>";echo " <td width='25%'>Outros</td>";echo " </tr>";echo " <tr>";echo " <td width='25%'><input type='text' value='$tel1' name='T3' size='20'></td>";echo " <td width='25%'><input type='text' value='$tel2' name='T4' size='20'></td>";echo " <td width='25%'><input type='text' value='$tel3' name='T5' size='20'></td>";echo " <td width='25%'><input type='text' value='$tel4' name='T6' size='20'></td>";echo " </tr>";echo " </table>";echo " <table border='0' width='100%'>";echo " <tr>";echo " <td width='100%'>Endereço</td>";echo " </tr>";echo " <tr>";echo " <td width='100%'><textarea rows='3' name='T7' cols='91'>$end</textarea></td>";echo " </tr>";echo " <tr>";echo " <td width='100%'>Observações</td>";echo " </tr>";echo " <tr>";echo " <td width='100%'><textarea rows='5' name='T8' cols='91'>$obs</textarea></td>";echo " </tr>";echo " </table>";}Tentei usar nesse formulario e não adiantou simplesmente não faz nadavocê ja tentou pegar o exemplo sem auterar nada e testar pra ver?
você ja tentou pegar o exemplo sem auterar nada e testar pra ver?
Tentei sim funcionou, mais quando tento trasformar em input ele nao funciona
estranho porque esse exemplo foi testado no IE firefox e Opera
e varios usuarios testaram e todos disseram que funcionou normal
e eu uso um sistema aqui na empresa com 35 micros em rede e todos os micros nunca deu pau nenhum
deve ser algum erro na sua maquina
estranho porque esse exemplo foi testado no IE firefox e Operae varios usuarios testaram e todos disseram que funcionou normale eu uso um sistema aqui na empresa com 35 micros em rede e todos os micros nunca deu pau nenhumdeve ser algum erro na sua maquina
Desculpa eu acho que me expressei mal,seu script funciona legal, só que quando falei em transformar ele em input era assim!!!echo " <td width='50%'><input type='text' id=\"campo$i\" onclick=\" editar($i, this, $id, 'nome');\" value='{$nome}' name='T2' size='50'></td>";tipo eu queria já deixar ele como input!!! =)
mas nao entendi o que você quer fazer se você quer que ja estaja em input nao precisa transformar nada é só salvar
Olá...Olha só...se o usuário não tinha nada cadastrado na tabela, não abre pra edição, claro...só que tb não consegue inserir nenhum dado. P. ex. Se ele mudou de endereço...morava em casa e agora é apto..não tinha preenchido o campo "complemento"...agora não consegue mais colocar o nro do apto neste campo...como faço pra tornar este campo editável, mesmo sem ter dados anteriormente.Tb não dá pra apagar o dado do campo. O inverso p. ex. Ele morava em apto e agora mora em casa...não consegue tirar o nro do apto do campo...você apaga mas ele não grava no bd
posta ai como você ta fazendo
posta ai como você ta fazendo
Basicamente como você postou. Mudei quase nada. Só que coloquei todos os dados do cadastro e fiz mostrar os dados do usuário pelo login. Até aí tudo bem. Pra editar tb funciona legal. Só não consigo acrescentar um dado que não havia sido informado qdo do cadastro do usuário.funcoes.jsfunction teste(url, metodo, modo){ var campo = document.getElementById('form1').texto.value; remoto = new ajax(); envia = remoto.enviar(url + "?" + "texto=" + campo, metodo, modo ); document.getElementById("conteudo").innerHTML = envia;}function editar(nn, atual, id_usuario, nome_campo) { elem = document.getElementById("campo" + nn); elem.innerHTML = "<input maxlength=\"50\"type=\"text\" value=\"" + atual.innerHTML + "\" size=\"20\" onkeypress=\"return enter(this, event," + nn + "," + id_usuario +", '"+ nome_campo + "')\" onblur=\"return semfoco(this," + nn + "," + id_usuario +", '"+ nome_campo + "')\" />"; elem.firstChild.focus();}function enter(campo, evt, idfld, id_usuario, nome_campo) { evt = (evt) ? evt : window.event; if (evt.keyCode == 13 && campo.value!="") { elem = document.getElementById("campo" + idfld); xmlhttp = new ajax(); xmlhttp.enviar('salvar.php?id=' + id_usuario + "&campo="+ nome_campo + "&valor=" + campo.value, "POST", false); elem.innerHTML = "<span onclick=\" editar(" + idfld + ", this," + id_usuario +", '"+ nome_campo + "');\">" + campo.value + "</span>"; return false; } else { return true; }}function semfoco(campo, idfld, id_usuario, nome_campo) { if (campo.value!="") { elem = document.getElementById("campo" + idfld); xmlhttp = new ajax(); xmlhttp.enviar('salvar.php?id=' + id_usuario + "&campo="+ nome_campo + "&valor=" + campo.value, "POST", false); elem.innerHTML = "<span onclick=\" editar(" + idfld + ", this," + id_usuario +", '"+ nome_campo + "');\">" elem.firstChild.innerHTML = campo.value; return false; }} ajax.jsfunction ajax() {};ajax.prototype.iniciar = function() { try{ this.xmlhttp = new XMLHttpRequest(); }catch(ee){ try{ this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ this.xmlhttp = false; } } } return true;}ajax.prototype.ocupado = function() { estadoAtual = this.xmlhttp.readyState; return (estadoAtual && (estadoAtual < 4));}ajax.prototype.processa = function() { if (this.xmlhttp.readyState == 4 && this.xmlhttp.status == 200) { return true; }}ajax.prototype.enviar = function(url, metodo, modo) { if (!this.xmlhttp) { this.iniciar(); } if (!this.ocupado()) { if(metodo == "GET") { this.xmlhttp.open("GET", url, modo); this.xmlhttp.send(null); } else { this.xmlhttp.open("POST", url, modo); this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); this.xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate"); this.xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0"); this.xmlhttp.setRequestHeader("Pragma", "no-cache"); this.xmlhttp.send(url); } if (this.processa) { return unescape(this.xmlhttp.responseText.replace(/\+/g," ")); } } return false;} dados_usuario.php<?php include '../protegido.php';?><HTML><HEAD><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" /><script src="../js/ajax.js" type="text/javascript"></script><script src="../js/funcoes.js" type="text/javascript"></script><title>lista usuarios</title></head><BODY leftMargin=15 topMargin=0 marginheight="0" marginwidth="0"><table align="center" width="760" border="1"> <tr> <td> <?php include 'ttopo.php'; ?> </td> <tr> <td align="right"> <?php echo "<font color = '#CC0000'>Benvindo ".$login." </font>"."<a href = 'sair.php' link style='color:#CC0000'>Sair</a>"; ?> </td> </tr> <tr> <td><table border="1"> <tr> <td width="25%" valign="top"> <ul> <li><a href="dados_usuario.php">Informações Cadastrais</a></li> <li><a href="#">Showroom</a></li> <ul> <li><a href="#">Lista de Produtos</a></li> <li><a href="#">Insira Novo Produto</a></li> </td> <td> <table border="1" align="left" cellpadding="3" cellspacing="5"> <tr> <td colspan="5" align="center">Para alterar seus dados, basta clicar em cima do campo, fazer as modificações necessárias, e pressionar "enter" ou "tab".</td> </tr><?phpinclude '../conexao.php';$re = mysql_query("select * from usuarios where login = '$login'");$i = 1;while($l = mysql_fetch_array($re)) { $id = $l["id_usuarios"]; $usuario = $l["usuario"]; $login = $l["login"]; $senha = $l["senha"]; $cnpj = $l["cnpj"]; $contato = $l["contato"]; $endereco = $l["endereco"]; $bairro = $l["bairro"]; $complemento = $l["complemento"]; $cidade = $l["cidade"]; $uf = $l["uf"]; $cep = $l["cep"]; $ddd = $l["ddd"]; $telefone1 = $l["telefone1"]; $telefone2 = $l["telefone2"]; $fax = $l["fax"]; $email = $l["email"]; echo "<tr>\n"; echo "<td>Usuário: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'usuario');\">{$usuario}</span></span></td>"; $i++; echo "<td> </td>"; echo "<td>Login: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'login');\">{$login}</span></span></td></tr>\n"; $i++; echo "<tr>\n"; echo "<td>Senha: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'senha');\">{$senha}</span></span></td>"; $i++; echo "<td> </td>"; echo "<td>CNPJ: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'cnpj');\">{$cnpj}</span></span></td></tr>\n"; $i++; echo "<tr>\n"; echo "<td>Contato: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'contato');\">{$contato}</span></span></td>"; $i++; echo "<td> </td>"; echo "<td>Endereço: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'endereço');\">{$endereço}</span></span></td></tr>\n"; $i++; echo "<tr>\n"; echo "<td>Bairro: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'bairro');\">{$bairro}</span></span></td>"; $i++; echo "<td> </td>"; echo "<td>Complemento: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'complemento');\">{$complemento}</span></span></td></tr>\n"; $i++; echo "<tr>\n"; echo "<td>Cidade: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'cidade');\">{$cidade}</span></span></td>"; $i++; echo "<td> </td>"; echo "<td>UF: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'uf');\">{$uf}</span></span></td></tr>\n"; $i++; echo "<tr>\n"; echo "<td>CEP: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'cep');\">{$cep}</span></span></td>"; $i++; echo "<td> </td>"; echo "<td>DDD: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'ddd');\">{$ddd}</span></span></td></tr>\n"; $i++; echo "<tr>\n"; echo "<td>Telefone: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'telefone1');\">{$telefone1}</span></span></td>"; $i++; echo "<td> </td>"; echo "<td>Telefone: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'telefone2');\">{$telefone2}</span></span></td></tr>\n"; $i++; echo "<tr>\n"; echo "<td>Fax: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'fax');\">{$fax}</span></span></td>"; $i++; echo "<td> </td>"; echo "<td>email: </td>"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $id, 'email');\">{$email}</span></span></td></tr>\n"; $i++;} ?> </table> </td> </tr></table> </td> </tr> </tr></table></BODY></HTML>Cara muito legal mesmo
Fabyo,
Excelente seu script, mas quando tentei modifica-lo para minha base de dados, parou de atualizar.
Segue a estrutura da minha tabela:
-- -- Estrutura da tabela pagina-- CREATE TABLE pagina ( CD_PAG smallint(5) unsigned NOT NULL auto_increment, ID_CD_PAG smallint(5) unsigned NOT NULL default '0', TIP_PAG tinyint(3) unsigned NOT NULL default '0', NM_ARQ_PAG varchar(255) NOT NULL default '', LCL_ARQ_PAG varchar(255) NOT NULL default '', TIT_PAG varchar(45) NOT NULL default '', TX_DCR_PAG text NOT NULL, CD_EST_PAG tinyint(3) unsigned NOT NULL default '0', PRIMARY KEY (CD_PAG)) TYPE=MyISAM PACK_KEYS=0 AUTO_INCREMENT=18;-- -- Extraindo dados da tabela pagina-- INSERT INTO pagina VALUES (1, 1, 0, 'inicial.php', 'modulos/home', 'Home', 'Página inicial do sistema', 1);INSERT INTO pagina VALUES (2, 2, 0, 'atividade_inicial.php', 'modulos/atividade', 'Atividades', 'Página de atividades', 1);INSERT INTO pagina VALUES (3, 3, 0, 'federacao_inicial.php', 'modulos/federacao', 'Federação', 'Página da federação', 1);INSERT INTO pagina VALUES (4, 4, 0, 'clube_inicial.php', 'modulos/clube', 'Clube', 'Página do clube', 1);INSERT INTO pagina VALUES (5, 5, 0, 'atleta_inicial.php', 'modulos/atleta', 'Atleta', 'Página do atleta', 1);INSERT INTO pagina VALUES (6, 6, 0, 'links_inicial.php', 'modulos/links', 'Links', 'Página de links', 1);INSERT INTO pagina VALUES (7, 7, 0, 'contato_inicial.php', 'modulos/contatos', 'Contatos', 'Página de contatos', 1);INSERT INTO pagina VALUES (8, 8, 0, 'admin_inicial.php', 'modulos/admin', 'Admin', 'Página do administrador', 1);INSERT INTO pagina VALUES (9, 8, 1, 'admin_pagina_inicial.php', 'modulos/admin', 'Página', 'Administração de páginas', 1);INSERT INTO pagina VALUES (10, 8, 2, 'admin_pagina_cadastro.php', 'modulos/admin', 'Cadastro', 'Cadastro de páginas', 1);INSERT INTO pagina VALUES (11, 8, 2, 'admin_pagina_alteracao.php', 'modulos/admin', 'Alteração', 'Alteração de páginas', 1);INSERT INTO pagina VALUES (12, 8, 1, 'admin_usuario_inicial.php', 'modulos/admin', 'Usuários', 'Página de usuários', 1);INSERT INTO pagina VALUES (13, 1, 1, 'home_objetivos.php', 'modulos/home', 'Objetivos', 'mkgjg', 1);INSERT INTO pagina VALUES (14, 1, 1, 'home_quem_somos.php', 'modulos/home', 'Quem somos', 'eatysrtuhyrat', 1);INSERT INTO pagina VALUES (15, 2, 1, 'atividade_cadastro.php', 'modulos/atividade', 'Cadastro', 'jhgkuhg', 1);INSERT INTO pagina VALUES (16, 2, 1, 'atividade_alteracao.php', 'modulos/atividade', 'Alteração', 'kjhgkl', 1);INSERT INTO pagina VALUES (17, 2, 1, 'atividade_confirmacao.php', 'modulos/atividade', 'Confirmação', '~çlk', 1);
Na exibição da tabela, conforme seu exemplo, fiz o seguinte:
/* inclusive estou utilizando a sua classe de conexão com o bd */ $con = new ComandoSql();$result = $con->Executar("SELECT * from pagina order by ID_CD_PAG, TIP_PAG , CD_PAG");$i = 1;while($l = mysql_fetch_array($result)) {$cd_pag = $l["CD_PAG"];$id_cd_pag = $l["ID_CD_PAG"];$tip_pag = $l["TIP_PAG"];$nm_arq_pag = $l["NM_ARQ_PAG"];$lcl_arq_pag = $l["LCL_ARQ_PAG"];$tit_pag = $l["TIT_PAG"];$tx_dcr_pag = $l["TX_DCR_PAG"];$cd_est_pag = $l["CD_EST_PAG"]; echo "<tr>\n"; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $cd_pag, 'ID_CD_PAG');\">{$id_cd_pag}</span></span></td>\n"; $i++; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $cd_pag, 'TIP_PAG');\">{$tip_pag}</span></span></td>\n"; $i++; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $cd_pag, 'NM_ARQ_PAG');\">{$nm_arq_pag}</span></span></td>\n"; $i++; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $cd_pag, 'LCL_ARQ_PAG');\">{$lcl_arq_pag}</span></span></td>\n"; $i++; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $cd_pag, 'TIT_PAG');\">{$tit_pag}</span></span></td>\n"; $i++; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $cd_pag, 'TX_DCR_PAG');\">{$tx_dcr_pag}</span></span></td>\n"; $i++; echo "\t<td><span id=\"campo$i\"><span onclick=\" editar($i, this, $cd_pag, 'CD_EST_PAG');\">{$cd_est_pag}</span></span></td></tr>\n"; $i++;}
O código de atualização ficou desta forma:
<?php$id = $_REQUEST["CD_PAG"];$campo = strip_tags(preg_replace("/\s+/", " ", $_REQUEST["campo"]));$valor = strip_tags(preg_replace("/\s+/", " ", $_REQUEST["valor"]));$con = new ComandoSql();$result = $con->Executar("UPDATE pagina SET $campo = $valor WHERE id = $id");?>
O restante dos módulos, os js, não foram alterados.
Desta forma os dados são mostrados, a atualização fica disponível, mas quando altero os valores de alguma coluna, a tabela não sofre alteração.
Oq posso estar fazendo de errado???
Será que você pode me ajudar?
Obrigado
Estou tendo porblemas com caracteres especiais tipo 1ª Série, 2ª Feira, Saguão...Alguem pode me ajudar
Marcelo Micheletti
tenta assim:
$result = $con->Executar("UPDATE pagina SET $campo = '$valor' WHERE id = $id");
coloquei as aspas simples(apostrofos)
andre.gadonski
explica melhor seu problema
Olha só eu tenho os seguinte valores 1ª série 2ª série 3ª série Depois que eu edito eles, ficam da seguinte maneira 1ª série 2ª série 3ª série
hehe já to usandomas mesmo assim tá com problemas
usou o esquema do urlencode?
Não... não usei ....do mesmo geito que está o script no forum, eu fiz no meu código....
Sem comentários .... http://forum.imasters.com.br/public/style_emoticons/default/clap.gif/>
Parabéns.