Ir para conteúdo
Fórum Script Brasil
  • 0

Excluir registro selecionado


rbiaggio

Pergunta

Pessoal, eu tenho um portlet (Jquery) e inseri um icone de lixeira no content para excluir o conteúdo.

O problema é que não estou conseguindo excluir o conteúdo do portlet que eu seleciono. A exclusão é feita do registro que esta preenchido no campo hostname do formulario. 

Eu quero clicar na lixeira e excluir o conteúdo daquela caixa, não o registro do hostname que esta preenchido.

Alguém consegue ajudar?

Estou anexando o print da página e os códigos.

Página excluir_servidor.php
<?php require_once('Connections/conecta.php'); ?>
<?php 
 //Conexão à base de dados
	$conexao = mysql_connect("localhost","root","123pig") //porta, usuário, senha
	or die("Erro na conexão com banco de dados"); //caso não consiga conectar mostra a mensagem de erro mostrada na conexão		
	$select_db = mysql_select_db("fimss"); //seleciona o banco de dados		
 
   //recebe os parâmetros
    try
    {
    //insere na BD
		
	//processa os dados do formulário
	//Abaixo atribuímos os valores provenientes do formulário pelo método POST
	$id_solic = $_POST["id_solic"];
	$host_servidor = $_POST["host_servidor"];
    $ip_servidor = $_POST["ip_servidor"];
	$so_servidor = $_POST["so_servidor"]; 
    $qtde_processor = $_POST["qtde_processor"];
    $mem_fisica = $_POST["mem_fisica"];
	$func_servidor = $_POST["func_servidor"]; 
    $resp_servidor = $_POST["resp_servidor"];
    $resp_application = $_POST["resp_application"];
	    
    $string_sql = "delete from tb_servidores WHERE (`host_servidor` = '". $host_servidor ."' AND `id_solic` = '". $id_solic ."')"; //String com consulta SQL da inserção
	mysql_query($string_sql,$conexao) or die(mysql_error()); //Realiza a consulta
	mysql_close($conexao); //fecha conexão com banco de dados
 
        //retorna 1 para no sucesso do ajax saber que foi com inserido sucesso
        echo "1";
    } 
    catch (Exception $ex)
    {
        //retorna 0 para no sucesso do ajax saber que foi um erro
        echo "0";
    }
?>
Função Ajax que chama a página excluir_servidor.php
<script type="text/javascript">
//Inicio function Ajax sem refresh na DIV
function excluir_servidor()
{ 
    //dados a enviar, vai buscar os valores dos campos que queremos enviar para a BD
    var dadosajax = {
		'id_solic' : $("#id_solic").val(),
		'host_servidor' : $("#host_servidor").val(),
        'ip_servidor' : $("#ip_servidor").val(),
		'so_servidor' : $("#so_servidor").val(),
		'qtde_processor' : $("#qtde_processor").val(),
		'mem_fisica' : $("#mem_fisica").val(),
		'func_servidor' : $("#func_servidor").val(),
		'resp_servidor' : $("#resp_servidor").val(),
		'resp_application' : $("#resp_application").val()
		
    };
    pageurl = 'excluir_servidor.php?';
    $.ajax({
 
        //url da pagina
        url: pageurl,
        //parametros a passar
        data: dadosajax,
        //tipo: POST ou GET
        type: 'POST',
        //cache
        cache: false,
        //se ocorrer um erro na chamada ajax, retorna este alerta
        //possiveis erros: pagina não existe, erro de codigo na pagina, falha de comunicacao/internet, etc etc etc
        error: function(){
            alert('Erro: Inserir Registo!!');
        },
        //retorna o resultado da pagina para onde enviamos os dados
        success: function(result)
        { 
            //se foi inserido com sucesso
            if($.trim(result) == '1')
            {
				alert("O servidor foi excluido com sucesso!");
            }
            //se foi um erro
            else
            {
                alert("Ocorreu um erro ao excluir o servidor!");
            }
 
        }
    });
}
Página PHP com as DIVS e portlets (Jquery)

<div id="content">	
	<div id="teste">
      <p>
        <?php
					do {  
			?>
			<div class="column"> 
	<div class="portlet">
		<div class="portlet-header"><?=$row_menu_servidor['host_servidor']?>
		</div>
		<div class="portlet-content"><b>Hostname:</b><?=$row_menu_servidor['host_servidor']?><br><b>IP:</b><?=$row_menu_servidor['ip_servidor']?><br>S.O:</b><?=$row_menu_servidor['so_servidor']?><br><b>Qtde Processador:</b><?=$row_menu_servidor['qtde_processor']?><br><b>Memória:</b><?=$row_menu_servidor['mem_fisica']?><br><b>Funcionalidade:</b><?=$row_menu_servidor['func_servidor']?><br><b>Resp. Servidor:</b><?=$row_menu_servidor['resp_servidor']?><br><b>Resp.Aplicação:</b><?=$row_menu_servidor['resp_application']?><br><a href="javascript:excluir_servidor();"><img src="images/lixeira_servidor_2.PNG" id="excluir_servidor"  title="Excluir Servidor" style="margin-left:175px; margin-top:-15px"></a></div>
	</div>
</div>
	  <?php
				} while ($row_menu_servidor = mysql_fetch_assoc($menu_servidor));
					$rows = mysql_num_rows($menu_servidor);
				if($rows > ) {
					mysql_data_seek($menu_servidor, );
					$row_menu_servidor = mysql_fetch_assoc($menu_servidor);
					}				
			?>		
	</div>
	<div id="lixeira_servidor"></div>
	

 

pagina.png

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Pelo que entendi, seu problema não é PHP. É Javascript. 

O erro está aqui:

'id_solic' : $("#id_solic").val(),
'host_servidor' : $("#host_servidor").val(),

Você precisa usar o ID do elemento correto, onde estão os dados do registro a ser apagado. 

Aparentemente, é o JS que está enviando os dados errados ao PHP

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5  e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/


 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Beraldo, apenas para deixar mais claro, não tenho um id dos campos. Eu estou apenas dando um echo conforme abaixo:

        <div class="portlet-content" id_servidor="<?php echo $row_menu_servidor['id_servidor']?>" hostname="<?php echo $row_menu_servidor['host_servidor']?>"><b>Hostname:</b><?=$row_menu_servidor['host_servidor']?><br><b>IP:</b><?=$row_menu_servidor['ip_servidor']?><br><b>S.O:</b><?=$row_menu_servidor['so_servidor']?><br><b>Qtde Processador:</b><?=$row_menu_servidor['qtde_processor']?><br><b>Memória:</b><?=$row_menu_servidor['mem_fisica']?><br><b>Funcionalidade:</b><?=$row_menu_servidor['func_servidor']?><br><b>Resp. Servidor:</b><?=$row_menu_servidor['resp_servidor']?><br><b>Resp.Aplicação:</b><?=$row_menu_servidor['resp_application']?><br><a href="javascript:excluir_servidor();"><img src="images/lixeira_servidor_2.PNG" id="excluir_servidor" name="excluir_servidor"title="Excluir Servidor" style="margin-left:175px; margin-top:-15px"></a></div>

Esse é o código das caixinhas. Eu ainda não consegui pensar em algo que consiga excluir exatamente o registro que quero.
 

Link para o comentário
Compartilhar em outros sites

  • 0

Você quer pegar com Javascript o valor de um campo sem ID? Até dá, mas vai precisar de muito malabarismo pra manipular o DOM.

Adicione IDs nos elementos e será bem mais simples. Dê uma estudada sobre jQuery e manipulação de DOM. Com ID ou class, é tudo mais fácil e simples

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...