[RESOLVIDO] - Passar variável js para variável sc

Bom dia Pessoal…

Eu tenho uma função js que esta executando normalmente, porem nesta função eu tenho uma variável chamada X e queria colocar o valor dela em uma variável local do scriptcase.

function mudavaluetr(objeto,i) {
//aqui eu pego o valor da select e jogo em x
var x = (objeto.value || objeto.options[objeto.selectedIndex].value);

	<?
	[b]$variaveldoscriptcase = ?>x<?; //aqui eu quero jogar o valor de x que é uma variável js dentro da variável local $variaveldoscriptcase[/b]
	/**
		 * Selecting a field from another table
		 */

		// Check for record
		$check_sql = "SELECT convites_cotacao_idconvite"
		   . " FROM produto_cotado"
		   . " WHERE idproduto_cotado = '" . $variaveldoscriptcase . "'";
		sc_lookup(rs, $check_sql);

		if (isset({rs[0][0]})){     // Row found
			
		}else{     // No row found
		
		}
	?>
	
}

Envia antes por AJAX, dai joga la em uma global no SC, e usa na proxima chamada

Desculpe minha ignorância mas não consegui entende, vou tentar me explicar melhor: Estou fazendo um html no blanck e leve eu criei a função:

function mudavaluetr(objeto,i) {
//aqui eu pego o valor da select e jogo em x
var x = (objeto.value || objeto.options[objeto.selectedIndex].value);

  <?
  $variaveldoscriptcase = ?>x<?; //aqui eu quero jogar o valor de x que é uma variável js dentro da variável local $variaveldoscriptcase
  /**
      * Selecting a field from another table
      */

     // Check for record
     $check_sql = "SELECT convites_cotacao_idconvite"
        . " FROM produto_cotado"
        . " WHERE idproduto_cotado = '" . $variaveldoscriptcase . "'";
     sc_lookup(rs, $check_sql);

     if (isset({rs[0][0]})){     // Row found
        
     }else{     // No row found
     
     }
  ?>

}

esta função é chamada quando eu clico no campo select da minha pagina , assim ele passa o valor da select para a função, ai eu jogo este valor para variável X e neste momento eu tenho que colocar ela em uma variável do scriptcase para aproveitar ela em minha consulta do banco.
Na minha pagina eu tenho 10 selects “” cada uma passando um valor diferente para a mesma função.

direto do Cliente não tem como jogar no servidor a variável.

em vez de fazer via javascript faça via AJAX. dai tu consegue enviar paremetros

Facinho no seu código javascript adiciona isso:
document.write(x);

Depois pega no php:

<?php echo $x; ?>

Vou postar o codigo aqui do meu blank

[idcotacao]=14;

?>

Gerar pedido
	function mudavaluetr(objeto,i) {
		//aqui eu pego o valor da select e jogo em x
		var x = (objeto.value || objeto.options[objeto.selectedIndex].value);

		//aqui eu pego o id da minha tr e jogo na variavel minhatr
		var minhatr = document.getElementById(i);
		
		[b]//aqui tenho que colocar x em uma variavel do sc[/b]
		
		<?
		/**
			 * Selecting a field from another table
			 */
			//
			
			[b]//ou aqui eu pego o valor do x e coloco na variavel do sc[/b]
			$variavelphp_local = echo '<script>document.write(x);</script>';
			
			// Check for record
			$check_sql = "SELECT convites_cotacao_idconvite"
			   . " FROM produto_cotado"
			   . " WHERE idproduto_cotado = '" . $variavelphp_local . "'";
			sc_lookup(rs, $check_sql);

			if (isset({rs[0][0]})){     // Row found
				?>minhatr.dataset.idproselect=x;<?
			  	?>minhatr.dataset.idconvite=<? echo {rs[0][0]};
			}else{     // No row found
			
			}
		?>
		
	}
</script>


