PHP - Problemas en consulta

 
Vista:

Problemas en consulta

Publicado por Luis (5 intervenciones) el 04/06/2007 23:56:28
Hola, hoy he pasado todo el dia intentando sacar esto, y me ha sido imposible.
Lo que quiero es obtener los valores de una tabla numerados.
La tabla posee 8 elementos que son 8 (varchar) y yo hago lo siguiente:

$sqlPos="SELECT * FROM division1 ORDER BY puntos DESC";
$resultPos=mysql_query($sqlPos,$idcon);
while($filaPos=mysql_fetch_assoc($resultPos)){
echo $filaPos['nombre_equipo'];
echo '<br>';
}

De esta manera la consulta me devuelve los elementos así:

C.A. Puerto
Almagro C.F
Atletico de Rafaela
C. Union Anterica
C.A. Iniacense
C.A. Sion Marbi
C.A. Tiroggo
F.C. Mediacil

pero ¿de que forma puedo asignar un número a cada elemento? es decir, como veis son los resultados de una liga de fútbol, pués me gustaría que el primer equipo devuelto, en este caso C.A. Puerto se le asignara un 1, a Almagro C.F un 2, así sucesivamente ya que están ordenados por puntos DESC.

Lo de asignarles un número es para seguidamente en la página del propio equipo decir:
Nombre: Almagro C.F, Pos. en Liga: 2

Gracias por vuestra atención, espero ideas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas en consulta

Publicado por Jaterli (48 intervenciones) el 05/06/2007 14:47:19
Con un contador, lo inicializas a 1 antes de entrar en el bucle while, y ya dentro de el, cada vez que lo recorre le vas sumando 1:

$contador = 1;
while($filaPos=mysql_fetch_assoc($resultPos)){
echo $contador.".-".$filaPos['nombre_equipo'];
echo '<br>';
$contador++;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas en consulta

Publicado por Luis (5 intervenciones) el 05/06/2007 14:51:04
Si, si, eso ya lo hice. Pero ¿cómo lo relaciono?

¿Cómo saco por pantalla después solo el equipo que corresponde al número 2 por ejemplo?

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas en consulta

Publicado por Jaterli (48 intervenciones) el 05/06/2007 15:27:22
Ok no habia entendido bien. Pues... con arrays:

$posicion = 1;
while($filaPos=mysql_fetch_assoc($resultPos)){
$equipo[$posicion] = $filaPos['nombre_equipo'];
$posicion++;
}

$posicion = array_search('nombre_equipo',$equipo);
//$posicion almacena la posicion en la tabla de nombre_equipo

$nombre = $equipo[$posicion];
//$nombre almacena nombre_equipo en la posicion $posicion

Espero q te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas en consulta

Publicado por Luis (5 intervenciones) el 05/06/2007 15:50:46
Pues sigue habiendo algo q no me cuadra ya que me da un error o me imprime una letra, mira te concreto mas, seguro q soy yo q no lo entiendo...

Esta es mi tabla en la base de datos, se llama division1
Sus 2 campos son nombre_equipo y puntos (En realidad tiene mas, pero solo estos son los necesarios).

nombre_equipo puntos

Almagro 46
Atletico de Rafaela 35
C. Union Anterica 21
C.A. Iniacense 22
C.A. Puerto 48
C.A. Sion Marbi 33
C.A. Tiroggo 36
F.C. Mediacil 18

CÓDIGO:

$sqlPos="SELECT * FROM division1 WHERE equipo='$n_Equipo' ORDER BY puntos DESC";
$resultPos=mysql_query($sqlPos,$idcon);
$posicion = 1;
while($filaPos=mysql_fetch_assoc($resultPos)){
$equipo[$posicion] = $filaPos['nombre_equipo'];
$posicion++;
}

$posicion = array_search('nombre_equipo',$equipo);
//$posicion almacena la posicion en la tabla de nombre_equipo

$nombre = $equipo[$posicion];
//$nombre almacena nombre_equipo en la posicion $posicion

A continuación de esto tengo un...

echo '
<table width="100%" border="0" align="center" background="images/menu2.gif">
<tr>
etc...etc...

y quiero sacar en una de las celdas el número que representa a la posición en liga del equipo q está en este momento conectado ($n_Equipo) por eso la consulta la hago con esa condición. ¿Lo hago bien? ¿Qué me falla?

Gracias de nuevo y perdona las molestias por mi torpeza.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas en consulta

Publicado por Jaterli (48 intervenciones) el 05/06/2007 16:30:46
YA... pues yo lo que haria es otro select:

SELECT COUNT(*) FROM division1 WHERE puntos < $puntos_equipo_actual;

este select te devuelve el numero de equipos con menos puntuacion que el equipo actual.
Entonces la posicion del equipo actual es igual al resultado del SELECT + 1.

Mejor asi?? espero haber dao con la solución que buscas.. si no aquí sigo.. ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas en consulta

Publicado por Luis (5 intervenciones) el 05/06/2007 19:26:19
Efectivamente, problema resuelto. Eres muy bueno, muchisimas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar