Foros del Web » Programando para Internet » PHP »

Problema array

Estas en el tema de Problema array en el foro de PHP en Foros del Web. Buenas tardes, tengo un problema con este codigo: function colocar_Jueves($IdConsulta2,$total_filas1) { for($i=0;$i < $total_filas1;$i++) { $row = mysql_fetch_array($IdConsulta2); echo("<tr> <td>".$row["nombre"]."</td>"); echo("<td> <div align='center'>" . $row["dia"] ...
  #1 (permalink)  
Antiguo 20/05/2003, 13:10
 
Fecha de Ingreso: marzo-2003
Ubicación: Bogotá
Mensajes: 199
Antigüedad: 14 años, 9 meses
Puntos: 0
Problema array

Buenas tardes, tengo un problema con este codigo:

function colocar_Jueves($IdConsulta2,$total_filas1) {
for($i=0;$i < $total_filas1;$i++)
{
$row = mysql_fetch_array($IdConsulta2);
echo("<tr> <td>".$row["nombre"]."</td>");
echo("<td> <div align='center'>" . $row["dia"] . "</div></td>");
echo("<td>" .$row["profesor"] . "</td>");
echo("<td> <div align='center'>" . $row["cupo"] . "</div></td>");
echo("<td> <div align='center'> <input type='radio' name='Jueves' value='" . $row["cod_contexto"] . "'></div> </td> </tr>");
}
}

la consulta me manda que $total_filas1 = 8, hasta hay tod perfecto, porque es verdad devuelve 8 filas, pero a la hora de imprimislas en pantalla, se come el primer registro, no sale nada y los otros 7 si salen, pero no entiendo???, consulto desde el PHPMyAdmin y la consulta efectivamente me devuelve 8 filas o registros, aca tambien, pero solo se imprimen 7, que sera???, tengo algo mal en el código???

Esta función la llamo desde in if si tal condición, entonces me hace esto :

$sql2 = "SELECT cod_contexto,nombre,dia,profesor,cupo FROM contexto WHERE $curso='SI' AND dia = 'Jueves'";
$IdConsulta2 = mysql_query($sql2, $IdConexion);
$row2 = mysql_fetch_array($IdConsulta2); //crea matriz
$total_filas1 = (mysql_num_rows($IdConsulta2));
colocar_jueves($IdConsulta2,$total_filas1);

No se..... todo parece perfecto, alguna idea????
  #2 (permalink)  
Antiguo 20/05/2003, 13:19
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
creo que en $sql2, debes agregarle

"LIMIT 0,7" para que agregue los ocho registros, o sea el cero, el uno, el dos, y asi hasta el ocho.
  #3 (permalink)  
Antiguo 20/05/2003, 14:24
 
Fecha de Ingreso: marzo-2003
Ubicación: Bogotá
Mensajes: 199
Antigüedad: 14 años, 9 meses
Puntos: 0
Problema array

Pero como le agregaria esa cadena de conexiòn limit, como seria????
  #4 (permalink)  
Antiguo 20/05/2003, 14:55
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
simple:

$sql2 = "SELECT cod_contexto,nombre,dia,profesor,cupo FROM contexto WHERE $curso='SI' AND dia = 'Jueves' LIMIT 0,7";
  #5 (permalink)  
Antiguo 20/05/2003, 14:58
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Tu problema es que tienes un mysql_fetch_array() fuera de la funcion que lee el primer registro. Cada vez que llamas a mysql_fetch_array() sobre el mismo identificador de consulta (valor devuelto por mysql_query()) se avanza el puntero interno del recordset. Simplemente eliminando ese mysql_fetch_array() que esta antes de llamar a la funcion ya te mostrara el primer registro. Es el que pone el comentario // crea matriz.

Sobre como poner el limit dentro de la consulta, te recomendaria visitar www.mysql.com . Hay tienes toda la syntasis del SQL de MySQL.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 20/05/2003, 23:29
 
Fecha de Ingreso: marzo-2003
Ubicación: Bogotá
Mensajes: 199
Antigüedad: 14 años, 9 meses
Puntos: 0
Gracias

Si funciono, claro, ....me hubiera quedando dando vueltas y no hubiera encontrado el error, muchisimas gracias
Saludos
César Rodríguez
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 18:05.