Foros del Web » Programando para Internet » PHP »

Duda sobre array

Estas en el tema de Duda sobre array en el foro de PHP en Foros del Web. Hola, tengo dudas de como hacer un array en el que se encuentran distintos tipos, por un lado aquellos campos que sólo devuelven un valor ...
  #1 (permalink)  
Antiguo 16/06/2017, 10:02
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 107
Antigüedad: 6 años, 5 meses
Puntos: 0
Duda sobre array

Hola,
tengo dudas de como hacer un array en el que se encuentran distintos tipos, por un lado aquellos campos que sólo devuelven un valor y los que devuelven más de uno:
Código PHP:
if( ($dbconn_usuario->consultaVaciaDB($result1)!==0) ) {
$response=array(
 
'nombre'=>$dbconn_usuario->obterDatoConsultaDB($result100),
 
'ano'=>$dbconn_usuario->obterDatoConsultaDB($result101),
 
'expediente'=>$dbconn_usuario->obterDatoConsultaDB($result103),
'publica'=>$dbconn_usuario->obterDatoConsultaDB($result104),
'observa'=>$dbconn_usuario->obterDatoConsultaDB($result102),
'id'=>$dbconn_usuario->obterDatoConsultaDB($result105),
'idinter'=>$dbconn_usuario->obterDatoConsultaDB($result200),
'noInter'=>$dbconn_usuario->obterDatoConsultaDB($result201)
);
echo 
json_encode($response);

después recojo en javascript el $response para mostrar los resultados en los distintos imputs del formulario. NO se como hacer el array para que me recoja los valores multiples. Un array primero de los multiples y meter el resultado en el otro? agradezco una ayudita
  #2 (permalink)  
Antiguo 16/06/2017, 10:49
Avatar de iconogt  
Fecha de Ingreso: septiembre-2004
Ubicación: Guatemala
Mensajes: 573
Antigüedad: 13 años, 1 mes
Puntos: 4
Respuesta: Duda sobre array

A ver si entendi...
El JS recibe un JSON, lo modificas y luego quieres actualizar ese mismo array?
__________________
_______
Jorge Rojas.
  #3 (permalink)  
Antiguo 16/06/2017, 13:05
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 107
Antigüedad: 6 años, 5 meses
Puntos: 0
Respuesta: Duda sobre array

Recojo la respuesta de json_encode($response); en un javascript:

Código HTML:
function obtenDatosProyecto(str) {
	if (str == "") {
		//en caso de que se seleccionase un proyecto
		if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttp = new XMLHttpRequest();
		} else {
			// code for IE6, IE5
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

			}
		};

	} else { 
//en caso de que se seleccionase un proyecto
		if (window.XMLHttpRequest) {
			// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttp = new XMLHttpRequest();
		} else {
			// code for IE6, IE5
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				var response=JSON.parse(xmlhttp.responseText);
				console.log(response);
				document.getElementById("NombreProyecto").value = response.nombre;
				document.getElementById("anoProyecto").value = response.ano;
				document.getElementById("expedienteProyecto").value = response.expediente;
	
				document.getElementById("comentariosProyecto").value = response.observa;
				document.getElementById("idProyecto").value = response.id;
				/*document.getElementById("noInter").value = response.noInter;
				document.getElementById("idinter").value = response.idintervencion;*/
			}
		};
//Se le envia al proyecto seleccionado la funcionalidad definida en datosProyecto.php que crea el formulario
		xmlhttp.open("GET","phpFuncionalidades/datosProyecto.php?q="+str,true);
		xmlhttp.send();
		
	}
}
esta función lo que hace es que cada vez que selecciono un elemento de un select, escribe el "response" en el elemento del formulario correspondiente. "noInter" y "idinter" tienen varios valores


idinter idproyecto nombre
------------------------------------
903 109 uno
904 109 dos

Quiero seleccionar el proyecto 109 en el select y me muestre los dos nombres que tiene asociados.

La forma en que construyo el array en la consulta php datosProyecto.php me devuelve sólo uno de los resultados (entiendo que el primero)
  #4 (permalink)  
Antiguo 17/06/2017, 21:21
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 509
Antigüedad: 7 años, 2 meses
Puntos: 9
Respuesta: Duda sobre array

me costo entender en este texto esta claro lo que quieres

tengo dudas de como hacer un array en el que se encuentran distintos tipos, por un lado aquellos campos que sólo devuelven un valor y los que devuelven más de uno:


no pongas mas codigo javascript porque veo que te funciona.

me imagino que el array que intentas crear corresponde al mismo indice y si es asi puedes hacer esto



Código PHP:
Ver original
  1. $response[]['nombre'] = $dbconn_usuario->obterDatoConsultaDB($result1, 0, 0);
  2. $response[]['ano'] = $dbconn_usuario->obterDatoConsultaDB($result1, 0, 1);
  3. etc...
  4.  
  5.  
  6. echo json_encode($response);



La zona horaria es GMT -6. Ahora son las 15:08.