Foros del Web » Programando para Internet » PHP »

Problema con condicional!

Estas en el tema de Problema con condicional! en el foro de PHP en Foros del Web. Amigos, como estan. Bueno la verdad tengo un problema con un condicional y pues es que la idea, es que cuando un usuario Pida una ...
  #1 (permalink)  
Antiguo 29/05/2011, 15:46
 
Fecha de Ingreso: febrero-2011
Ubicación: cali, valle del cauca
Mensajes: 158
Antigüedad: 13 años, 2 meses
Puntos: 8
Problema con condicional!

Amigos, como estan.

Bueno la verdad tengo un problema con un condicional y pues es que la idea, es que cuando un usuario Pida una cantidad mayor aun producto le diga que a superado la cantidad y que no se puede, pero el mio aveces sin superar la cantidad en algunos productos le dise que a superado la cantidad, y no se por que, la existencia la traigo desde la base de datos, aqui esta el codigo!
Código PHP:
Ver original
  1. <?
  2. include_once("conectar.php");
  3. $conn=BD::Conectar();
  4. $tienda=$_POST["tienda"];
  5. $cantidad=$_POST["cantidad"];
  6. $r=mysql_query("SELECT * FROM tb_producto WHERE id_producto='$co'",$conn);
  7. ?>
  8.  
  9.  
  10. <?php
  11.  
  12. while($f=mysql_fetch_array($r))
  13. {
  14. //Aqui el condicional $ex es la existencia. Si $cantidad supera a $ex entonses no lo deja comprar
  15.  
  16. if($cantidad  > $ex)
  17. {
  18. echo '<center><br>
  19.  
  20.  
  21. <font face=arial color=red>! Exedites la existencia del producto, por favor elije una existencia menor a '.$f["existencia"].'!</font></br></center><center><img src="../../free_berries/free_mobile_berries_64/stop_64.png" width="64" height="64" /></center>
  22. <center><font face=arial color=red>!Compra aplazada!</font></center>';
  23.  
  24. }else{
  25. $precio=$f["precio"];
  26.   $edi=$cantidad*$precio;
  27.   $edi = number_format($edi, 0, ',', '.');
  28.   $valor=$f["precio"];
  29.   $valor = number_format($valor, 0, ',', '.');
  30.   $as=$f["nom_producto"];
  31. echo '<table width="819" height="117" border="0">
  32.    <tr>
  33.      <th width="400" height="21" scope="col"><div align="left" class="style12">Producto:</div></th>
  34.      <td><font face="arial" color="black" size="2">'.$f["nom_producto"].'</font></td>
  35.    </tr>
  36.    <tr>
  37.      <td height="21"><span class="style12">Descripcion:</span></td>
  38.      <td><font face="arial" color="black" size="2">'.$f["des_producto"].'</font></td>
  39.    </tr>
  40.    <tr>
  41.      <td height="21"><span class="style12">Precio:</span></td>
  42.      <td><font face="arial" color="red" size="3"><u>$'.$valor.'</u></font></td>
  43.    </tr>
  44.    <tr>
  45.      <td height="21"><span class="style12">Cantidad:</span></td>
  46.      <td><font face="arial" color="black" size="2">'.$cantidad.'</font></td>
  47.    </tr>
  48.    <tr>
  49.  
  50.    </tr>
  51.  </table>'
  52.  
  53.   ;}
  54.  
  55. }
  56. mysql_close($conn);
  57. ?>
  #2 (permalink)  
Antiguo 29/05/2011, 15:51
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Problema con condicional!

