Foros del Web » Programando para Internet » PHP »

Problema al hacer un UPDATE

Estas en el tema de Problema al hacer un UPDATE en el foro de PHP en Foros del Web. Muy buenas, el pesao de turno de nuevo. Espero no solucionarlo cuando termine la pregunta porque si no me van a querer matar xD Os ...
  #1 (permalink)  
Antiguo 03/09/2010, 04:39
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 772
Antigüedad: 15 años
Puntos: 15
De acuerdo Problema al hacer un UPDATE

Muy buenas, el pesao de turno de nuevo. Espero no solucionarlo cuando termine la pregunta porque si no me van a querer matar xD

Os explico el problema que tengo ahora.

Estoy en una lista con 6 opciones para votar cada opción, con su nombre, imagen, etc. Todo bien. La url sería ( parte ):

?verlista=1

Lo que quiero es que cuando esté le haga un request y verifique en la base de datos que ese 1 corresponde a una lista en concreto (ya que cada lista tiene una numeración única) que actualize el valor de lista_votos (una tabla) solo actualize lo de la lista de esa id en concreto.

Lo que tengo hasta el momento, y no logro hacerlo, es lo siguiente:

Código PHP:
$m=1;
while(isset(
$_REQUEST["radio".$m]) ){
    
// Valor del voto, 1 a 1.
    
$radioVoto $_REQUEST["radio".$m];
    
    
$verListaparaVotos $_REQUEST['verlista'];
    
    
$queryContar2 "SELECT COUNT(*) FROM wp_lista WHERE lista_id_propia='$verListaparaVotos' ";
    
$contar2 mysql_query($queryContar2);
    
$contarPrint2 mysql_fetch_assoc($contar2);
    echo 
$contarPrint2['lista_id'];
    
    
    
$selectIDvotos mysql_query("SELECT * FROM wp_lista WHERE lista_id_propia='$numLista' ");
        while(
$updateconID mysql_fetch_assoc($selectIDvotos)){
            echo 
$updateconID['lista_id']." == ";
            continue;
        }
        
$m++;    
// Cierra isset $_REQUEST[radio 

Gracias !!! =)
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #2 (permalink)  
Antiguo 03/09/2010, 08:10
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 10 años, 8 meses
Puntos: 9
Respuesta: Problema al hacer un UPDATE

/*...y donde esta tu update ???....ademas esto esta malo

SELECT COUNT(*) FROM wp_lista WHERE lista_id_propia='$verListaparaVotos'

te falto el alias..dejalo asi

SELECT COUNT(*) cantidad_lista FROM wp_lista WHERE lista_id_propia='$verListaparaVotos'

y sacas la cantidad asi

$contarPrint2['cantidad_lista']; */
  #3 (permalink)  
Antiguo 03/09/2010, 10:28
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 11 años
Puntos: 461
Respuesta: Problema al hacer un UPDATE

Cita:
Iniciado por __SDP__ Ver Mensaje
/*...y donde esta tu update ???....ademas esto esta malo

SELECT COUNT(*) FROM wp_lista WHERE lista_id_propia='$verListaparaVotos'

te falto el alias..dejalo asi

SELECT COUNT(*) cantidad_lista FROM wp_lista WHERE lista_id_propia='$verListaparaVotos'

y sacas la cantidad asi

$contarPrint2['cantidad_lista']; */
hasta donde tengo entendido no es necesario agregar el alias pero si lo tiene q hcer debe de clocar el as
Código PHP:
Ver original
  1. SELECT COUNT(*) [B]as[/B] cantidad_lista FROM wp_lista WHERE lista_id_propia='$verListaparaVotos'
y bueno si no nos muestras el update como te ayudamos con el?? saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #4 (permalink)  
Antiguo 03/09/2010, 12:44
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 772
Antigüedad: 15 años
Puntos: 15
Respuesta: Problema al hacer un UPDATE

