Foros del Web » Programando para Internet » PHP »

Dudas con php y mysql

Estas en el tema de Dudas con php y mysql en el foro de PHP en Foros del Web. hola yo estoy haciendo un sistema donde te dice cuantos puestos quedan disponibles para usar. el tema es que esos puertos son dispuestos por un ...
  #1 (permalink)  
Antiguo 05/12/2009, 13:27
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 14 años, 11 meses
Puntos: 5
Dudas con php y mysql

hola yo estoy haciendo un sistema donde te dice cuantos puestos quedan disponibles para usar.
el tema es que esos puertos son dispuestos por un porcentaje en cuanto a la cantidad de integrantes de la comunidad.
o sea que lo primero que hago es obtener la cantidad de gente que hay de la db luego le saco el porsentaje para cada puesto y obtengo el resultado que cuantos puestos hay disponibles pero tambien necesito que a ee resultado le reste los que ya estan ocupados y necesito hacer una pregunta a la db donde la respuesta sea la siguiente:

ejemplo

username puesto
fulano 1
fulano 2 1
fulano3 2
mengano 2
etc 2

necesito que el resultado de la pregunta sea
puesto 1 2
puesto 2 3 // 2 es el nombre del puesto 3 son la antidad de personas que tienen ese puesto

para de esta forma poder restarle al resultado anterior esto y tener la cantidad disponible real....

bueno espero haber sido claro con esto y que alguin sepa como hacerlo

lei algo de "group by" pero no entendi como funciona o si es lo que necesito y despues tampoco entendi como recuperar el resultado en php proque no creo que sea con "mysql_fetch_Array();"

bueno desde ya muchas gracias
  #2 (permalink)  
Antiguo 05/12/2009, 14:52
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: Dudas con php y mysql

Cita:
username puesto
fulano 1
fulano 2 1
fulano3 2
mengano 2
etc 2

necesito que el resultado de la pregunta sea
puesto 1 2
puesto 2 3 // 2 es el nombre del puesto 3 son la antidad de personas que tienen ese puesto
No te entiendo bien. Si en un puesto puede haber varias personas, te aconsejo que lo hagas sin poner dos valores en puesto(como fulano 2 1 o fulano 3 2).

Entonces, necesitarias saber los puestos ocupados, con la función:

*******************************
function conexion()
{
$idCone = mysql_connect (localhost, root, contraseña) or die ("Error conectando al servidor host con el nombre de usuario usuario");

mysql_select_db (empresario, $idCone) or die ("Error seleccionando la base de datos");
}

$conectar=conexion()
$SQL = "SELECT puesto FROM nombre_tabla Where (puesto LIKE '1' )";
//ahora obtenemos el listado de gente en ese puesto
echo "<Table border=1 Align=Center>";
echo "<TR>";
echo "<Td> Puesto 1 </td>";
echo "<td>;
$Registro = mysql_query($SQL,$idCone);
while($Fila = mysql_fetch_array($Registro))
{
echo ", ".$Fila[Nombre];
}
echo "</td>;
************
Así te saldrían todos, si le añades agregas otra fila que haga "$puesto1=$puesto1++" Te saldrá también el número de usuarios cuando llames a la variable $puesto1.

Si solo necesitas contar, sin saber quién hay en cada lugar:

*********
select puesto,count(*) from nombre_tabla group by 1

*********
Cambiando el 1, buscarás en cada puesto, pues estarian numerados con 1, 2 3...


No sé si será así.

La función count no la he probado, la he leido, no obstante, si no te va, usa la forma 1, cambiando
echo ", ".$Fila[Nombre];
Por
$1++
Así la variable $1 sumará 1 cada vez que encuentre a alguien, lo que hará que acabe con el valor del número de usuarios del puesto 1.
  #3 (permalink)  
Antiguo 05/12/2009, 15:21
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 1 mes
Puntos: 25
Respuesta: Dudas con php y mysql

no es más fácil con un while y almacenando todos los datos en un array?
__________________
Hospedaje Web al mejor costo!
  #4 (permalink)  
Antiguo 05/12/2009, 16:36
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: Dudas con php y mysql

gracias por responder lo que yo queria era la segunda opcion que dijo millan2525 pasa que puesto no es un numero es por ejemplo carnisero, herrero, etc....

pero igual me parese que la mejor opcion es esa de count por lo que entendi me dise cuantas entradas hay en ese puesto no ??

lo segundo que dijo millan2525 seria lo mismo que hacer un while creo...
pero igual con el count sigo obteniendo lo justo y necesario voy a investigar por ahi.

porque tambien deberia hacerle un while al count no ?? para en cada vuelta recuperar los datos de cada puesto o estoy equivocado..?

como puedo hacer esto de una forma corta ?? porque yo lo sabia hacer haciendo varias consultas a la db y recuperando los datos con un "mysql_num_rows();" seria facil pero no creo que sea la forma mas correcta nos ???
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 05:30.