</head>
  <table border="1" id="diagnosis_list" class="table table-hover">
	<thead>
		<tr>
		  	<th>Produto</th>
		  	<th>Quantidade</th>
		  	<th>Unidade</th>
			<th>Fornecedor</th>

		</tr>
	</thead>
	<tbody>
		<tr id='1' data-idproselect='0'>
		 	<td >CANETA PRETA PONTA FINA XYZ</td>	
		 	<td >0</td>
		 	<td></td>
		 	<td>
		 		<select id='valor' onchange='mudavaluetr(this,1)'>
		 			<option value=''>Selecione...</option>
		 			<option value=104>104 Fornecedor Token 5</option>
		 			<option value=101>101 Fornecedor FAMA 25</option>
		 		</select>
		 	</td>
		 </tr>
		 <tr id='2' data-idproselect='0'>
		 	<td>CANETINHA 12 CORES SORTIDAS 250 FLS</td>
		 	<td >0</td>
		 	<td></td>
		 	<td>
		 		<select id='valor' onchange='mudavaluetr(this,2)'>
		 			<option value=''>Selecione...</option>
		 			<option value=102>102 Fornecedor FAMA 0.1</option>
		 			<option value=105>105 Fornecedor Token 0.2</option>
		 		</select>
		 	</td>
		 </tr>
		 <tr id='3' data-idproselect='0'>
		 	<td>CADERNO ESPIRAL MENINOS 250 FL</td>
		 	<td >0</td>
		 	<td></td>
		 	<td>
		 		<select id='valor' onchange='mudavaluetr(this,3)'>
		 			<option value=''>Selecione...</option>
		 			<option value=100>100 Fornecedor FAMA 0.1</option>
		 			<option value=103>103 Fornecedor Token 1</option>
		 		</select>
		 	</td>
		 </tr>
	</tbody>
</table>

voce poderia me passar algum lugar que eu possa ler para entender como fazer via ajax ou pelo meu código, colocar um mini exemplo de como faria?

Pergunta o que tu quer fazer em uma blank que não possa ser feito em um controle ?

em jquery:

$.post( “test.php”, { name: “John”, time: “2pm” } );

Em test.php voce pega os parametros passados via post ($_POST) e os guarda em sessão php ($_SESSION).

Ainda não consegui resolver o problema, hoje irei postar o projeto para os Shrs darem uma olhada e me darem um dica de como poder ser feito, de repente estou fazendo em blanck, me deram sugestão de fazer em control, tentei em grid que é a forma que vou apresentar e também não consegui, vou postar a ideia para vocês olharem e me guiar da melhor for.

Tentou desses 2 jeitos? Teria que dar certo:

PASSAR VARIAVEL JS PARA PHP

JAVASCRIPT Agora para passar o conteúdo da variável x para uma variável no PHP, basta adicionar o código:

<?php $x = ""; echo $x; ?>

em jquery:

$.post( “test.php”, { name: “John”, time: “2pm” } );

Em test.php voce pega os parametros passados via post ($_POST) e os guarda em sessão php ($_SESSION).

A primeira opção :
PASSAR VARIAVEL JS PARA PHP

JAVASCRIPT Agora para passar o conteúdo da variável x para uma variável no PHP, basta adicionar o código:

<?php $x = ""; echo $x; ?>

esta não funciona porque eu preciso passar o valor de x para uma variavel sc dentro da minha função js
minha função

function mudavaluetr(objeto,i) {
//aqui eu pego o valor da select e jogo em x
var x = (objeto.value || objeto.options[objeto.selectedIndex].value);

      ////////////////////////////////////////////////////
     //aqui tenho que colocar x em uma variavel do sc e não tem como eu fazer aqui o que vc falou assim
     
      <?php
         $x = "<script>document.write(x)</script>";
          echo $x;
        ?>
       
      a variável  x tem que ser manipulado aqui nesta posição porque eu aproveito ela na minha consulta que esta na linha abaixo
      teria que ser algo assim:  minha_variavel_sc = x;
     ///////////////////////////////////////////////////


     <?
     /**
         * Selecting a field from another table
         */
        //
        
        //ou aqui eu pego o valor do x e coloco na variavel do sc
        $variavelphp_local = echo '<script>document.write(x);</script>';
        
        // Check for record
        $check_sql = "SELECT convites_cotacao_idconvite"
           . " FROM produto_cotado"
           . " WHERE idproduto_cotado = '" . $minha_variavel_sc  . "'";
        sc_lookup(rs, $check_sql);

        if (isset({rs[0][0]})){     // Row found
           ?>minhatr.dataset.idproselect=x;<?
             ?>minhatr.dataset.idconvite=<? echo {rs[0][0]};
        }else{     // No row found
        
        }
     ?>
     
  }

Estou tentando fazer com a de sessão.

Pronto fiz sua lição de casa:
/**
* Selecting a field from another table
*/
//

        //ou aqui eu pego o valor do x e coloco na variavel do sc
        [b]$variavelphp_local = "<script>(objeto.value || objeto.options[objeto.selectedIndex].value)</script>";[/b]
        
        // Check for record
        $check_sql = "SELECT convites_cotacao_idconvite"
           . " FROM produto_cotado"
           . " WHERE idproduto_cotado = '" . $minha_variavel_sc  . "'";
        sc_lookup(rs, $check_sql);

        if (isset({rs[0][0]})){     // Row found
           ?>minhatr.dataset.idproselect=x;<?
             ?>minhatr.dataset.idconvite=<? echo {rs[0][0]};
        }else{     // No row found
        
        }
     ?>
