Espero que alguien pueda ayudarme a resolver esto ya que soy nuevo en PHP y MySQL. Pero básicamente, lo que estoy tratando de hacer es extraer los datos de la base de datos y llenar el cuadro desplegable y el cuadro de texto, y así puedo actualizar el valor en el cuadro de texto.
Esta es la estructura de la tabla:
id | hf_name | hf_price ------------------------ AI | test 1 | 123 AI | test 2 | 123Entonces, digamos que quiero actualizar el precio de la "prueba 1", seleccionaría "prueba 1" en la selección desplegable y actualizaría el precio en el libro de texto.
Este es mi código:
<form class='data_form' action='data/food_update.inc.php' method='post'> <select> <?php while ($row = mysqli_fetch_array($result)):; ?> <option><?php echo $row[1];?></option> <?php endwhile;?> </select> <input type='number' name='hf_price' placeholder='$'> <button type='submit'>UPDATE</button> </form>Incluir:
<?php //CONNECTION TO MySQL include '../dbh.php'; //VARIABLES $hf_name = $_POST['hf_name']; $hf_price = $_POST['hf_price']; $by_user = $_SESSION['Fname']; $up_date = date('Ym-d'); $sql = "SELECT hf_name FROM hotfoods"; $result = mysql_query($conn, $sql); ?>¡Gracias!
Prueba a cambiar la opción a
<option value="<?php echo $row[2];?>"><?php echo $row[1];?></option> Donde asumo que la variable $row[2] contiene el valor hf_price .
pero para esto necesita cambiar su tipo de datos de identificación a int,
$query = "select * from tablename"; $result = mysqli_query(); <select id="nameID" name="hf_name"> <?php while($row = mysqli_fetch_assoc($result){ ?> <option value='<?php echo $row['id']; ?>'><?php echo $row['hf_name']; ?></option> <?php } ?> </select>Esto estará bien cuando obtenga detalles, pero no actualiza ningún valor porque para esto necesita usar Ajax o Jquery para actualizar en Select, déjeme intentarlo.
Ajax
$("#nameID").onchange(function(){ var id = $("#id").val(); $.ajax( url: "update.php", type: "POST", data: {'id'=id}, success: function(){ alert("ok"); }); });Prueba esto, podría funcionar.
$query = "select * from tablename"; $result = mysqli_query($query); <select> <?php while($row = mysqli_fetch_assoc($result){ ?> <option value='<?php echo $row['hf_name']; ?>'><?php echo $row['hf_name']; ?></option> <?php } ?> </select>