Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] variables variables php a javascript

Estas en el tema de variables variables php a javascript en el foro de Javascript en Foros del Web. Saludos a todos ! tengo lo siguiente: <?php for ($i=0;$i<7;$i++) { ${'x'.$i} = $i*10; } ?> Esto me genera variables $x1=10, x2=20,...$x6=60 luego tengo un ...
  #1 (permalink)  
Antiguo 23/08/2015, 11:06
 
Fecha de Ingreso: agosto-2015
Ubicación: caracas
Mensajes: 31
Antigüedad: 8 años, 8 meses
Puntos: 0
variables variables php a javascript

Saludos a todos !
tengo lo siguiente:
<?php
for ($i=0;$i<7;$i++) {
${'x'.$i} = $i*10;
}
?>
Esto me genera variables $x1=10, x2=20,...$x6=60
luego tengo un input donde me pide un numero del 1 al 6

como debo hacer para utilizar en javascript la variable correspondiente al numero introducido?
ej: si introduzco 3 debo pasar el valor de $x3

Gracias de antemano.
  #2 (permalink)  
Antiguo 23/08/2015, 15:41
 
Fecha de Ingreso: agosto-2015
Ubicación: caracas
Mensajes: 31
Antigüedad: 8 años, 8 meses
Puntos: 0
Pregunta Respuesta: variables variables php a javascript

Hola de nuevo.
tratando de responderme hice lo sigiente, pero no me funciona por el uso del swith.
solo funciona si elimino el switch y hago precio igual a cualquiera de las variables desde tt1 a tt6. por que?. y otra pregunta es como paso las variables en forma de array ?

<?php
for ($i=1;$i<7;$i++) {
${'x'.$i} = $i*10;
//aqui lo tengocomo prueba pero en realidad estos valores los leo de una tabla
}
?>

<script type="text/javascript">
function calcula(cantidad, campo,tt1,tt2,tt3) {
var ejemplar=document.getElementById("numero").value
switch (ejemplar){
case 1:
var precio=tt1;
break;
case 2:
var precio=tt2;
break;
case 3:
var precio=tt3;
break;
case 4:
var precio=tt3;
break;
case 5:
var precio=tt3;
break;
case 6:
var precio=tt3;
break;
}
document.getElementById(campo).value = cantidad * precio;
}
</script>

<form >
ejemplar
<input type="text" name="numero" id="numero" value=""onblur="t(this.value);" /><br />
cantidad
<input type "number" id="cantidad" onblur="calcula(this.value, 'total',
<?php echo $x1;
?> ,
<?php echo $x2;
?> ,
<?php echo $x3;
?> ,
<?php echo $x4;
?> ,
<?php echo $x5;
?> ,
<?php echo $x6;
?>
);"/> <br />
Total a pagar: <input type="text" name="total" id="total" value="" readonly="readonly" />
</form>
  #3 (permalink)  
Antiguo 23/08/2015, 16:07
 
Fecha de Ingreso: agosto-2015
Ubicación: caracas
Mensajes: 31
Antigüedad: 8 años, 8 meses
Puntos: 0
Pregunta Respuesta: variables variables php a javascript

bingo! solucione lo del switch
era cuestion de poner los case entre comillas.
ej. case "1":

ahora me falta lo mejor... (crear y pasar todas esas variables como array)
$x1=10 , $x2=20 ... $x6=60

a $xx[] que contenga todas las $x para luego identificarlas por el indice

algo asi $xx[0]=10 , $xx[1]=20 ... $xx[5]=60.

Soy nuevo programando por lo que no tengo ni idea de como hacerlo.
Me ayudan ?
  #4 (permalink)  
Antiguo 24/08/2015, 04:09
 
Fecha de Ingreso: diciembre-2011
Mensajes: 98
Antigüedad: 12 años, 4 meses
Puntos: 29
Respuesta: variables variables php a javascript

Si quieres pasar las variables de PHP a JS te recomiendo que crees un pequeño script con PHP que puedas acceder des de JS, te dejo un ejemplo, fíjate:

Código PHP:
Ver original
  1. $script = "<script> function getPHPvar(i){var lista = [";
  2.  
  3. for ($i=1;$i<7;$i++) {
  4. ${'x'.$i} = $i*10;
  5.  
  6. if($i==1){
  7. $script .= ${'x'.$i}; // Si es el primer elemento de la array no debemos añadirle coma
  8. }else{
  9. $script .= "," . ${'x'.$i};
  10. }
  11. }
  12.  
  13. $script .= "]; return lista[i];} </script>";
  14.  
  15. echo $script

Entonces este código te generará un código JS parecido a este:
Código:
<script> function getPHPvar(i){var lista = [10,20,30,40,50,60]; return lista[i];} </script>
Que puesto "bonito" queda...

Código Javascript:
Ver original
  1. function getPHPvar(i) {
  2.        var lista = [10,20,30,40,50,60];
  3.        return lista[i];
  4.   }

Y ahí lo tienes, para acceder a la variable, solo debes usar:
Código Javascript:
Ver original
  1. getPHPvar(0); // 10
  2. getPHPvar(1); // 20
  3. getPHPvar(2); // 30
  4. ...
  5. getPHPvar(5); // 60
  6. getPHPvar(6); // undefined
  7. getPHPvar(-1); // undefined
  #5 (permalink)  
Antiguo 24/08/2015, 07:57
 
Fecha de Ingreso: agosto-2015
Ubicación: caracas
Mensajes: 31
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: variables variables php a javascript

gracias nilburcion.

tratare de implementarlo en mi codigo. cualquier duda vuelvo a consultar.

tanks again.
  #6 (permalink)  
Antiguo 24/08/2015, 08:26
 
Fecha de Ingreso: agosto-2015
Ubicación: caracas
Mensajes: 31
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: variables variables php a javascript

Hi !
aun no he implementado la recomendacion anterior (estoy trabajando en eso).
pero adicionalmente tengo un problema. y es que cuando presiono enter el focus debe colocarse en el siguiente campo. tengo dos eventos para el calculo porque los campos son numericosy puede introducirse los datos manualmente o clicando sobre las flechas. hasta aqui todo bien.
el problema es cuando llego al campo imprimir. si hago click con el mouse : perfecto me pasa al campo1 pero si presiono enter (mientras esta pulsao pasa al campo1 y al soltarlo pasa al campo2. a menos que apenas pellisque la tecla enter.) me guastaria que lo probaran a ver si existe algun error en el orden o manejo de los eventos.para solucionar este problemita.
Este es el codigo completo (funcional).

<?php
for ($i=1;$i<7;$i++) {
${'x'.$i} = $i*10;

// aqui lo tengocomo prueba pero en realidad estos valores los leo de una tabla
// el siete es un valos tambien tomado deunatabla y puede variar entre 1 y 16
// por lo que en la funcion calcula puedo recibir hasta 16 valores.
// en este caso solo paso 7.

}