1 Curtida

Aqui esta o endereço da aplicação

http://54.233.82.27/cotacao/

login : uol
senha: 123456

vai no menu “Relatório” Escolhe uma cotação e clique no link evetuar pedido, ai vai aparecer a tela que criei.
A ideia desta tela é passar linha por linha e pegar o valor que a pessoa seleciono (idproduto_cotado) e com ele eu faço o que eu preciso.
Este exemplo eu fiz com uma consulta com botão rum, mas o campo idproduto_cotado foi criado como texto e nele eu coloquei um código php que monta a select com as option. Ja tentei de tudo para pegar este campo e ele não pega.
Agora estou tentando fazer usso com blank e minhas funções js. Me falaram de fazer isso com control e não tenho a minima ideia.
Mas a ideia esta ai.

isso não funciona

";
        // Check for record
        $check_sql = "SELECT convites_cotacao_idconvite"
           . " FROM produto_cotado"
           . " WHERE idproduto_cotado = '" . $minha_variavel_sc  . "'";
        sc_lookup(rs, $check_sql);

        if (isset({rs[0][0]})){     // Row found
           ?>minhatr.dataset.idproselect=x;<?
             ?>minhatr.dataset.idconvite=<? echo {rs[0][0]};
        }else{     // No row found
        
        }
     ?>
     
  }

envia via AJAX , o Haroldo deixou um exemplo.

";[/b]
		// Check for record
		$check_sql = "SELECT convites_cotacao_idconvite"
		   . " FROM produto_cotado"
		   . " WHERE idproduto_cotado = '" . $valor . "'";
		sc_lookup(rs, $check_sql);

		if (isset({rs[0][0]})){     // Row found
			?>minhatr.dataset.idproselect=x;<?
		  	?>minhatr.dataset.idconvite=<? echo {rs[0][0]};
		}else{     // No row found
		
		}
	?>
	
}

Vamos tentar pelo método de sessão:
eu criei um arquivo chamado meu_script.php, dentro dele coloquei:
<?php
// Start the session
session_start();
$_SESSION[“valor”] = $_POST[‘valor’];
//$valor = $_POST[‘valor’];
?>

fui no menu biblioteca e criei a biblioteca com nome de meu_script de adicionei o arquivo meu_script.php

no meu codigo esta assim:
[idcotacao]=14;
?>

Gerar pedido type="text/javascript"> ’;
		// Check for record
		$check_sql = "SELECT convites_cotacao_idconvite"
		   . " FROM produto_cotado"
		   . " WHERE idproduto_cotado = '" . $valor . "'";
		sc_lookup(rs, $check_sql);

		if (isset({rs[0][0]})){     // Row found
			?>minhatr.dataset.idproselect=x;<?
		  	?>minhatr.dataset.idconvite=<? echo {rs[0][0]};
		}else{     // No row found
		
		}
	?>
	
}
</script>
<? aqui eu acredito que devo falar que meu arquivo meu_script.php existe tentei usar aqui assim: sc_include_library("prj", "meu_script", "meu_script.php", true, true); não funciona da um erro logo que eu crio a pagina Failed to load resource: the server responded with a status of 404 (Not Found) http://127.0.0.1:8081/scriptcase/app/p001_cotacao/_lib/css/Green/Green_error.css

se eu coloco este sc_include(“meu_script.php”, “prj”);
na hora que eu crio a pagina não da erro. mas na hora que afunção é executado para gravar a variavel ele fala que o arquivo meu_script.php não existe

?>

<? o problema: não estou sabendo chamar o arquivo meu_script.php que esta na biblioteca

Marculino, eu acessei mais cedo o link que você disponibilizou ao site demo para ver o que você, pretendia, como é um grid consulta com javascript dinâmico é mais difícil de pegar a posição.

Como sugestão acho que daria mais certo você usar um GRID EDITÁVEL, ai é só colocar os campos que não vai usar como label e deixar o do SELECT da cotação liberado para o cliente selecionar entre
os produtos/fornecedores disponíveis, o que deseja, ao final você pode usar um botão em cima para ‘Efetuar o Pedido’.
http://www.scriptcase.com.br/recursos/grid-editavel-php/

Já até tinham feito esta pergunta sobre uma campo editável em uma GRID só consulta igual você usou, e essas foram as dicas:
http://www.scriptcase.com.br/forum/index.php?topic=11487.0