Foros del Web » Programando para Internet » PHP »

que sucede porq no hace lo que necesito?

Estas en el tema de que sucede porq no hace lo que necesito? en el foro de PHP en Foros del Web. Hola tengo varios campos de mi bd los cuales consulto...y como son numeros lo que hago es agregarle un +1 y luego lo actualizo a ...
  #1 (permalink)  
Antiguo 04/07/2011, 21:54
 
Fecha de Ingreso: julio-2010
Mensajes: 523
Antigüedad: 14 años, 4 meses
Puntos: 4
que sucede porq no hace lo que necesito?

Hola tengo varios campos de mi bd los cuales consulto...y como son numeros lo que hago es agregarle un +1 y luego lo actualizo a la bd y listo....yo hago la consulta y consulta perfectamente pero al momento de actualizar no ingresa los datos como es....por ejemplo si consulta y los resultados son 1 y 6 entonces se supone que deberia de quedar 2 y 7...con el +1 que le puse

entonces queda asi...pero cuando voy a actualizar la tabla de mi bd los dos registros me los pone en 7 y no uno en 2 y otro en 7...que podra suceder ?

anexo la consulta y eso...gracias

Código PHP:
$consulta = ("SELECT cuantas_res FROM recibe WHERE (id='$id' AND id_recibe NOT IN($id_usuario))");
$result_nuevo_res mysql_query($consulta) or die('Error, query failed'mysql_error());
while (
$row_nue_res mysql_fetch_array($result_nuevo_res)){
    
$cuantas_res$row_nue_res['cuantas_res'];
    
$cuantas_nuevas=$cuantas_respuestas+1;
    echo 
$cuantas_nuevas;
    echo 
"<br>";
    
$si="si";
    
$quer "UPDATE recibe SET cuantas_res='$cuantas_nuevas', nuevo='$si' WHERE (id_mensaje='$id_mensaje' AND id_recibe NOT IN($id_usuario))";
                     

                      
mysql_query($quer) or die(mysql_error());

que podra suceder ayuda....gracias
  #2 (permalink)  
Antiguo 04/07/2011, 21:57
 
Fecha de Ingreso: julio-2010
Mensajes: 523
Antigüedad: 14 años, 4 meses
Puntos: 4
Respuesta: que sucede porq no hace lo que necesito?

no se si debo hacerle un foreach ?....si es asi...como deberia hacerlo? gracias y disculpen las molestias
  #3 (permalink)  
Antiguo 05/07/2011, 03:13
 
Fecha de Ingreso: febrero-2010
Mensajes: 295
Antigüedad: 14 años, 9 meses
Puntos: 58
Respuesta: que sucede porq no hace lo que necesito?

Hola eduardo160

Parece que tienes un error aquí:

$cuantas_nuevas=$cuantas_respuestas+1;

creo que sería así:

$cuantas_nuevas=$cuantas_res+1;

No se si será por eso el fallo. Prueba a ver.
  #4 (permalink)  
Antiguo 05/07/2011, 04:58
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 14 años, 3 meses
Puntos: 202
Respuesta: que sucede porq no hace lo que necesito?

Cita:
Iniciado por eduardo160 Ver Mensaje
Código PHP:
$consulta = ("SELECT cuantas_res FROM recibe WHERE (id='$id' AND id_recibe NOT IN($id_usuario))");
$result_nuevo_res mysql_query($consulta) or die('Error, query failed'mysql_error());
while (
$row_nue_res mysql_fetch_array($result_nuevo_res)){
    
$cuantas_res$row_nue_res['cuantas_res'];
    
$cuantas_nuevas=$cuantas_respuestas+1;
    echo 
$cuantas_nuevas;


Por partes:

-$cuantas_respuestas no aparece definido en el código que muestras. Presupondré que debería ser $cuantas_res ya que el código tal cual daría siempre 1.

- Si se trataba de $cuantas_res y te equivocaste al copiar pues siempre dará $cuantas_res+1 y será el mismo resultado porque en el bucle estás volviendo a inicializar la variable y después sumas 1
(posiblemente esto es lo que te da 7,7,7)

Viendo tu consulta sospecho que sólo intentas sacar el total de registros que hay.

Para hacer un contador te bastaba con inciciar en 0 una variable y sumarle 1:
Código PHP:
$cont=0;
$consulta = ("SELECT cuantas_res FROM recibe WHERE (id='$id' AND id_recibe NOT IN($id_usuario))");
$result_nuevo_res mysql_query($consulta) or die('Error, query failed'mysql_error());
while (
$row_nue_res mysql_fetch_array($result_nuevo_res)){
$cont++;
//....


O utilizar mysql_num_rows();

O también lo puedes hacer en la consulta con SQL utilizando count()
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #5 (permalink)  
Antiguo 05/07/2011, 11:32
 
Fecha de Ingreso: julio-2010
Mensajes: 523
Antigüedad: 14 años, 4 meses
Puntos: 4
Respuesta: que sucede porq no hace lo que necesito?

no no no yo no quiero saber cuantos datos hay para eso yo uso el mysq_num_rows() ya eso de cuantas_res ya esta erreglado...pero lo que pasa es que yo consulto un campo..el cual me suelta dos registros....

entonces a cada uno de esos dos le sumo +1 "ya que son numericos" y hago un update en la bd para que actualice cada campo con su respectivo campo que se le sumo mas uno...entonces en un campo por ejemplo deberia de poner un 8 y en otro un 4
entonces ps no lo hace me pone 8 en loss dos campos...osea actualiza los campos pero solo pone 8 en los dos campos en vez de ser 4 en un campo y 8 en otro campo....porq sera?
  #6 (permalink)  
Antiguo 05/07/2011, 11:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: que sucede porq no hace lo que necesito?

¿Necesitas incrementar el valor de una columna?

No es necesario hacerlo con PHP, no te compliques, usa SQL directamente:
Cita:
UPDATE tabla SET columna = columna + 1 WHERE algo
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 05/07/2011, 11:46
 
Fecha de Ingreso: julio-2010
Mensajes: 523
Antigüedad: 14 años, 4 meses
Puntos: 4
Respuesta: que sucede porq no hace lo que necesito?

ok muchas gracias...ya funciona :D

Etiquetas: Ninguno
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 22:45.