Foros del Web » Programando para Internet » PHP »

Consulta simple se me rrreee complico!

Estas en el tema de Consulta simple se me rrreee complico! en el foro de PHP en Foros del Web. Hola amigos. Parece ser una consulta simple pero para un novato como yo en estas cosas se me ha complicado demasiado y no se hacerla. ...
  #1 (permalink)  
Antiguo 30/09/2010, 15:43
Avatar de cuatrosoles  
Fecha de Ingreso: junio-2009
Mensajes: 66
Antigüedad: 14 años, 10 meses
Puntos: 1
Consulta simple se me rrreee complico!

Hola amigos. Parece ser una consulta simple pero para un novato como yo en estas cosas se me ha complicado demasiado y no se hacerla. El tema es que tengo una BD llamada ventas con una TABLA llamada empresa, con un CAMPO (entre otros) llamado formapago, en el que se almacenan dos diferentes variables: 'Comisionista' y 'Cuenta Digital'.
Lo que deseo es poder hacer una consulta mysql que me devuelva la cantidad de registros que tiene formapago con la variable 'Comisionista'. Esto lo he logrado con el siguiente codigo:

<?php
$bd_host = "localhost";
$bd_usuario = "root";
$bd_password = "";
$bd_base = "ventas";
$con = mysql_connect($bd_host, $bd_usuario, $bd_password);
mysql_select_db($bd_base, $con);
$resultado = mysql_query($sql, $con);
$contar = "SELECT COUNT(formapago) FROM empresa WHERE formapago LIKE 'Comisionista'";
$count_result = mysql_query($contar, $con);
$total1 = mysql_result($count_result, 0, 0);
echo $total1['COUNT(formapago)'];
?>

Con esto, el echo me devuelve, en forma correcta, "4", que es la cantidad de registros que poseen la variable 'Comisionista'.
Ahora viene lo complicado (para mi jejeje).
Cuando quiero que al comparar este numero (4) me genere una accion ...ops... no lo hace...
Este es el codigo que uso para mostrar, en este caso, la cantidad de letras "X" de acuerdo al resultado de la variable:

<?php
switch($total1['COUNT(formapago)']) {
case "1": // Bloque 1
echo "X";
echo "<br>";
break;
case "2": // Bloque 2
echo "XX";
echo "<br>";
break;
case "3": // Bloque 3
echo "XXX";
echo "<br>";
break;
case "4": // Bloque 4
echo "XXXX";
echo "<br>";
break;
case "5": // Bloque 5
echo "XXXXX";
echo "<br>";
break;
case "6": // Bloque 6
.
.
.
asi continua hasta nueve
.
.
.
default: // Bloque 10
echo "La variable contiene otro valor";
echo " distinto ";
}
?>


Probe tambien con if y else if y nada, siempre me muestra en pantalla una sola X en lugar de mostrarme XXXX.
Desde ya gracias por su ayuda.
Saludos. Atentamente.
Juan de Pergamino.
  #2 (permalink)  
Antiguo 30/09/2010, 16:14
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Respuesta: Consulta simple se me rrreee complico!

Buenas noches,

Tu pregunta debería ir al foro de PHP y no a este.

El problema lo tienes en la forma de guardar la variable

$total1 = mysql_result($count_result, 0, 0);
echo $total1['COUNT(formapago)'];

Si en $total1 tienes el valor, ponlo directamente en tu switch

Código PHP:
Ver original
  1. <?php
  2.  
  3. $valor=4;
  4. //switch($total1['COUNT(formapago)']) {
  5. switch($valor) {
  6.     case "1": // Bloque 1
  7.         echo "X";
  8.         echo "<br>";
  9.     break;
  10.     case "2": // Bloque 2
  11.         echo "XX";
  12.         echo "<br>";
  13.     break;
  14.     case "3": // Bloque 3
  15.         echo "XXX";
  16.         echo "<br>";
  17.         break;
  18.     case "4": // Bloque 4
  19.         echo "XXXX";
  20.         echo "<br>";
  21.         break;
  22.     case "5": // Bloque 5
  23.         echo "XXXXX";
  24.         echo "<br>";
  25.         break;
  26.     default: // Bloque 10
  27.         echo "La variable contiene otro valor";
  28.         echo " distinto ";
  29. }
  30. ?>
  #3 (permalink)  
Antiguo 30/09/2010, 20:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Hola, cuatrosoles.

Traslado el tema a una sección donde encaja mejor.
Tema trasladado desde la sección de Mysql.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 30/09/2010, 21:19
Avatar de cuatrosoles  
Fecha de Ingreso: junio-2009
Mensajes: 66
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Consulta simple se me rrreee complico!

Perfecto, solucionado, gracias.
Un abrazo.

Etiquetas: simple
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 03:20.