Foros del Web » Programando para Internet » PHP »

Problema con el código al listar datos

Estas en el tema de Problema con el código al listar datos en el foro de PHP en Foros del Web. Hola de nuevo, Tengo un problema con el siguiente código. La idea es hacer una consulta, recorrer las filas devueltas en ella para insertarlas en ...
  #1 (permalink)  
Antiguo 06/07/2006, 04:17
 
Fecha de Ingreso: abril-2006
Mensajes: 131
Antigüedad: 11 años, 8 meses
Puntos: 1
Problema con el código al listar datos

Hola de nuevo,

Tengo un problema con el siguiente código. La idea es hacer una consulta, recorrer las filas devueltas en ella para insertarlas en una tabla (a través de la función insertar_busqueda( ...) ). Después del bucle, necesito inicializar el indice del array ($Recordset_proyectos), donde se almacena el resultado de la consulta anterior porque más tarde hay que recorrerlo de nuevo para listar los datos. Entonces al listar los datos pone una fila más en blanco, al principio, que no sé a qué es debido.... yo pienso que es por la llamada a mysql_data_seek ...) que puede ser que el segundo parámetro que le meto no es correcto.

A ver si me podeis ayudar.


Un saludo.

Código PHP:
$query_proyectos "SELECT * FROM `12_proyectos` WHERE titulo LIKE '%$palabra%' OR titulo_s LIKE  '%$palabra%' OR texto LIKE  '%$palabra%' OR texto_s LIKE  '%$palabra%'";
    
$Recordset_proyectos mysql_query($query_proyectos$quartconn) or die(mysql_error());
    
$row_Recordset_proyectos mysql_fetch_assoc($Recordset_proyectos);
    
$totalRows_Recordset_proyectos mysql_num_rows($Recordset_proyectos);
    
    do { 
        if(
$totalRows_Recordset_proyectos 0)
        {
            
$id $row_Recordset_proyectos['id'];
            
$nombre $row_Recordset_proyectos['titulo_s'];
            
$url "...";
            
$categoria "PROYECTO";
            
insertar_busqueda($id$nombre$tipo$url$categoria);         }
                                        
    } while (
$row_Recordset_proyectos mysql_fetch_assoc($Recordset_proyectos));
    
mysql_data_seek($Recordset_proyectos0); 

Última edición por miguel867; 06/07/2006 a las 04:28
  #2 (permalink)  
Antiguo 06/07/2006, 06:53
 
Fecha de Ingreso: julio-2006
Mensajes: 10
Antigüedad: 11 años, 5 meses
Puntos: 0
La verdad que no me he parado a mirar el código pero así a simple vista te puedo decir case seguro que es lo que puede estar pasando, la culpa va a ser del do while, tiene toda la pinta, la primera vez no te entra por el if pero te crea la fila, prueba a poner un while en vez de un do ... while.
  #3 (permalink)  
Antiguo 06/07/2006, 09:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Código PHP:
$Recordset_proyectos mysql_query($query_proyectos$quartconn) or die(mysql_error()); 
    
// $row_Recordset_proyectos = mysql_fetch_assoc($Recordset_proyectos); // no corresponde aquí.
    
$totalRows_Recordset_proyectos mysql_num_rows($Recordset_proyectos); 
No corresponde que hagas un "_fetch_" en ese punto para luego intentar recorrer el resultado con un bucle (while) haciendo otro "_fetch_" ..

Las funciones de tipo "_fetch_" lo que hacen es darte el primer resultado y mover el puntero del resultado una posición hacia adelante .. por ende tu bucle empieza a recorrer resultados desde el segundo resultado .. no desde el primero como debería ser.

Esto tampoco sé para que lo usas (usas algún bucle más por encima de este? ..o vuelves a recorrer el resultado?) .. (por qué expones un código fuera de contexto .. deberías adjuntar todo para que nos hagamos una idea más fiel de lo que estás usando):

Código PHP:
mysql_data_seek($Recordset_proyectos0); 

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 17:39.