Foros del Web » Programando para Internet » PHP »

Actualizar base de datos según listbox seleccionado

Estas en el tema de Actualizar base de datos según listbox seleccionado en el foro de PHP en Foros del Web. Muy buenas tengo un problemita al actualizar una base de datos........Necesito actualizar un campo en la base de datos pero que sea del que el ...
  #1 (permalink)  
Antiguo 07/10/2012, 12:11
 
Fecha de Ingreso: septiembre-2012
Mensajes: 15
Antigüedad: 12 años, 2 meses
Puntos: 0
Pregunta Actualizar base de datos según listbox seleccionado

Muy buenas tengo un problemita al actualizar una base de datos........Necesito actualizar un campo en la base de datos pero que sea del que el usuario eligió........Ejemplo: noticia 1....tiene una imagen de fondo específica y quiero modificarla, subiendo otra pero por medio de un listbox el usuario elija la noticia 1 y en el update indique que se modifique el nombre de la imagen de fondo de la noticia 1.....les pongo el código para que quede más claro:

Código PHP:
Ver original
  1. <form method="post" action="modificar.php" enctype="multipart/form-data">    
  2.      <select name="nomNoti">
  3.           <option selected="selected">imagen de fondo</option>
  4.           <?php while($row = $resPrg->fetch_assoc()){?>
  5.           <option value="<?php echo $row['nomNoti'];?>"><?php echo $row['nomNoti'];?></option>
  6.           <?php }?>
  7.      </select>
  8.      <input type="file" name="imagenBg">
  9.      <input type="submit" value="ACTUALIZAR" name="upFondo"/>
  10. </form>

y aquí la página modificar.php

Código PHP:
Ver original
  1. if(isset($_POST['upFondo'])){
  2.     //direccion de la imagen
  3.     $dirBgPrg       = $_SERVER['DOCUMENT_ROOT']."/img/bg/";
  4.     //Recibo los datos de la imagen principal
  5.     $nomBgPrg       = $_FILES['imagenBg']['name'];
  6.     $tipoBgPrg      = $_FILES['imagenBg']['type'];
  7.     $sizeBgPrg      = $_FILES['imagenBg']['size'];
  8.  
  9.     // Muevo la imagen desde su ubicación
  10.     // temporal al directorio definitivo
  11.     move_uploaded_file($_FILES['imagenBg']['tmp_name'],$dirBgPrg.$nomBgPrg);

bien hasta aquí todo bien sube la imagen al servidor pero no logro modificar la base de datos mmmm el campo que voy a modificar en la base de datos es "imgBg" y lo que hago es tomar el nombre de la imagen en la variable de la subida sería $nomBgPrg pero recalco debe ser de la noticia que se selecciono en el listbox.....voy a poner el código del update que uso pero que no me sirve....(eso lo pongo después del move_uploaded_file o sea el código de arriba)....

Código PHP:
Ver original
  1. //LLamar conexion
  2.         require_once('conexion.php');
  3.  
  4.         //Recibir variables
  5.     $nomNoti            = $_POST['nomNoti'];
  6.        
  7.     //ACTUALIZAR
  8.     $updateNoti     = "UPDATE noticias SET imgBgPrg='$nomBgPrg' WHERE nomNoti = $nomNoti";
  9.     $resNoti        = $conn->query($updateNoti);
  10.     //CIERRE CONEXION
  11.     $conn->close();
  12.         if($resNoti == 1){
  13.             header('location:http://admin.php');
  14.             }
  15.     }

Por favor necesito de su ayuda es algo que no me lo he podido lograr y estaré sumamente agradecido con lo que puedan aportar.....cualquier pregunta estaré pendiente para responderles......por si lo preguntan la conexión está bien pero la pondré de todos modos....

página conexión.php
Código PHP:
Ver original
  1. //CONEXION
  2. $conn = new mysqli("localhost", "usuario", "pass", "db");
  3. $conn->query("SET NAMES 'utf8'");
  4.  
  5. // COMPROBAR CONEXION
  6. if ($conn->connect_errno) {
  7.     printf("Error al conectarse: %s\n", $conn->connect_error);
  8.     exit();}

Última edición por tkngrafik; 07/10/2012 a las 12:21
  #2 (permalink)  
Antiguo 08/10/2012, 16:14
 
Fecha de Ingreso: septiembre-2012
Mensajes: 15
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Actualizar base de datos según listbox seleccionado

Al parecer se paso y nadie lo vio.....por favor si alguien lo lee y sabe ayudenme en serio que lo necesito
  #3 (permalink)  
Antiguo 08/10/2012, 16:23
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Actualizar base de datos según listbox seleccionado

Me parece que el problema podría ser por comillas, suponiendo que nomNoti es un campo de tipo varchar, prueba esto:

Código PHP:
Ver original
  1. //Recibir variables
  2.     $nomNoti            = $conn->real_escape_string($_POST['nomNoti']);
  3.        
  4.     //ACTUALIZAR
  5.     $updateNoti     = "UPDATE noticias SET imgBgPrg='$nomBgPrg' WHERE nomNoti = '$nomNoti'";
  6.     $resNoti        = $conn->query($updateNoti) or die($conn->error);

Es mejor que lo hagas por ID de noticia, sólo reemplaza tu select para que el valor corresponda a la ID y modifica la consulta.
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 08/10/2012, 17:42
 
Fecha de Ingreso: septiembre-2012
Mensajes: 15
Antigüedad: 12 años, 2 meses
Puntos: 0
Información Respuesta: Actualizar base de datos según listbox seleccionado

EXCELENTEEEEEEE......MUCHAS GRACIAS

Bien cambié como me dijiste el indicativo en vez de nombre a id y funcionó y claro no había captado que los espacios y otras cosas iba a ser considerados......pero en serio muchas gracias....pero tengo una consulta más respecto a esto mismo del listbox........

Mira lo que pasa que tengo dos tablas:
  1. Programas
  2. Horario

y quiero hacer un insert para agregar un nuevo programa y funciona todo muy bien excepto cuando voy a ingresar el día del programa....que es por medio de un listbox....Quiero agregar la información y elegir el día por medio de un listbox.....bien te pongo el código:

Código PHP:
<form>
     <input name="nombrePrg" type="text"/>
     <input name="sloganPrg" type="text"/>
     <input name="productorPrg" type="text"/>
     <input name="horaini" type="time"/>
     <input name="horafin" type="time"/>

//Aqui inicia el listbox y muestra correctamente la información

     <select name="diaPrg">                            
          <option selected="selected" >Día de transmisión</option>
          <?php while($row $resultado->fetch_assoc()){?>
          <option value="<?php echo $row['idDia'];?>">
                <?php echo $row['dia'];?>
          </option>  
          <?php }?>  
     </select>
     <input type="submit" value="SUBIR" name="inProgramas"/>
Bien el formulario esta excelente pero aquí es donde viene el problema:

Código PHP:
if(isset($_POST['inProgramas'])){
//recibo variables
        
$nomPrg                  $_POST['nombrePrg'];
        
$slgnPrg                 $_POST['sloganPrg'];
        
$prodPrg                 $_POST['productorPrg'];
        
$horaini                 $_POST['horaini'];
        
$nomPrg                  $_POST['horafin'];

//Recibo variable del Listbox para el dia
    
$diaPrg            $_POST['diaPrg'];

//Realizos dos inserciones la primera la información para el nuevo programa

//Inserción 1 - Programas
    
$insertPrg         $conn->prepare("
    INSERT Programas(nomPrg, slgPrg, productor) 
    VALUES('$nomPrg' , '$slgnPrg' , '$prodPrg')"
);

    
//Ejecuta sentencias
    
$insertPrg->execute();

    
//Cerrar sentencia
    
$insertPrg->close();
    
//Inserción 2 - Horario     
    
$insertHora        $conn->prepare("
    INSERT horario(nomPrgTime, horaini, horafin, diaPrg)
    VALUES('$nomPrg' , '$horaini' , '$horafin' , '$diaPrg')"
);
    
    
//Ejecuta sentencias
    
$insertHora->execute();    

    
//Cerrar sentencia
    
$insertHora->close();

//Cerrar Consulta
$conn->close();

La inserción del nuevo programa se logra y los datos quedan bien en las dos tablas pero el día se muestra un 0 y no se que hacer para resolverlo

Muestro dos imágenes la primera del panel y la segunda de lo que registra el horario


IMAGEN 1



IMAGEN 2
Si te fijas en dia sale 0 pero debe salir el idDia que va desde el 1 hasta el 7





si ves todo el código ya avance muchísimo y no estoy pidiendo que me hagan el trabajo solo que hay detalles como estos que me quedo limitado....Muchas gracias desde antes


AYYYYYYY QUE PEREZA YA LO LOGRE........ después de buen rato editar esta cosa jajaja bueno pongo el código para por si alguien le sirve jajajajaj......saludos

Pongo la imagen que funciona

Etiquetas: listbox, updatepanel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




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