Perdonar que me había comido esa parte xD

Código PHP:
$m=1;

$queryContar2 "SELECT COUNT(*) FROM wp_lista WHERE lista_id_propia='$numLista' ";
$contar2 mysql_query($queryContar2);
$contarPrint2 mysql_fetch_array($contar2);
$contarListasUnicas $contarPrint2[0];
//echo $contarListasUnicas;

while(isset($_REQUEST["radio".$m]) ){
    
// Valor del voto, 1 a 1.
    
$radioVoto $_REQUEST["radio".$m];
    
    
    
    
$seleccionarID mysql_query("SELECT * FROM wp_lista WHERE lista_id_propia='$numLista' ");
    while(
$seleccionarIDprint mysql_fetch_assoc($seleccionarID)){
        
$lnidprin$seleccionarIDprint['lista_nombre'];
        
$subirVotos "UPDATE wp_lista SET lista_votos = '$radioVoto' WHERE lista_nombre='$lnidprin' ";
        if(
mysql_query($subirVotos)){
            echo 
"se subió bien";
        }else{
            echo 
"se subió mal";
        }
    continue;
    }
    
    
    
        
$m++;    
// Cierra isset $_REQUEST[radio 
Gracias !!


NOTA: os cuento lo que estoy intentado hacer más detalladamente.
En mi BD llamada wp_lista tengo una tabla que se llama lista_votos. Lo que quiero hacer es 1º. una query para que me saque los votos cuando estoy en una sección determinada (Cada sección tiene una ID única 1,2.3.. etc) y cuando tenga ese valor sumarle el de voto que se ha producido y hacer el UPDATE. Por eso estoy tan rallado porque no se como podría conseguirlo. La única forma que se me ocurre es con WHILE y se repite tantas veces que parece un bucle sin fin xD
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?

Última edición por Jask; 03/09/2010 a las 13:13
  #5 (permalink)  
Antiguo 03/09/2010, 14:09
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 11 años
Puntos: 461
Respuesta: Problema al hacer un UPDATE

bueno lo primero q veo es esta variable $numLista no la tienes definida es decir siempre es igual a nada x lo q no te deberia traer datos en la consulta al menos que tu lo tengas vacio en la base de datos suerte
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #6 (permalink)  
Antiguo 03/09/2010, 19:53
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 772
Antigüedad: 15 años
Puntos: 15
Respuesta: Problema al hacer un UPDATE

He conseguido hacer que suba los votos, es decir, si vos votas (del 1 al 5) los pone en la BD sin ningún problema. El problema que tengo ahora es que baje el resultado que hay en la BD y luego lo sume con el que se va a votar y lo suba :S

Código PHP:
$m=1;
$query4 mysql_query("SELECT lista_votos FROM wp_lista WHERE lista_id_propia='$idPro' ");
while(
$printQuery4 mysql_fetch_assoc($query4)){
    
$votos $printQuery4['lista_votos'];
    
    
    
$idPro $_REQUEST['verlista'];
    
$query2 mysql_query("SELECT * FROM wp_lista WHERE lista_id_propia='$idPro' ");
    while(
$printQuery2 mysql_fetch_assoc($query2)){
        
        if(isset(
$printQuery2['lista_nombre'])){
              
$nombreLista $printQuery2['lista_nombre'];
        
            if(isset(
$_REQUEST["radio".$m]) ){
                
$radioVoto $_REQUEST["radio".$m];
                
$votosTotales $votos $radioVoto;
                
mysql_query("UPDATE wp_lista SET lista_votos = '$votosTotales' WHERE lista_id_propia='$idPro' AND lista_nombre='$nombreLista' ");
                
$m++;

            }
        }
    }    

__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #7 (permalink)  
Antiguo 03/09/2010, 19:58
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 11 años
Puntos: 461
Respuesta: Problema al hacer un UPDATE

hazlo directamente en la consulta
Código PHP:
Ver original
  1. mysql_query("UPDATE wp_lista SET lista_votos = lista_votos +$radioVoto WHERE lista_id_propia='$idPro' AND lista_nombre='$nombreLista' ");
suerte
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #8 (permalink)  
Antiguo 03/09/2010, 19:59
 
Fecha de Ingreso: enero-2009
Ubicación: Neiva, Huila
Mensajes: 196
Antigüedad: 12 años, 4 meses
Puntos: 2
Respuesta: Problema al hacer un UPDATE

jajaja..es un problema basico
despues de validar por quien votaron
...ve a la base de datos...sacas cuantos votos lleva....con un select campo_que_ lleva_el_conteo from tabla where candidato = XXXX...
$nuevovalor = cantidad que retorna el select +1

luego a ese numero le sumas uno...
y mandas un update tabla set ampo_que_ lleva_el_conteo=$nuevovalor where candidato = XXXX...

jejeje
  #9 (permalink)  
Antiguo 04/09/2010, 03:43
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 772
Antigüedad: 15 años
Puntos: 15
De acuerdo Respuesta: Problema al hacer un UPDATE

Cita:
Iniciado por carlos_belisario Ver Mensaje
hazlo directamente en la consulta
Código PHP:
Ver original
  1. mysql_query("UPDATE wp_lista SET lista_votos = lista_votos +$radioVoto WHERE lista_id_propia='$idPro' AND lista_nombre='$nombreLista' ");
suerte
Muchas gracias, no conocía esa opción de hacerlo directamente en la query, es mucho más cómodo xD

Cita:
Iniciado por naciostars Ver Mensaje
jajaja..es un problema basico
despues de validar por quien votaron
...ve a la base de datos...sacas cuantos votos lleva....con un select campo_que_ lleva_el_conteo from tabla where candidato = XXXX...
$nuevovalor = cantidad que retorna el select +1

luego a ese numero le sumas uno...
y mandas un update tabla set ampo_que_ lleva_el_conteo=$nuevovalor where candidato = XXXX...

jejeje
Me quedo con la opción de arriba, porque por como lo hice puede resultar desastroso xDD



Este es el código final, por si a alguien le sirve:

Código PHP:
$idPro $_REQUEST['verlista'];
$query2 mysql_query("SELECT * FROM wp_lista WHERE lista_id_propia='$idPro' ");
while(
$printQuery2 mysql_fetch_assoc($query2)){
    
    if(isset(
$printQuery2['lista_nombre'])){
        
$nombreLista $printQuery2['lista_nombre'];
    
        if(isset(
$_REQUEST["radio".$m]) ){
            
$radioVoto $_REQUEST["radio".$m];

            
mysql_query("UPDATE wp_lista SET lista_votos = lista_votos + $radioVoto WHERE lista_id_propia='$idPro' AND lista_nombre='$nombreLista' ");
            
$m++;
        }
    }

__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #10 (permalink)  
Antiguo 04/09/2010, 12:09
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 11 años
Puntos: 461
Respuesta: Problema al hacer un UPDATE

que bien que te alla resultado y esas son cosas q se van aprendiendo con las necesidades q uno vaya teniendo y la lectura a algunos tutoriales saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #11 (permalink)  
Antiguo 05/09/2010, 10:22
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 772
Antigüedad: 15 años
Puntos: 15
Respuesta: Problema al hacer un UPDATE

Cita:
Iniciado por carlos_belisario Ver Mensaje
que bien que te alla resultado y esas son cosas q se van aprendiendo con las necesidades q uno vaya teniendo y la lectura a algunos tutoriales saludos
Si, la verdad que cosas asi te hacen aprender para un futuro, nunca terminás de aprender todo lo necesario jajaja :)

Un saludo y gracias !!
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?

Etiquetas: listas, mysql, query, votos
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




La zona horaria es GMT -6. Ahora son las 07:21.