PHP - Ayuda con recepción de datos JSON con PHP

 
Vista:
sin imagen de perfil

Ayuda con recepción de datos JSON con PHP

Publicado por Alberto (1 intervención) el 19/11/2015 20:25:53
Buenas tardes, tengo una duda. Vereis, tengo una página que muestra una tabla con ofertas de trabajo. La idea es que cuando haces click en el botón editar de su fila aparezca un formulario en la página para modificar los datos que el usuario desee. Para que al enviar el formulario no se cambie nada que el usuario no haya modificado, quiero que el value de cada input tenga los datos de esa oferta ya escritos. El problema que tengo es que no se cómo hacer para que las variables contengan los datos de esa oferta, si pongo <?php echo $titulo?> me carga el valor de la última oferta de la tabla.

En fin... estoy un poco liado con el tema, a ver si podeis ayudarme:


-------------------------------------------EMPRESAS-ANUNCIOS.PHP------------------------------------------------------
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
	include('empresas-anuncios_model.php');
?>
 
<!DOCTYPE html>
<html lang="es">
	<head>
		<title>JoJobs</title>
		<meta charset="utf-8">
		<link rel="stylesheet" href="css/estilo.css" type="text/css" media="screen">
 
 
		<link rel="stylesheet" type="text/css" src="jquery-ui-1.11.4.custom/jquery-ui.css">
 
 
		<script type="text/javascript" src="jquery/jquery-1.11.3.min.js"></script>
		<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
		<script src="jquery-ui-1.11.4.custom/jquery-ui.js"></script>
		<script type="text/javascript" src="jojobs.js"></script>
		<script type="text/javascript" src="empresas_anuncios.js"></script>
 
		<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
		<script src="bootstrap/js/bootstrap.min.js"></script>
 
	</head>
	<body>
	<div>
		<nav class="navbar navbar-inverse navbar-fixed-top">
	      <div class="container">
	        <div class="navbar-header">
	          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
	            <span class="sr-only">Toggle navigation</span>
	            <span class="icon-bar"></span>
	            <span class="icon-bar"></span>
	            <span class="icon-bar"></span>
	          </button>
	          <a class="navbar-brand" href="#">JoJobs</a>
	        </div>
	        <div id="navbar" class="collapse navbar-collapse">
	          <ul class="nav navbar-nav">
	          	<li class=""><a href="index.php" name="inicio">Inicio</a></li>
	          	<li class=""><a href="empresas_perfil.php"><?php echo $_SESSION['nombre']; ?></a></li>
	    		<li class="active"><a href="empresas-anuncios.php">Anuncios</a></li>
	    		<li class=""><a href="publicar_oferta.php">Publicar oferta</a></li>
 
	            <li class=""><a href="">Cerrar sesión</a></li>
	          </ul>
	        </div><!--/.nav-collapse -->
	      </div>
	    </nav>
	</div>
	<div id="botones-anuncios">
		<div>
			<input class="icon-size" type="image" name="oferta_add" src="images/oferta_add.png" onclick="redir_toPublicarOferta()">
		</div>
	</div>
 
	<div class="divtbl_ofertas">
		<table class="tabla_ofertas">
			<tbody>
				<tr>
					<th>ID</th>
					<th width='400'>Titulo</th>
					<th width='200'>Area</th>
					<th>Suscritos</th>
					<th>Seleccionados</th>
					<th></th>
					<th></th>
				</tr>
				<?php
					$num_anuncios = countAnuncios($_SESSION['nombre']);
					if($num_anuncios <= 0){
						echo '<tr><td colspan="5">No hay ofertas publicadas</td></tr>';
					}
				?>
			</tbody>
		</table>
	</div>
	<div id='div_editarOferta' class='editarOferta' style='display: none'>
		<form action="" method="post" ENCTYPE="multipart/form-data">
			Titulo: <input type="text" name="titulo" value=<?php echo $titulo?>>
			Descripcion:<input type="text" name="descripcion" value=<?php echo $descripcion?>>
			Area:<input type="text" name="area" value=<?php echo $area?>>
			Fecha inicio:<input type="text" name="f_ini" id="datepicker" value=<?php echo $f_ini?>>
			Fecha fin:<input type="text" name="f_fin" id="datepicker" value=<?php echo $f_fin?>>
			Vacantes:<input type="text" name="vacantes" value=<?php echo $vacantes?>>
			Provincia:<input type="text" name="provincia" value=<?php echo $provincia?>>
			<input type="submit" class="btn_form-reg_enviar" value="Enviar" name="enviar">
		</form>
	</div>
	</body>
</html>
 
<?php
	if($_POST['id'])){
 
	}
 
 
 
?>


-----------------------------------------------EMPRESAS-ANUNCIOS_MODEL.PHP------------------------------------------
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
<?php
	SESSION_START();
	error_reporting(0);
 
	$empresa_sesion = $_SESSION['nombre'];
	include('funciones.php');
	$conexion = connectDB();
 
	$consulta_ofertas = "SELECT * FROM ofertas WHERE empresa='$empresa_sesion'";
	$result = mysqli_query($conexion, $consulta_ofertas);
	while($fila = mysqli_fetch_array($result)){
		$id = $fila['id'];
		$titulo = $fila['titulo'];
		$area = $fila['area'];
		$n_suscritos = $fila['n_suscritos'];
		$n_selec = $fila['n_selec'];
		$descripcion = $fila['descripcion'];
		$provincia = $fila['provincia'];
		$detalles = $fila['detalles'];
		$f_ini = $fila['f_ini'];
		$f_fin = $fila['f_fin'];
		$vacantes = $fila['vacantes'];
 
 
		$ofertas[] = array('id'=> $id, 'titulo'=> $titulo, 'area'=> $area, 'descripcion'=> $descripcion, 'provincia'=> $provincia, 'detalles'=> $detalles, 'f_ini'=> $f_ini, 'f_fin'=> $f_fin, 'n_suscritos'=> $n_suscritos, 'n_selec'=> $n_selec);
 
	}
 
	$json_string = json_encode($ofertas);
	echo $json_string;
 
	if($_POST['id']){
		$id = $_POST['id'];
		$id = json_decode($id);
		$eliminar_oferta = "DELETE FROM ofertas WHERE id='$id'";
		mysqli_query($conexion, $eliminar_oferta);
	}
 
	mysqli_close($conexion);
?>


-----------------------------------------------------EMPRESAS_ANUNCIOS.JS---------------------------------------------------
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
63
64
65
66
67
68
69
70
71
72
73
74
$(document).ready(function(){
	var nFila;
	var url = "empresas-anuncios_model.php";
 
	var tr;
 
	$.getJSON(url, function(ofertas){
		$.each(ofertas, function(i, oferta){
			nFila = "<tr class='anuncios-fila'><td class='oferta-id' name='id'>"+oferta.id+"</td><td name='titulo'>"+oferta.titulo+"</td><td name='area'>"+oferta.area+"</td><td name='n_suscritos'>"+oferta.n_suscritos+"</td><td name='n_selec'>"+oferta.n_selec+"</td> 	<td><input class='btn_editar_oferta icon-size' type='image' name='oferta_edit' src='images/oferta_edit.png' style='width: 30px; height: 30px'></td>		<td><input class='btn_borrar_oferta icon-size' type='image' name='oferta_delete' src='images/oferta_supr.png' style='width: 25px; height: 25px'></td></tr>";
			$('.tabla_ofertas').append(nFila);
		});
 
		$('.btn_borrar_oferta ').click(function(){
			var idOferta = $(this).parents("tr").find(".oferta-id").text();
			$(this).parents("tr").remove();
			eliminarOferta(idOferta);
 
		});
 
		$('.btn_editar_oferta').click(function(){
			var idOferta = $(this).parents("tr").find(".oferta-id").text();
 
			$('#div_editarOferta').css('display', 'inline-block');
 
			var posicion = $("#div_editarOferta").offset().top;
		    $("html, body").animate({
		    	scrollTop: posicion
		    }, 1000);
 
		    editarOferta(idOferta);
		});
 
 
 
	}).fail(function(){
		console.log('Upss, algo no va bien :(');
	}).done(function(){
		console.log('Yeah');
	});
 
 
});
 
function eliminarOferta(idOferta){
 
	var idOferta_json = JSON.stringify(idOferta);
 
	$.ajax({
		url: 'empresas-anuncios_model.php',
		type: 'POST',
		assync: true,
		data: {'id': idOferta_json},
		dataType: 'json',
		encode: true,
		success: function(){	alert("eureka!")},
		error: function(){	alert("algo va mal...")}
	});
 
}
 
function editarOferta(idOferta){
	var idOferta_json = JSON.stringify(idOferta);
 
	$.ajax({
		url: 'empresas-anuncios.php',
		type: 'POST',
		assync: true,
		data: {'id': idOferta_json},
		dataType: 'json',
		encode: true,
		success: function(){	alert("eureka!")},
		error: function(){	alert("algo va mal...")}
	});
}
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