Foros del Web » Programando para Internet » PHP »

mysql_fetch_array y ++

Estas en el tema de mysql_fetch_array y ++ en el foro de PHP en Foros del Web. Saludos, utilizo fetch utilizo un valor llamado $database['number'] para incrementarlo a +1 el cual se encuentra dentro de un condicional, pero no entiendo porq se ...
  #1 (permalink)  
Antiguo 29/07/2010, 14:24
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Información mysql_fetch_array y ++

Saludos,

utilizo fetch
utilizo un valor llamado $database['number'] para incrementarlo a +1 el cual se encuentra dentro de un condicional, pero no entiendo porq se suma +2.

EJ:

$case = "done"
//$database['number'] es igual a NULL(es decir 0)
echo ($database['number']); //pero aqui muestra 1
if($case == "done") {
$database['number'] ++; } else {echo "case lost"; }
echo ($database['number']); //Aqui muestra 2

Porq me le suma 1 al iniciar ? el unico lugar donde suma es dentro de la condicion, pero antes de entrar por alguna razon se le suma 1

Grax! espero respuestAS!
  #2 (permalink)  
Antiguo 29/07/2010, 14:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: mysql_fetch_array y ++

el operador ++ incrementa en 1 el valor de la variable...

sería bueno que te pongas a leer el manual... (:

Edito: ¿al iniciar??

no entiendo... no tiene sentido, PHP no hace cosas sin que tu lo indiques...

el error es casi seguro sea humano, pero... ¿puedes mostrar como lo haces?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 29/07/2010 a las 14:35
  #3 (permalink)  
Antiguo 29/07/2010, 14:40
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: mysql_fetch_array y ++

Cita:
Iniciado por Bigcrime Ver Mensaje
incrementarlo a +1
Buena observacion, pero la pregunta no era esa.

La pregunta es porq se incrementa 2 veces +1
antes del condicional y dentro del condicional, ya sea:

++;
+= 1;
$database['number'] = $database['number']+1;
(Para ser mas redundantes)


grax y Espero RespuesTas ^_^!

Edito:

Antes de preguntar aca, lo intento solo, y llevo 2 horas casi 3 sin entender que pasa.
Por eso en el topico puse fetch y ++ , para ver si hay algo sobre el fetch que no sepa,
no entiendo porq se le suma 1 antes de entrar al condicional , pero se que se debe al condicional
ya que si lo elimino no suma nada y si lo pongo se suma 1 antes de entrar y dentro tambien.
Podria resolverlo restando 1 antes de entrar, pero no me gusta llevar un codigo donde algo no he entendido.
AHHHHH de donde diantres se le suma el primer +1 !!! estoy parado !!

realmente no se que pasa, es toy tan sorprendido como cualquiera. : (

re-edito:

habia pensado pero no intentado lo de -1 antes de entrar al condicional , ahora lo puse y se queda fijo en 0.
le puse otros numero y se quidan fijos tambien. AFFFFF ahora si que esto es mas confuso!!!

Última edición por Bigcrime; 29/07/2010 a las 15:04 Razón: re-edito :D:
  #4 (permalink)  
Antiguo 29/07/2010, 15:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: mysql_fetch_array y ++

bueno, ¿si quieres mostrar como lo haces?

porque adivinos no somos... y así como planteas el problema pues es necesario ver que diantres haces...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 29/07/2010, 19:01
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: mysql_fetch_array y ++

HolaS!!

Mira aca tienes el code

Código PHP:
Ver original
  1. <?php
  2. $con = mysql_connect("localhost","root" ,"");
  3. mysql_select_db("data",$con);
  4.  
  5. $consult = "SELECT * FROM cuentas WHERE usuario='dani'";
  6. $result = mysql_query($consult);
  7. $info = mysql_fetch_array($result);
  8.  
  9. echo ($info['number'] );
  10. if($info['number']  == 0){ $info['number'] = 1; } else { $info['number']  += 1;  }
  11. echo ($info['number'] );
  12.  
  13. $completed = "UPDATE cuentas SET caso='".$info['number']."' WHERE usuario='dani'";
  14.        
  15. mysql_query($completed);
  16. ?>

Solo tienes que crear esa base de datos y ese campo si quieres probarlo. Un enlace debe llevarte a este archivo, creas otro archivo php con un enlace que te lleve al archivo que contendra el code que te pegue aca.

Cosas que he descubierto:

1- Solo pasa cuando le das al enlace, si actualizas no pasa.(Es decir suma 1 como debe de ser)
2- Descarge Safari y en este no pasa, solo me esta pasando en firefox.

Eso quiere decir que algo pasa con el enlace que firefox hace algo raro con el. al principio pense que podia ser que lo este actualizando, es decir, carga y lo actualiza y pareciera que sumo +2 pero en reliadad el proceso se hizo 2 veces, pero puse un alert y solo salio 1 vez.

Realmente espero que alguien me ayude!!!

GraX!

Nota: ese no es el code real, el real es muy largo , simplemente cree un trozo similar en el cual ocurre lo mismo, es decir, si me ayudan con el trozo todo estara resuelto :D!
  #6 (permalink)  
Antiguo 29/07/2010, 19:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: mysql_fetch_array y ++

Cita:
Iniciado por Bigcrime Ver Mensaje
1- Solo pasa cuando le das al enlace, si actualizas no pasa.(Es decir suma 1 como debe de ser)
2- Descarge Safari y en este no pasa, solo me esta pasando en firefox.
pues no...

tu código es tan sencillo que cualquier usuario puede crearlo, y jamás daría error... seguro estas omitiendo algo sin darte cuenta... ¿como vamos a saber nosotros?

yo mismo he probado tu script, y me da los resultados correctos... es como si me dijeras: cuando hago un 2+2 me da 5 en firefox....

otra cosa, es que PHP se ejecuta en el servidor... y en el navegador no!!

¿como comprobar que no se ejecuta dos veces como dices?
R: activa firebug > red y revisa por ti mismo las peticiones...

(eso sin mencionar que PHP es un lenguaje stateless por lo tanto aunque hicieras 1000 peticiones cada una daría el mismo resultado: 1)

por favor, revisa bien tu script completo... y asegurate de que has hecho todo bien...

PDTA: también probé lo del enlace, safari, etc.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 29/07/2010, 20:36
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: mysql_fetch_array y ++

haber, aveces creo que no me estoy dando a explicar bien, pero te hago esta pregunta:

Si en Safari el acumulador fuciona bien al apretar el boton y en firefox no, que debo revisar ?

Si me dices que es el codigo PHP, pues Safari es un Dios que puede reparar errores de codigo
del lado del servidor.

Es logico que el codigo no tiene errores, que el problema no es de PHP, ya que safari y ie lo demostraron, mostrando el resultado. Firefox mostro el resultado solo cuando quito el boton y lo corro yo mismo. Para mi Todo apunta al BOTON! algo pasa no se, pero es por el code de html que revisare ^_^, quizas sea javascript.

Pero quisiera saber que harias en caso de que te suceda lo que pregunte ^^.

Ahora mismo empezare de nuevo a verificar. investigare sobre el firebug :D

GraX!
  #8 (permalink)  
Antiguo 29/07/2010, 21:00
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: mysql_fetch_array y ++

SIIIIIIIIIIIIIIIIIIIIIIII SIIIIIIIIIIIIIIII POR FIN!!!!!!!!!!! OMG OMG!!!! Lo LOGRE!!!
Era por el Code HTML! pero no entiendo!!! es decir, el mani que me dien por cerebro no lo puede captar, por eso preguntare :D!

Simplemente cambie esto:
<a href="prueba2.php"><input type="button" value="Activar"></a>
A esto:
<a href="prueba2.php">Activar</a>

Y firefox lo corrio normal!

No entiendo NO LO ENTIENDO, eRA el BOTON! todo apuntaba al boton, pero nunca crei que
realmente fuera el mismisimo boton y no alguna funcion de javascript!!! POr que ?
quiero poner un boton, no letras ^_^!

GRAX!
  #9 (permalink)  
Antiguo 29/07/2010, 21:13
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Respuesta: mysql_fetch_array y ++

Creo que necesitas estudiar un poco más de HTML semantico

No es correcto poner un boton dentro de un "<a>".

Reestructura tus ideas :)
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #10 (permalink)  
Antiguo 29/07/2010, 21:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: mysql_fetch_array y ++

Cita:
Iniciado por Bigcrime Ver Mensaje
[...] No entiendo NO LO ENTIENDO, eRA el BOTON! todo apuntaba al boton, pero nunca crei que
realmente fuera el mismisimo boton y no alguna funcion de javascript!!! POr que ?
quiero poner un boton, no letras ^_^!
el botón esta dentro de un formulario?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 29/07/2010, 21:51
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: mysql_fetch_array y ++

Bueno, en mi manual de HTML no hablo de semantico, solo en el de javascript.

Pero investigare, muchas Grax!, de todas formas siempre existen alternativas :D!
pondre el Boton de otra forma :D.

Grax a todos!
  #12 (permalink)  
Antiguo 29/07/2010, 21:57
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: mysql_fetch_array y ++

bueno si estas usando javascript no es necesario que hagas un vinculo puedes poner un boton que llame a un window.location en el evento onClick ej
Código:
<input type="button" value="Activar" onClick="window.location='pagina.php'"/>
claro es mejor que en el evento onClick llames a una funcion y que el window.location este dentro de una funcion en tu codigo javascript, pero creo que la mejor manera de usar un boton es con el formulario suerte espero ayudarte
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

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 15:12.