PHP - utilizar varables php y javascript

   
Vista:

utilizar varables php y javascript

Publicado por jhean carlos (113 intervenciones) el 28/10/2013 21:57:03
como estan
una ayudita como pasar variables? tengo una tabla que tiene un icono
que al hacer un clic se expande hacia abajo donde muestra valores de la fila

lo que quiero hacer es usar un valor que hay para buecar con php
ejemplo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function fnFormatDetails ( oTable, nTr )
			{
				var aData = oTable.fnGetData( nTr );
				var sOut = '<table cellpadding="5" cellspacing="0" border="1" style="padding-left:50px;">';
				sOut += '<tr><td><b>SISIN:</b><br><b>Proyecto:</b><br><b>Contrato:</b></td><td>'+aData[2]+' '+aData[4]+' '+aData[6]+'</td></tr>';
 
				sOut += '<tr><td><?php echo $h ?></td><td>Could provide a link here</td></tr>';
				sOut += '<tr><td>'+aData[1]+'</td><td><?php $sql2="SELECT
T1.codigo_obra,
T1.proyId,
T1.especificacion,
T1.monto_obra_bs
FROM
mantis.obra_especial T1
WHERE
T1.proyId =  '660'";
	$res=mysql_query($sql2,$conexion);
	while ($dato=mysql_fetch_array($res))
	{
		$especificacion	=$dato['especificacion'];
	}
?><?php echo $especificacion ?></td></tr>';
				sOut += '</table>';
				return sOut;
			}


como veran en esta funcion tengo el +aData[1]+, lo que quiero hacer que ese valor se copie en donde esta el 660, para poder utilizarlo y buscar un dato que necesito.

como veran el codigo es php y javascript

como puedo hacer que +aData[1]+ poder utilizarlo como un valor donde esta el 660

espero su ayuda

gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

utilizar varables php y javascript

Publicado por xve (5520 intervenciones) el 29/10/2013 07:29:36
Hola jhean carlos, la verdad es que cuesta un poco seguir tu código... parece que tienes código de javascript mezclado con código de PHP?

El PHP se ejecuta en el servidor, y el javascript en el navegador del cliente, por lo que para enviar una variable de javascript a php, hay que hacerlo mediante la recarga de la página enviando el parámetro por GET o POST, o mediante ajax.

Exactamente que quieres hacer?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

utilizar varables php y javascript

Publicado por Elier (92 intervenciones) el 30/10/2013 14:34:05
Hola, como bien te dice xve debes separar tu codigo, el codigo que te pongo es solo para que saques la idea, puede tener errores.

Tendrías tres archivos

1- especificaciones.php con el codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$dbc = mysqli_connect('host','user', 'password', 'database');
 
$especificacion = array();
 
if(isset($_GET['id'])){
$id = $_GET['id'];
$sql = "SELECT codigo_obra, proyId, especificacion, monto_obra_bs FROM mantis.obra_especial WHERE proyId = $id";
$resultado = mysqli_query($dbc, $sql);
if($resultado){
while ($dato = mysql_fetch_array($resultado))
{
 $especificacion[] = $dato['especificacion'];
}
}
}
echo json_encode($especificacion);
?>


2- netcargador.js con el codigo tomado del sitio http://librosweb.es/ajax/capitulo_7/utilidades_y_objetos_para_ajax.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// Copiar el codigo en un archivo llamado netcargador.js
var net = new Object();
 
net.READY_STATE_UNINITIALIZED=0;
net.READY_STATE_LOADING=1;
net.READY_STATE_LOADED=2;
net.READY_STATE_INTERACTIVE=3;
net.READY_STATE_COMPLETE=4;
 
// Constructor
net.CargadorContenidos = function(url, funcion, funcionError) {
  this.url = url;
  this.req = null;
  this.onload = funcion;
  this.onerror = (funcionError) ? funcionError : this.defaultError;
  this.cargaContenidoXML(url);
}
 
net.CargadorContenidos.prototype = {
  cargaContenidoXML: function(url) {
    if(window.XMLHttpRequest) {
      this.req = new XMLHttpRequest();
    }
    else if(window.ActiveXObject) {
      this.req = new ActiveXObject("Microsoft.XMLHTTP");
    }
 
    if(this.req) {
      try {
        var loader = this;
        this.req.onreadystatechange = function() {
          loader.onReadyState.call(loader);
        }
        this.req.open('GET', url, true);
        this.req.send(null);
      } catch(err) {
        this.onerror.call(this);
      }
    }
  },
 
  onReadyState: function() {
    var req = this.req;
    var ready = req.readyState;
    if(ready == net.READY_STATE_COMPLETE) {
      var httpStatus = req.status;
      if(httpStatus == 200 || httpStatus == 0) {
        this.onload.call(this);
      }
      else {
        this.onerror.call(this);
      }
    }
  },
 
  defaultError: function() {
    alert("Se ha producido un error al obtener los datos"
      + "\n\nreadyState:" + this.req.readyState
      + "\nstatus: " + this.req.status
      + "\nheaders: " + this.req.getAllResponseHeaders());
  }
}


3- El archivo de tu pagina, lo ideal seria que el codigo javascritp estuviera en archivos y luego lo vincularas a tu pagina.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<html>
<head>
<script type="text/javascript" src="netcargador.js" ></script>
<script>
	function fnFormatDetails (aData) {
		var especificacion = this.req.responseText;
		var sOut = '<table cellpadding="5" cellspacing="0" border="1" style="padding-left:50px;">';
		sOut += '<tr><td><b>SISIN:</b><br><b>Proyecto:</b><br><b>Contrato:</b></td><td>'+aData[2]+' '+aData[4]+' '+aData[6]+'</td></tr>';
		sOut += '<tr><td>'+<?php echo $h ?>+'</td><td>Could provide a link here</td></tr>';
		sOut += '<tr><td>'+aData[1]+'</td><td>'+especificacion[0]+'</td></tr>';
		sOut += '</table>';
 
		return sOut;
	}
 
	function cargaContenidos(oTable, nTr) {
		var aData = oTable.fnGetData(nTr);
 
  		var cargador = new net.CargadorContenidos("http://localhost/especificacion.php?id="+, fnFormatDetails(aData));
	}
 
	// Tienes que ver de donde sacas los parametros oTable y nTr
	window.onload = cargaContenidos(oTable, nTr);
</script>
</head>
<body>
 
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar