AJAX - llevar variable a php y luego almacenarla en base de dato

 
Vista:
Imágen de perfil de Yerlyn
Val: 21
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por Yerlyn (12 intervenciones) el 26/11/2018 21:09:05
Hola a todos soy nuevo en esta comunidad tengo varios dias trayendo un Problema que no se como resolverlo tengo un codigo ajax que ejecuta una funcion y arroja un resultado que se almacena en un ID y se imprime en php mi problema es que yo quiero captar ese valor que va al ID para poder almacenarlo en la base de dato y no logro hacerlo les dejo mi codigo ajax:

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
$(document).ready(function(){
  $.ajax({
    type: 'POST',
    url: 'cargar_listas.php'
  })
  .done(function(listas_rep){
    $('#cantidad').html(listas_rep)
  })
  .fail(function(){
    alert('Hubo un errror al cargar las listas_rep')
  })
 
  $('#cantidad').on('change', function(){
    var id = $('#cantidad').val()
    $.ajax({
      type: 'POST',
      url: 'cargar_coolers.php',
      data: {'id': id}
    })
    .done(function(listas_rep){
      $('#coolers').html(listas_rep)
    })
    .fail(function(){
      alert('Hubo un errror al cargar los vídeos')
    })
  })
 
  $('#enviar').on('click', function(){
    var resultado = 'Cantidad: ' + $('#cantidad option:selected ').text() +
    ' Coolers elegido: ' + $('#coolers option:selected').text()
 
    $('#resultado1').html(resultado);
 
 
     $.post('envio.php',{
            cantidad:$('#cantidad option:selected').text(),
            coolers:$('#coolers option:selected').text()
        }).done(function(resp){
            alert('datos cargados')
        }).fail(function(err){
            alert('Error al cargar los Datos')
        })
  });
 
});

llamado php

1
2
3
4
<?php
    echo $cantidad=$_POST['cantidad'];
 
?>

la verdad no se donde esta el error si en el llamado de php o en el ajax cualquier ayuda es buena 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
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por xve (222 intervenciones) el 27/11/2018 07:53:03
Hola Yerlyn , no me queda muy clara tu duda... para guardar tu id en la base de datos, tienes que enviarlo a PHP de alguna manera.

En tu código, veo que hay dos llamadas a archivos php diferentes, cargar_coolers.php donde envías un id, y envio.php donde envías dos variables, y en tu código PHP que muestras, creo que haces referencia al archivo envio.php...

Nos puedes comentar con mas detalle?
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
Imágen de perfil de Yerlyn
Val: 21
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por Yerlyn (12 intervenciones) el 27/11/2018 13:13:19
hola disculpa que no me sepa explicar aclaro mejor, cree 2 select pero estos select depende uno del otro osea que lo que yo selecciono en uno me da diferentes opciones en el segundo select utilizando ajax, t explico el ajax

en la primera parte del ajax selecciono una opcion del select y lo que yo selecciono lo almaceno en la variable cantidad $('#cantidad').html(listas_rep) dependiendo de la cantidad que escojas son las opciones que tengo en el segundo select

1
2
3
4
5
6
$('#cantidad').on('change', function(){
    var id = $('#cantidad').val()
    $.ajax({
      type: 'POST',
      url: 'cargar_coolers.php',
      data: {'id': id}

en esta parte le estoy diciendo que si el valor del primer select cambia que tome el valor escogido lo almacene en #cantidad y que ejecute la url "cargar_coolers.php" que me devolvera un valor llamado #coolers

luego esta esto:

1
2
3
4
$('#enviar').on('click', function(){
    var resultado = 'Cantidad: ' + $('#cantidad option:selected ').text() +
    ' Coolers elegido: ' + $('#coolers option:selected').text()
    $('#resultado1').html(resultado);

aqui le digo que si presionan enviar ejecute el ajax y las variables #cantidad y #coolers los almacene en la variable (var resultado) y luego indico que el valor de la variable resultado la pase al ID de HTML #resultado1 de este modo imprimo en pantalla las variable #cantidad y coolers en html dcabe destacar que el ID es de un parrafo <p id=resultado1>.

a hasta este punto todo funciona bien el ajax el html solo tengo el problema de que no puedo pasar los valores que estan almacenados en el ID #resultado1 a php


mi objetivo es permitir al usuario escoger 2 opciones y esas opciones que se almacenan en el ID #resultado1 pasarlas a php
quedo atento a sus respuestas gracias espero haber sido lo suficientemente claro.

seleccion
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
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por xve (222 intervenciones) el 27/11/2018 17:06:34
Gracias por la aclaración, ahora entiendo lo que quieres hacer...

La manera que yo haría, seria enviar nuevamente por ajax el contenido de la variable resultado de javascript a php...

Yo lo enviar con $.post()... algo así:
1
$.post("archivo.php", {"resultado":resultado});

Si quieres recibir lo que devuelve el archivo php, puedes hacer algo así:
1
2
3
$.post("archivo.php", {"resultado":resultado}, function(data) {
    alert(data);
});


Te sirve?
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
Imágen de perfil de Yerlyn
Val: 21
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por Yerlyn (12 intervenciones) el 27/11/2018 18:21:23
$.post("archivo.php", {"resultado":resultado}); Si entiendo bien de este modo le estoy diciendo que la variable resultado vaya a archivo.php osea una url, pero como lo llamo en esa url porque estoy aplicando el metodo POST y GET para llamar la variable resultado desde archivo.php y me dice variable indefinida y si tienen valores porque cargue el ajax con datos antes de pasar a archivo.php?
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
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por xve (222 intervenciones) el 27/11/2018 20:20:42
aquí lo que haces es pasar la variable por post... por lo que la tienes que obtener con:
1
$_POST["resultado"]
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
Imágen de perfil de Yerlyn
Val: 21
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por Yerlyn (12 intervenciones) el 28/11/2018 15:00:19
ya lo intente y no funciona y es lo que no entiendo en teoría debería funcionar
ajax
php
pagina

quedo atento a cualquier ayuda que me puedan dar
gracias.
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
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por xve (222 intervenciones) el 28/11/2018 19:38:01
Segun veo, en tu pagina obtienes el valor, pero no lo muestras en ningún lado, no??

Es decir, lo caputuras...
1
$valor=$_POST["resultado"];
Pero no haces nada con la variable $valor, no? no lo muestras en pantalla!!!
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
Imágen de perfil de Yerlyn
Val: 21
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por Yerlyn (12 intervenciones) el 28/11/2018 19:55:45
es que no la muestro por que no tiene ningun dato por ejemplo hago esto

<?php

$valor=$_POST['resultado'];
print($valor);

?>

y me dice esto: Notice: Undefined index: resultado in C:\xampp\htdocs\acin\envio.php on line 63
en la imagen puedes apreciar que alli lo imprimi por pantalla y nada no se porq?


php
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
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por xve (222 intervenciones) el 28/11/2018 22:14:42
Perdona, no me fije en el error...

El problema es que por alguna razon, el javascript no envía ningún valor...
me puedes mostrar todos los archivos... tanto el que envía, como el que muestra el error para poder probarlo?
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
Imágen de perfil de Yerlyn
Val: 21
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por Yerlyn (12 intervenciones) el 29/11/2018 14:46:08
ajax

php

hola dejo cargado el codigo AJAX y el PHP

hice los arreglos pero pienso igual que tu pienso que el problema esta en el AJAX que no esta enviando el dato a la variable

quedo atento a sus respuestas
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
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por xve (222 intervenciones) el 29/11/2018 15:06:28
Hola Yerlyn, tal y como los publicas, no puedo hacer ninguna prueba... puedes pegar el código de los dos archivos sin que sea una imagen?
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
Imágen de perfil de Yerlyn
Val: 21
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por Yerlyn (12 intervenciones) el 29/11/2018 15:16:48
Codigo 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
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>EMPRESA</title>
  <link rel="stylesheet" href="style.css">
 
</head>
<body>
  <?php
  session_start();
 
  ?>
  <div class="logo">
    <img src="img/logo.jpg">
  </div>
 
  <header>
    <nav class="navegacion">
      <ul class="menu">
        <li><a href="">Envio de Sangre</a></li>
        <li><a href="soli_despacho.php">Despacho </a></li>
          <li><a href="stacces.php">Servicios en Transitos</a></li>
      </ul>
    </nav>
  </header>
<center>
  <h1 style="font-size: 16px;">Envio de sangre</h1><br><br>
 
  <h2>Envio de Sangre Completa</h2><br><br>
<div class="container">
    <div class="row">
      <div class="col-md-4">
          <p>Cantidad de coolers
          <select id="cantidad" name="cantidad" class="form-control">
          </select>
        </p>
      </div>
      <div class="col-md-4">
        <p>Coolers
        <select id="coolers" name="coolers" class="form-control">
        </select>
      </p>
      </div>
      <div class="col-md-4">
        <p><br><button id="enviar" type="submit" class="btn btn-default btn-block">Enviar</button></p>
      </div>
    </div>
    <div class="row">
      <div class="col-md-4">
        <p><b>El resultado es: </b></p><p id="resultado1"></p>
 
      </div>
    </div>
  </div>
 
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
  </script>
  <script type="text/javascript" src="js/index.js"></script>
  </center>
 
<?php
if (isset($_POST["resultado"])) {
        $valor = $_POST["resultado"];
       echo $valor;
}
?>
 
<?php
  $valor=$_POST['resultado'];
  print($valor);
 
?>
</body>
</html>



Codigo AJAX:

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
$(document).ready(function(){
  $.ajax({
    type: 'POST',
    url: 'cargar_listas.php'
  })
  .done(function(listas_rep){
    $('#cantidad').html(listas_rep)
  })
  .fail(function(){
    alert('Hubo un errror al cargar la cantidad')
  })
 
  $('#cantidad').on('change', function(){
    var id = $('#cantidad').val()
    $.ajax({
      type: 'POST',
      url: 'cargar_coolers.php',
      data: {'id': id}
    })
    .done(function(listas_rep){
      $('#coolers').html(listas_rep)
    })
    .fail(function(){
      alert('Hubo un errror al cargar los coolers')
    })
  })
 
  $('#enviar').on('click', function(){
    var resultado = 'Cantidad: ' + $('#cantidad option:selected ').text() +
    ' Coolers elegido: ' + $('#coolers option:selected').text()
    $('#resultado1').html(resultado);
 
    $.post( "envio.php", {resultado:resultado});
  });
 
});



cargar_listas.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
require_once 'conexion2.php';
function getListasRep(){
  $mysqli = getConn();
  $query = 'SELECT * FROM `cantidad`';
  $result = $mysqli->query($query);
  $listas = '<option value="0">Elige cantidad</option>';
 
  while($row = $result->fetch_array(MYSQLI_ASSOC)){
    $listas .= "<option value='$row[id]'>$row[cantidad]</option>";
 
  }
  return $listas;
}
echo getListasRep();
?>



cargar_coolers.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
require_once 'conexion2.php';
function getVideos(){
  $mysqli = getConn();
  $id = $_POST['id'];
  $query = "SELECT * FROM `coolers` WHERE id_lista = $id";
  $result = $mysqli->query($query);
  $videos = '<option value="0">Elige una opción</option>';
  while($row = $result->fetch_array(MYSQLI_ASSOC)){
    $videos .= "<option value='$row[id]'>$row[cooler]</option>";
 
  }
  return $videos;
}
echo getVideos();
?>

estos son todos los codigo del funcionamiento
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
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por xve (222 intervenciones) el 29/11/2018 20:22:54
Yerlyn, cual es el archivo envio.php?
El código AJAX, donde se carga? en que archivo?
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
Imágen de perfil de Yerlyn
Val: 21
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por Yerlyn (12 intervenciones) el 30/11/2018 12:07:45
envio.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
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>EMPRESA</title>
  <link rel="stylesheet" href="style.css">
 
</head>
<body>
  <?php
  session_start();
 
  ?>
  <div class="logo">
    <img src="img/logo.jpg">
  </div>
 
  <header>
    <nav class="navegacion">
      <ul class="menu">
        <li><a href="">Envio de Sangre</a></li>
        <li><a href="soli_despacho.php">Despacho </a></li>
          <li><a href="stacces.php">Servicios en Transitos</a></li>
      </ul>
    </nav>
  </header>
<center>
  <h1 style="font-size: 16px;">Envio de sangre</h1><br><br>
 
  <h2>Envio de Sangre Completa</h2><br><br>
<div class="container">
    <div class="row">
      <div class="col-md-4">
          <p>Cantidad de coolers
          <select id="cantidad" name="cantidad" class="form-control">
          </select>
        </p>
      </div>
      <div class="col-md-4">
        <p>Coolers
        <select id="coolers" name="coolers" class="form-control">
        </select>
      </p>
      </div>
      <div class="col-md-4">
        <p><br><button id="enviar" type="submit" class="btn btn-default btn-block">Enviar</button></p>
      </div>
    </div>
    <div class="row">
      <div class="col-md-4">
        <p><b>El resultado es: </b></p><p id="resultado1"></p>
      </div>
    </div>
  </div>
 
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
  </script>
  <script type="text/javascript" src="js/index.js"></script>
  </center>
 
<?php
if (isset($_POST["resultado"])) {
        $valor = $_POST["resultado"];
       echo $valor;
}
?>
 
<?php
  $valor=$_POST['resultado'];
  print($valor);
 
?>
</body>
</html>


este es el archivo envio.php y al final del código tengo esta función

1
2
3
<div class="col-md-4">
    <p><b>El resultado es: </b></p><p id="resultado1"></p>
</div>

y el valor de AJAX se carga aqui: id="resultado1"

no se si eso es lo que preguntas
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
Imágen de perfil de Yerlyn
Val: 21
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por Yerlyn (12 intervenciones) el 27/11/2018 19:18:58
<?php
echo $_GET['resultado'];

?>

este es el codigo de como lo estoy llamando en archivo.php
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
Imágen de perfil de abzer0x
Val: 72
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por abzer0x (17 intervenciones) el 28/11/2018 22:36:52
Hola, el problema es porque esta accediendo al la variable $_POST antes de enviar el formulario (ya que la página a la cual realizas la petición es la misma que la que procesas), es por eso que notifica esto como un error.
Por lo que previamente deberías comprobar previamente si existe y no es null dicha variable
1
$_POST["resultado"]
, algo así:

1
2
3
4
5
<?php
if (isset($_POST["resultado"])) {
        $valor = $_POST["resultado"];
}
?>
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
Imágen de perfil de Yerlyn
Val: 21
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

llevar variable a php y luego almacenarla en base de dato

Publicado por Yerlyn (12 intervenciones) el 29/11/2018 14:56:20
ok entiendo lo que dices hice los cambios segun me dices y ahora no me muestra el error de variable indefinida, pero igual no carga los datos en la variable ni imprime el dato de la variable que se envia por ajax .

cambiè la url a otro que no fuera el mismo que ejecuta el proceso y nada no imprime nada y me da este error:

Notice: Undefined index: resultado in C:\xampp\htdocs\php\pagina.php on line 62

pienso que el error esta en el paso de la variable ajax a php
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