Ir para conteúdo

POWERED BY:

Arquivado

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

faguinho

Evento Javascript no PHP echo

Recommended Posts

Fala pessoal,

 

Mais uma vez estou aqui para compartilhar minhas dúvidas e problemas com vocês.

 

Seguinte, estou desenvolvendo uma página PHP simples, com uma consulta em um banco de dados mysql, e retornando o resultado em uma tabela. Até ai tudo bem, pois tudo funciona.

Porém tive a idéia de colocar uma coluna a mais na tabela, com o campo chamado MAIS DETALHES, onde eu colocaria um botão (button) em javascript, onde al clicar no botão ele me retornaria um alerta (alert) com os dados trazidos do banco de dados.

 

Beleza, e funciona, mas funciona apenas para mensagens de até 10 caracteres ou números, alguém sabe me dizer como posso fazer isso, ou se existe alguma forma do javascript aceitar mensagens no alerta com infinitos caracteres?

 

Abaixo segue meu código.

 

<?php

$servidor = "localhost"; /*Servidor onde o banco se encontra*/
$usuario = "root"; /*Usuário do banco de dados*/
$senha = "root01"; /*Senha do banco de dados*/
$banco = "monitoring"; /*Banco de dados a ser usado*/

$conexao = mysql_connect($servidor,$usuario,$senha);  /*Conecta no bando de dados*/

mysql_select_db($banco); /*Seleciona o banco a ser usado*/

$res = mysql_query("SELECT IdEventLog, EventTime, IdConexao, EventCode, Message, RequestUrl, Details FROM monitoring ORDER BY idEventLog desc limit 0,5"); /*Executa o comando SQL, no caso para pegar todos os dados do sistema e retorna o valor da consulta em uma variavel ($res)  */

echo "<center><table cellspacing='0' border='1' width='100%' height='100%'>
		<tr>
			<td bgcolor=DarkRed><center><font color='White'><b> Horário </b></font></center></td>
			<td bgcolor=DarkGrey><center><font color='Red'><b>  Id Conexão  </b></font></center></td>
			<td bgcolor=DarkRed><center><font color='White'><b>  Código de Erro  </b></font></center></td>
			<td bgcolor=DarkRed><center><font color='White'><b> Mensagem </b></font></center></td>
			<td bgcolor=DarkRed><center><font color='White'><b> URL Requisitada </b></font></center></td>
			<td bgcolor=DarkRed><center><font color='White'><b> Mais Detalhes </b></font></center></td>
		</tr>";

/*Enquanto houver dados na tabela para serem mostrados será executado tudo que esta dentro do while */
while($escrever=mysql_fetch_array($res)){

/*Escreve cada linha da tabela*/
echo "<tr width='100%' height='100%'>
		<td bgcolor=#FFE4C4>" . $escrever['EventTime'] . "<td bgcolor=#F5F5F5 align='center'>" . $escrever['IdConexao'] . "<td bgcolor=#FFE4C4 align='center'>" . $escrever['EventCode'] . "</td><td bgcolor=#FFE4C4 align='left'>" . $escrever['Message'] . "</td><td bgcolor=#FFE4C4 align='left'>" . $escrever['RequestUrl'] . "</td><td bgcolor=#FFE4C4 align='center'><input type='button' value='+' onClick='return alert(" . $escrever['Message'] . ")'></td></tr>";
//<a href='javascript:ShowPage' title='" . $escrever['Details'] . "'>+</a>
}/*Fim do while*/

echo "</table></center>"; /*fecha a tabela após término de impressão das linhas*/

mysql_close($conexao);
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso ai n tem limite, não seria melhor abrir uma div como um dialogo modal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Shini,

 

Teria como me explicar melhor isso?

Eu sou da área de TI, minha experiência em PHP e desenvolvimento é só de intruso mesmo...rsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Edgard,

 

Esse simple modal é show heim, porém não consegui integrar com o meu código PHP sendo chamado por um ECHO, conforme pode ver no meu código abaixo, onde o botão deve ser chamado no último $escrever.

 

echo "<tr width='100%' height='100%'>
		<td bgcolor=#FFE4C4>" . $escrever['EventTime'] . "</td>
		<td bgcolor=#F5F5F5 align='center'>" . $escrever['IdConexao'] . "</td>
		<td bgcolor=#FFE4C4 align='center'>" . $escrever['EventCode'] . "</td>
		<td bgcolor=#FFE4C4 align='left'>" . $escrever['Message'] . "</td>
		<td bgcolor=#FFE4C4 align='left'>" . $escrever['RequestUrl'] . "</td>
		<td bgcolor=#FFE4C4 align='center'><input type='button' value='+' onClick='return alert(" . $escrever['Message'] . ")'></td>
	</tr>";

Compartilhar este post