Por qué no compruebas ambas variables? Así estas seguro de que el problema son las variables y no el condicional.
Código PHP:
<?php
while($f=mysql_fetch_array($r)) {
    
//Aqui el condicional $ex es la existencia. Si $cantidad supera a $ex entonses no lo deja comprar
    
echo $cantidad.'<br />';
    echo 
$ex.'<br />';
    if(
$cantidad  $ex) {
      
///Blah blah blah
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 29/05/2011, 15:53
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Problema con condicional!

que raro.. si no entendi mal..pareciera estar bien el IF.. no probaste hacer un echo de $ex y de $cantidad... para saber en que caso te hace este problema?
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #4 (permalink)  
Antiguo 29/05/2011, 15:54
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Problema con condicional!

ajajaja ahi te dijo Soucergeek.. lo mismo que yo! parece que publicamos al mismo tiempo.. Esto de hacer el echo...te va a sacar muchas dudas... Saludos!
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #5 (permalink)  
Antiguo 29/05/2011, 15:56
 
Fecha de Ingreso: febrero-2011
Ubicación: cali, valle del cauca
Mensajes: 158
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: Problema con condicional!

Cita:
Iniciado por leo_nqn Ver Mensaje
que raro.. si no entendi mal..pareciera estar bien el IF.. no probaste hacer un echo de $ex y de $cantidad... para saber en que caso te hace este problema?
Amigos, la imformacion llega correcta!
  #6 (permalink)  
Antiguo 29/05/2011, 15:58
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Problema con condicional!

No te quedes con una prueba... hace varias.... por lo visto.... vos decis que el problema no pasa siempre.. pasa aveces... te recomiendo que estes un rato largo probando!
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #7 (permalink)  
Antiguo 29/05/2011, 15:59
 
Fecha de Ingreso: febrero-2011
Ubicación: cali, valle del cauca
Mensajes: 158
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: Problema con condicional!

Cita:
Iniciado por Sourcegeek Ver Mensaje
Por qué no compruebas ambas variables? Así estas seguro de que el problema son las variables y no el condicional.
Código PHP:
<?php
while($f=mysql_fetch_array($r)) {
    
//Aqui el condicional $ex es la existencia. Si $cantidad supera a $ex entonses no lo deja comprar
    
echo $cantidad.'<br />';
    echo 
$ex.'<br />';
    if(
$cantidad  $ex) {
      
///Blah blah blah
Ese problema me da solo en algunos, productos mas no en todos!
  #8 (permalink)  
Antiguo 29/05/2011, 16:14
 
Fecha de Ingreso: febrero-2011
Ubicación: cali, valle del cauca
Mensajes: 158
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: Problema con condicional!

Cita:
Iniciado por leo_nqn Ver Mensaje
No te quedes con una prueba... hace varias.... por lo visto.... vos decis que el problema no pasa siempre.. pasa aveces... te recomiendo que estes un rato largo probando!
No amigo, ya estoy cansado de hacer pruebas y todas me dan la misma bola!
por eso lo comparti en el foro para que me hechen una mano!
  #9 (permalink)  
Antiguo 29/05/2011, 16:26
 
Fecha de Ingreso: julio-2009
Mensajes: 72
Antigüedad: 14 años, 8 meses
Puntos: 16
Respuesta: Problema con condicional!

Pero el codigo no esta completo, yo no veo inicializada la variable $ex ni la variable $co , de donde sacas esos valores?, quizas si pones el codigo completo te podamos ayudar

saludos!
__________________
Desarrollo de proyectos web
Cursos en Argentina - Cursos en México
  #10 (permalink)  
Antiguo 29/05/2011, 16:31
 
Fecha de Ingreso: febrero-2011
Ubicación: cali, valle del cauca
Mensajes: 158
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: Problema con condicional!

Cita:
Iniciado por pochos Ver Mensaje
Pero el codigo no esta completo, yo no veo inicializada la variable $ex ni la variable $co , de donde sacas esos valores?, quizas si pones el codigo completo te podamos ayudar

saludos!
No esos dato vienen de un formulario, nada que no sepamos no tiene nada raro:

En la pagina donde se muestra el producto el usuario ingresa la cantidad y el por medio d eun campo hidden, manda la existencia!
  #11 (permalink)  
Antiguo 29/05/2011, 16:34
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Problema con condicional!

No amigo, se hacen varias pruebas.

Yo tengo años con PHP y aún así hay ocaciones en las que tengo que hacer mil pruebas.

Haz pruebas, es tu proyecto y si quieres que salga deberás hacer mil y un pruebas o las que se necesiten.


Yo leo tu código y veo algo desacomodado por eso me cuesta trabajo identificar el problema, pero en sintaxis parece estar bien.


solo queda..... seguir investigando con cuidado y probando el código una y otra vez. Así es el trabajo de un programador.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #12 (permalink)  
Antiguo 29/05/2011, 16:34
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Problema con condicional!

a bueno amigo.. pero si queres que te ayuden me parece que tendrias que colaborar... nada mas.. pero bueno.. ojala se resuelva tu problema! saludos y un abrazo!
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #13 (permalink)  
Antiguo 29/05/2011, 16:37
 
Fecha de Ingreso: febrero-2011
Ubicación: cali, valle del cauca
Mensajes: 158
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: Problema con condicional!

Cita:
Iniciado por New Ver Mensaje
No amigo, se hacen varias pruebas.

Yo tengo años con PHP y aún así hay ocaciones en las que tengo que hacer mil pruebas.

Haz pruebas, es tu proyecto y si quieres que salga deberás hacer mil y un pruebas o las que se necesiten.


Yo leo tu código y veo algo desacomodado por eso me cuesta trabajo identificar el problema, pero en sintaxis parece estar bien.


solo queda..... seguir investigando con cuidado y probando el código una y otra vez. Así es el trabajo de un programador.
Estare al tanto y publicare mi respuesta
  #14 (permalink)  
Antiguo 29/05/2011, 16:41
 
Fecha de Ingreso: febrero-2011
Ubicación: cali, valle del cauca
Mensajes: 158
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: Problema con condicional!

ok, miremos el codigo estare probando pero si alguiens ave, me ayudaria mucho:
Código PHP:
Ver original
  1. <?
  2. include_once("conectar.php");
  3. $conn=BD::Conectar();
  4. $tienda=$_POST["tienda"];
  5. $cantidad=$_POST["cantidad"];
  6. $r=mysql_query("SELECT * FROM tb_producto WHERE id_producto='$co'",$conn);
  7. ?>
  8.  
  9.  
  10. <?php
  11.  
  12. while($f=mysql_fetch_array($r))
  13. {
  14. $sd=$_POST["cantidad"];
  15.  
  16. if($sd  > $f["existencia"])
  17. {
  18. echo '<center><br>
  19.  
  20.  
  21. <font face=arial color=red>! Exedites la existencia del producto, por favor elije una existencia menor a '.$f["existencia"].'!</font></br></center><center><img src="http://www.forosdelweb.com/free_berries/free_mobile_berries_64/stop_64.png" width="64" height="64" /></center>
  22. <center><font face=arial color=red>!Compra aplazada!</font></center>';
  23.  
  24. }else{
  25. $precio=$f["precio"];
  26.   $edi=$cantidad*$precio;
  27.   $edi = number_format($edi, 0, ',', '.');
  28.   $valor=$f["precio"];
  29.   $valor = number_format($valor, 0, ',', '.');
  30.   $as=$f["nom_producto"];
  31. echo '<table width="819" height="117" border="0">
  32.    <tr>
  33.      <th width="400" height="21" scope="col"><div align="left" class="style12">Producto:</div></th>
  34.      <td><font face="arial" color="black" size="2">'.$f["nom_producto"].'</font></td>
  35.    </tr>
  36.    <tr>
  37.      <td height="21"><span class="style12">Descripcion:</span></td>
  38.      <td><font face="arial" color="black" size="2">'.$f["des_producto"].'</font></td>
  39.    </tr>
  40.    <tr>
  41.      <td height="21"><span class="style12">Precio:</span></td>
  42.      <td><font face="arial" color="red" size="3"><u>$'.$valor.'</u></font></td>
  43.    </tr>
  44.    <tr>
  45.      <td height="21"><span class="style12">Cantidad:</span></td>
  46.      <td><font face="arial" color="black" size="2">'.$cantidad.'</font></td>
  47.    </tr>
  48.    <tr>
  49.  
  50.    </tr>
  51.  </table>'
  52.  
  53.   ;}
  54.  
  55. }
  56. mysql_close($conn);
  57. ?>
  #15 (permalink)  
Antiguo 29/05/2011, 16:41
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: Problema con condicional!

Cita:
Iniciado por eresvey Ver Mensaje
Amigos, como estan.

Bueno la verdad tengo un problema con un condicional y pues es que la idea, es que cuando un usuario Pida una cantidad mayor aun producto le diga que a superado la cantidad y que no se puede, pero el mio aveces sin superar la cantidad en algunos productos le dise que a superado la cantidad, y no se por que, la existencia la traigo desde la base de datos, aqui esta el codigo!
Código PHP:
Ver original
  1. <?
  2. include_once("conectar.php");
  3. $conn=BD::Conectar();
  4. $tienda=$_POST["tienda"];
  5. $cantidad=$_POST["cantidad"];
  6. $r=mysql_query("SELECT * FROM tb_producto WHERE id_producto='$co'",$conn);
  7. ?>
  8.  
  9.  
  10. <?php
  11.  
  12. while($f=mysql_fetch_array($r))
  13. {
  14. //Aqui el condicional $ex es la existencia. Si $cantidad supera a $ex entonses no lo deja comprar
  15.  
  16. if($cantidad  > $ex)
  17. {
  18. echo '<center><br>
  19.  
  20.  
  21. <font face=arial color=red>! Exedites la existencia del producto, por favor elije una existencia menor a '.$f["existencia"].'!</font></br></center><center><img src="http://www.forosdelweb.com/free_berries/free_mobile_berries_64/stop_64.png" width="64" height="64" /></center>
  22. <center><font face=arial color=red>!Compra aplazada!</font></center>';
  23.  
  24. }else{
  25. $precio=$f["precio"];
  26.   $edi=$cantidad*$precio;
  27.   $edi = number_format($edi, 0, ',', '.');
  28.   $valor=$f["precio"];
  29.   $valor = number_format($valor, 0, ',', '.');
  30.   $as=$f["nom_producto"];
  31. echo '<table width="819" height="117" border="0">
  32.    <tr>
  33.      <th width="400" height="21" scope="col"><div align="left" class="style12">Producto:</div></th>
  34.      <td><font face="arial" color="black" size="2">'.$f["nom_producto"].'</font></td>
  35.    </tr>
  36.    <tr>
  37.      <td height="21"><span class="style12">Descripcion:</span></td>
  38.      <td><font face="arial" color="black" size="2">'.$f["des_producto"].'</font></td>
  39.    </tr>
  40.    <tr>
  41.      <td height="21"><span class="style12">Precio:</span></td>
  42.      <td><font face="arial" color="red" size="3"><u>$'.$valor.'</u></font></td>
  43.    </tr>
  44.    <tr>
  45.      <td height="21"><span class="style12">Cantidad:</span></td>
  46.      <td><font face="arial" color="black" size="2">'.$cantidad.'</font></td>
  47.    </tr>
  48.    <tr>
  49.  
  50.    </tr>
  51.  </table>'
  52.  
  53.   ;}
  54.  
  55. }
  56. mysql_close($conn);
  57. ?>
si el primero es el codigo completo no veo en donde esta declarado el valor de $ex, loi traes de la base de datos o como lo traes?? viendolo bien, creo que el problema radica en esta variable, mi concejo como te indico el amigo Sourcegeek es que verifiques las variables ya que como indicas que no es en todos imagino que traes $ex de la DB de una tabla inventario o algo donde tienes la existencia de este producto, que pasa cuando no existe??? esta variable quedaria indefinida por lo que lo mas seguro es que no entre en tu condicional, pero eso solo suponiendo yo cosas, ahora puedes darnos un poco mas de datos, de donde sale la variable $ex que es la unica que no se ve de donde sale ya que la otra sale de un formulario anterior, y buieno tambien la variable $co que no se ve de donde la sacas, 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
  #16 (permalink)  
Antiguo 29/05/2011, 16:44
 
Fecha de Ingreso: febrero-2011
Ubicación: cali, valle del cauca
Mensajes: 158
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: Problema con condicional!

Cita:
Iniciado por carlos_belisario Ver Mensaje
si el primero es el codigo completo no veo en donde esta declarado el valor de $ex, loi traes de la base de datos o como lo traes?? viendolo bien, creo que el problema radica en esta variable, mi concejo como te indico el amigo Sourcegeek es que verifiques las variables ya que como indicas que no es en todos imagino que traes $ex de la DB de una tabla inventario o algo donde tienes la existencia de este producto, que pasa cuando no existe??? esta variable quedaria indefinida por lo que lo mas seguro es que no entre en tu condicional, pero eso solo suponiendo yo cosas, ahora puedes darnos un poco mas de datos, de donde sale la variable $ex que es la unica que no se ve de donde sale ya que la otra sale de un formulario anterior, y buieno tambien la variable $co que no se ve de donde la sacas, saludos
Si hola, la variable viene de aqui:

<input name="cantidad" type="text" value="1"/>
<input name="co" type="hidden" value="<? echo "$co"; ?>"/>

Las traigo desde el formulario donde muestro el otro producto!
  #17 (permalink)  
Antiguo 29/05/2011, 16:49
 
Fecha de Ingreso: febrero-2011
Ubicación: cali, valle del cauca
Mensajes: 158
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: Problema con condicional!

Amigos, el problema esta desde la base de datos cambie esa cantidad, y me resulto... que podria ser?
  #18 (permalink)  
Antiguo 29/05/2011, 16:51
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: Problema con condicional!

ok en el codigo que expones no recibes la variable $co por lo tanto esto
Código PHP:
Ver original
  1. $r=mysql_query("SELECT * FROM tb_producto WHERE id_producto='$co'",$conn);
nunca te daria un resultado, eso si es el codigo completo de tu aplicacion seria un detalle, importante ya que al no tener este valor no tendrias valor de $f["existencia"], pero si en tus pruebas tienes este entonces has un echo de dentro del while como te indico el amigo en este mensaje

Cita:
Iniciado por Sourcegeek Ver Mensaje
Por qué no compruebas ambas variables? Así estas seguro de que el problema son las variables y no el condicional.
Código PHP:
<?php
while($f=mysql_fetch_array($r)) {
    
//Aqui el condicional $ex es la existencia. Si $cantidad supera a $ex entonses no lo deja comprar
    
echo $cantidad.'<br />';
    echo 
$ex.'<br />';
    if(
$cantidad  $ex) {
      
///Blah blah blah
y ve en cuales no te da resultado el $ex que imagino que seria lo mismo que quisiste decir con esto $f["existencia"], 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
  #19 (permalink)  
Antiguo 29/05/2011, 16:55
 
Fecha de Ingreso: febrero-2011
Ubicación: cali, valle del cauca
Mensajes: 158
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: Problema con condicional!

Cita:
Iniciado por carlos_belisario Ver Mensaje
ok en el codigo que expones no recibes la variable $co por lo tanto esto
Código PHP:
Ver original
  1. $r=mysql_query("SELECT * FROM tb_producto WHERE id_producto='$co'",$conn);
nunca te daria un resultado, eso si es el codigo completo de tu aplicacion seria un detalle, importante ya que al no tener este valor no tendrias valor de $f["existencia"], pero si en tus pruebas tienes este entonces has un echo de dentro del while como te indico el amigo en este mensaje



y ve en cuales no te da resultado el $ex que imagino que seria lo mismo que quisiste decir con esto $f["existencia"], saludos

Gracia por tu interes. Paso algo curioso, Las dos variables traen la imformacion de manera correcta. Cambie la cantidad desde el administrador y si Cumple ese condicional. ¿De que sera el problema?
  #20 (permalink)  
Antiguo 29/05/2011, 16:58
 
Fecha de Ingreso: febrero-2011
Ubicación: cali, valle del cauca
Mensajes: 158
Antigüedad: 13 años, 2 meses
Puntos: 8
Respuesta: Problema con condicional!

Llego a un analisis, ALgo sucede cuando el usuario inserta la existencia desde el administrador
  #21 (permalink)  
Antiguo 29/05/2011, 18:17
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Problema con condicional!

El error lo tenes con la aplicaion en el servidor?? o en tu local host?
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #22 (permalink)  
Antiguo 29/05/2011, 19:29
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: Problema con condicional!

Mira, lo dejaré en resumen:
Un if no puede fallar, nunca... El error está necesariamente en las variables que comparas.. Tal vez sea que están mal los registros en Mysql o algo, checa eso.
Supongo que no te puedo ayudar más.

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies

Etiquetas: condicional
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 08:59.