Jump to content
Fórum Script Brasil
  • 0

Excluir registro selecionado


rbiaggio

Question

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 to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...