Jump to content

php / js


blasted

Recommended Posts

Boas, estou com um problema em conseguir registar variáveis em php através de funções de javascript, será que alguem me consegue ajudar?

<script type="text/javaScript">
function confirma()
{
	var r=confirm("Deseja continuar?")
	return r
}
function disa_a()
{
	document.search_a.search_que.disabled = false;
}
function disa_b()
{
	document.search_a.search.disabled = false;
             <?php $_SESSION['var_trig'] = 1;?>;
}
function reg_id(var_a)
{
             document.reg_u.sidd.value = var_a;
            <?php $_SESSION['var_trig'] = 0;?>;
}
</script>

O que eu quero, é passar uma variável de javascript para php caso execute uma função, se fosse o contrário seria tudo mais fácil.

Obrigado.

Link to comment
Share on other sites

obrigado pela ajuda ^_^

Sendo assim, vou expor o meu problema de outra forma, talvez assim consiga outro tipo de solução para o problema em si.

Tenho um search no meu backoffice, do qual me sirvo para procurar o id de um cliente, para depois registar clientes. O problema é que a variável de pesquisa está sempre armazenada, e como tal, sempre que entro na página de pesquisa, é me dado um enorme output, sem que tenha sequer clicado para fazer search.

<?php
function procSearch()
{
	global $database;
	switch($_POST['search_em'])
	{
		case 0:
			$q1 = 'code';
			break;
		case 1:
			$q1 = 'nome';
			break;
		case 2:
			$q1 = 'contacto';
			break;
		case 3:
			$q1 = 'nif';
			break;
		case 4:
			$q1 = 'telefone';
			break;
		case 5:
			$q1 = 'fax';
			break;
		case 6:
			$q1 = 'email';
			break;
	}
	$q3 = $_POST['search'];
	switch($_POST['search_que'])
	{
		case 0:
			$q2 = "upper($q1) like upper('$q3%')";
			break;
		case 1:
			$q2 = "upper($q1) like upper('%$q3%')";
			break;
		case 2:
			$q2 = "upper($q1) like upper('%$q3')";
			break;
		case 3:
			$q2 = "upper($q1) = upper('$q3')";
			break;
	}
	$q = "SELECT CODE,NOME FROM ".TBL_USERS." WHERE $q2 AND CLI='T' AND WEB_USERNAME IS NULL AND FIRMA = ".ID_FIRMA; 
	$result = $database->query($q);
	$num_rows = ibase_num_rows($result);
	/* Error occurred, return given name by default */
	if(!$result || ($num_rows < 0))
	{
		return;
	}
	if($num_rows == 0)
	{
		return;
	}
	echo "<table align=\"left\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\" width=\"100%\" >\n";
	echo "<tr><td><b>Username</b></td><td><b>Register</b></td></tr>\n";
	$q = "SELECT CODE,NOME FROM ".TBL_USERS." WHERE $q2 AND CLI='T' AND WEB_USERNAME IS NULL";
	$result = $database->query($q);
	for($i=0; $i<$num_rows; $i++)
	{
		$uname = ibase_fetch_row($result);
		echo "
		<tr>
		<td>$uname[1]</td>
		<td align='center'><input type=\"submit\" id=\"inputsubmit1\" value=\"Register\" onclick=\"reg_id($uname[0])\" /></td>
		</tr>\n";
	}
	echo "</table><br />\n";
}
?>

Como verificam a query é directamente execudada quando entro na página de pesquisa. Com javascript conseguiria executar a query apenas quando chamasse determinada função.

Link to comment
Share on other sites

Pelo que me apercebi, e li na diagonal quando já deveria estar a dormir, mas não sei porquê, deu-me pra ler e responder a vários tópicos, só tens que dar um nome ao "submit" button, e fazer uma verificação

if (isset($_POST["nome_do_submit"]) && $_POST["nome_do_submit"])

{  executar o query...

}

Desta forma, deixa de executar automáticamente o query e somente quando fizeres o submit, este passará a ser executado.

EDIT: Post Fengshui

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.