Link para o post
Compartilhar em outros sites
$(function(){   
   function SimpleModal(msg){
       var SM = new SimpleModal({"btn_ok":"Alert button"});
       SM.show({
          "title":"Mais detalhes",
          "contents":msg
       });
    }
});
echo "<tr width='100%' height='100%'>
		<td bgcolor=#FFE4C4>" . $escrever['EventTime'] . "</td>
		<td bgcolor=#F5F5F5 align='center'>" . $escrever['IdConexao'] . "</td>
		<td bgcolor=#FFE4C4 align='center'>" . $escrever['EventCode'] . "</td>
		<td bgcolor=#FFE4C4 align='left'>" . $escrever['Message'] . "</td>
		<td bgcolor=#FFE4C4 align='left'>" . $escrever['RequestUrl'] . "</td>
		<td bgcolor=#FFE4C4 align='center'><input type='button' value='+' onClick='SimpleModal(" . $escrever['Message'] . ")'></td>
	</tr>";

 

Não sei se assim irá funcionar, mas tente ai. (:

 

Não esqueça de adicionar o jQuery na página heim....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Edgard,

 

eu tenho que adicionar o código abaixo no meu código PHP?

 

$(function(){  
   function SimpleModal(msg){
       var SM = new SimpleModal({"btn_ok":"Alert button"});
       SM.show({
          "title":"Mais detalhes",
          "contents":msg
       });
    }
});

 

Este outro código eu modifico no meu PHP?

 

echo "<tr width='100%' height='100%'>
		<td bgcolor=#FFE4C4>" . $escrever['EventTime'] . "</td>
		<td bgcolor=#F5F5F5 align='center'>" . $escrever['IdConexao'] . "</td>
		<td bgcolor=#FFE4C4 align='center'>" . $escrever['EventCode'] . "</td>
		<td bgcolor=#FFE4C4 align='left'>" . $escrever['Message'] . "</td>
		<td bgcolor=#FFE4C4 align='left'>" . $escrever['RequestUrl'] . "</td>
		<td bgcolor=#FFE4C4 align='center'><input type='button' value='+' onClick='SimpleModal(" . $escrever['Message'] . ")'></td>
	</tr>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nada feito meu amigo,

 

Adicionei os JQUERYs, mas quando clico no botão, ele não responde nada.



Olha o código alterado.

 

		echo "<tr width='100%' height='100%'>
		<td bgcolor=#FFE4C4>" . $escrever['EventTime'] . "</td>
		<td bgcolor=#F5F5F5 align='center'>" . $escrever['IdConexao'] . "</td>
		<td bgcolor=#FFE4C4 align='center'>" . $escrever['EventCode'] . "</td>
		<td bgcolor=#FFE4C4 align='left'>" . $escrever['Message'] . "</td>
		<td bgcolor=#FFE4C4 align='left'>" . $escrever['RequestUrl'] . "</td>
		<td bgcolor=#FFE4C4 align='center'><input type='button' value='+' onClick='SimpleModal(" . $escrever['EventCode'] . ")'></td>
	</tr>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque

 

SimpleModal(" . $escrever['EventCode'] . ") 

por

 

 

SimpleModal('" . $escrever['EventCode'] . "')

Compartilhar este post


Link para o post
Compartilhar em outros sites

É Edgard,

 

Ta ruim pro meu lado....nada feito ainda.

 

Segue abaixo o código alterado.

 

<input type='button' value='+' onClick=SimpleModal('" . $escrever['EventCode'] . "')>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Edgard,

 

Desculpe a demora, é que hoje o bicho tava pegando no trabalho.

 

Cara impressionante, o evento não funciona no meu Echo....não sei mais o que pode ser.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Edgard,

 

consegui resolver.....olha o que eu fiz no código abaixo. Ao invés de chamar uma jquery, coloquei um script com o onclick chamando direto os dados no banco que eu quero, e também coloquei todas condições sendo chamadas por \"condicao"\ ao invés de plique (').

 

Cara muito obrigado pela ajuda....você é o cara!

 

<td bgcolor=#FFE4C4 align='center'><div class=\"pre-spoiler\">
		<input id=\"xs\" value=\"+\" style=\"margin-center: 50px; padding: 0px; width: 80px; \" onclick=\"if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = '';this.innerText = ''; this.value = 'Ocultar'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.value = '+';}\" type=\"button\">
		</div>
		<div>
		<div class=\"spoiler\" style=\"display: none;\">
		" . $escrever['Details'] . "
		</div>
		</div>
		</td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Edgard,

 

 

Alegria de pobre dura pouco!!!!!!!!!!!!

 

Agora tenho outro problema, com o mesmo evento. Na página principal ele funciona normalmente, porém quando eu utilizo esse evento em uma página de busca minha, ele continua sem mostrar nada.

você como eu posso fazer para que esse script funcione com o sistema de busca?



Edgard,

 

Esquece meu problema....consegui corrigir novamente aqui....hehehehe

 

Eu que estava dando mole, na variável $escrever, tinha que ser $dados.

 

Abração mais uma vez!

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.