?>
<head>
<script type="text/javascript">
function calcula(cantidad, campo,tt1,tt2,tt3,tt4,tt5,tt6,tt7,tt8,tt9,tt10,tt1 1,tt12,tt13,tt14,tt15,tt16) {
var ejemplar=document.getElementById("ejemplar").value
switch (ejemplar){
case "1":
var precio=tt1;
break;
case "2":
var precio=tt2;
break;
case "3":
var precio=tt3;
break;
case "4":
var precio=tt4;
break;
case "5":
var precio=tt5;
break;
case "6":
var precio=tt6;
break;
case "7":
var precio=tt7;
break;
case "8":
var precio=tt8;
break;
case "9":
var precio=tt9;
break;
case "10":
var precio=tt10;
break;
case "11":
var precio=tt11;
break;
case "12":
var precio=tt12;
break;
case "13":
var precio=tt13;
break;
case "15":
var precio=tt14;
break;
case "15":
var precio=tt15;
break;
case "16":
var precio=tt16;
break;

}
document.getElementById(campo).value = cantidad * precio;
}
</script>
<script>
function refrescar()
{
window.location.reload();
}
</script>
<script language="JavaScript">
function A(e,t)
{
var k=null;
(e.keyCode) ? k=e.keyCode : k=e.which;
if(k==13) (!t) ? B() : t.focus();
}
function B()
{
refrescar();
document.forms[0].submit();
return true;
}
</script>
</head>
<body onload="document.getElementById('ejemplar').focus( )"
>
<div align center>
<form name="sumar" method="post">
<table align="center" border="0">
<tr bgcolor="#000000" style="color:#FFF">
<td align="center"><strong>Ej.</strong></td>
<td align="center"><strong>Cant.</strong></td>
<td align="center">Tolal</td>
<td align="center">&nbsp;</td>
</tr>
<tr>
<td height="35" align="center"><input type="number" class="t" name="ejemplar" id="ejemplar" value="" size="4" maxlength="4" min=1 max=
<?php
// echo $totalRows_Recordset1
?>6 onblur="calcula(this.value, 'tot'
<?php for($z=1;$z<7;$z++){
?>
,
<?php
echo ${'x'.$z};
}
?>
);"
onchange="A(event,this.form.cant);"
onkeyup="A(event,this.form.cant);"
/></td>
<td align="center"><input type="number" id="cant" size="4" maxlength="4" min=1 max=50 class="t" onblur="calcula(this.value, 'tot'
<?php for($z=1;$z<7;$z++){
?>
,
<?php
echo ${'x'.$z};
}
?>
);"
onchange="A(event,this.form.imprime,
);"
onkeyup="A(event,this.form.imprime);"
/></td>
<td align="center"><input type="number" name="tot" id="tot" value="" size="4" maxlength="4" class="t" min=0 max=50000 disabled /></td>
<td align="center"><input type="button" id="imprime" value="Imprimir" class="t" onclick="this.form.submit()"/></td>
</tr>
</table>
</form>
</div>
</body>
  #7 (permalink)  
Antiguo 24/08/2015, 08:34
 
Fecha de Ingreso: agosto-2015
Ubicación: caracas
Mensajes: 31
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: variables variables php a javascript

Por cierto soy nuevo en el foro y quisiera saber como enviar un codigo como lo envian ustedes (formateado dentro de una ventana ???)
  #8 (permalink)  
Antiguo 24/08/2015, 16:07
 
Fecha de Ingreso: agosto-2015
Ubicación: caracas
Mensajes: 31
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: variables variables php a javascript

hola nilburcion.

lo he intentado con un simple ejemplo pero no hallo la forma.
con dos campos donde uno me pide un valor (codigoproducto) de 1 a 6 y en otro me pide la cantidad
luego con una funcion js calcular el tolal en otra celda del campo cantidad por el precio correnpondiente al codigoproducto enviado por array.
  #9 (permalink)  
Antiguo 31/08/2015, 01:39
 
Fecha de Ingreso: agosto-2015
Ubicación: caracas
Mensajes: 31
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: variables variables php a javascript

Gracias por la ayuda !

tarde un poco pero lo logre. al fin.

este es un ejemplo

<html>
<head>
</head>
<body>
<?php
$numero=array();
for ($i=1;$i<7;$i++) {
${'x'.$i} = $i*10;
$numero[]=$i*10;
}
//var_dump($numero);
$objeto=json_encode($numero);
//echo $objeto[1];
//var_dump($objeto);
$jsd=json_decode($objeto);
//var_dump($jsd);
echo "<pre>";
$objeto=json_encode($numero);
$jsd=json_decode($objeto);
//echo $jsd;
echo "</pre>";
?>
<script>
function bb(x){
var json=eval(<?php echo $objeto; ?>);
document.write (json[x]*20);
}
</script>

<input type="boton" name="boton" id="boton2" value="Calcular" onClick="bb(3)"/>

</body>
</html>

Etiquetas: input, php, valor, variable, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:58.