Foros del Web » Programando para Internet » PHP »

Error de Parsing

Estas en el tema de Error de Parsing en el foro de PHP en Foros del Web. Tengo dos scripts: PAGINADOR.PHP y MUESTRAREGISTROS.PHP MUESTRAREGISTROS.PHP Código PHP:     $titulo  =  $_GET [ 'busqueda' ];      $categoria_busqueda  =  $_GET [ 'categoria_busqueda' ];      $tabla  =  ...
  #1 (permalink)  
Antiguo 11/04/2008, 03:58
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
Error de Parsing

Tengo dos scripts: PAGINADOR.PHP y MUESTRAREGISTROS.PHP

MUESTRAREGISTROS.PHP

Código PHP:

    $titulo 
$_GET['busqueda'];
    
$categoria_busqueda $_GET['categoria_busqueda'];
    
$tabla $_GET['caso'];
    
$variable "pag";
    
$tamanio_pag 10;
    require(
"admin/php/funciones/paginador.php");
    
$num_paginas cuenta_paginas($caso,$tamanio_pag);
    echo 
'$num_paginas = '.$num_paginas;
    
muestra_reg($tamanio_pag,$num_paginas,$tabla,$columna,"http://www.enlacepagina.es",$categoria_busqueda,$titulo,$variable); 
PAGINADOR.PHP

Código PHP:

// PAGINADOR POR CATEGORIAS
require("../constantes.php");
//CONSTANTES: SERVIDOR,USUARIO_ROOT,ROOT_PASS,BASE_DATOS
function cuenta_paginas($tabla,$tamanio_pag//($TABLA,$NUMERO DE REGISTROS POR PAGINA)
{
    
$sql1='SELECT * FROM `'.$tabla.'`';
    
$db1 mysql_connect(SERVIDORUSUARIO_ROOTROOT_PASS);
    if (!
$db){die('Conexión fallida: ' mysql_error());}
    
$db_select1 mysql_select_db($bd1$db1);
    if (!
$db_select1){die ('No se puede usar bd, error: ' mysql_error());}
    
$r1 mysql_query($sql1); 
    if (!
$r1){die('Consulta invalida: ' mysql_error());} 
            
    
$num_resultados mysql_num_rows($r1);
    
$paginas = ($num_registros/$tamanio_pag);
    
mysql_free_result($r1);
    
mysql_close($db1);    
    
    return 
$paginas;
}
function 
paginador($maxpag,$url,$variable// ($NUM PAGINAS MAXIMAS,$URL DESTINO,$VARIABLE GET)
{
    while(
$maxpag != $cont)
    {
        
$cont++;
        echo 
'<a href="'.$url.'?'.$variable.'='.$cont.'">'.$cont.'</a>';
    }
}
                
function 
muestra_reg($tamanio_pag,$max,$tabla,$columna,$url,$categoria,$titulo,$variable// ($NUM REGISTROS POR PAGINA,$NUM MAXIMO REGISTROS,$TABLA,$COLUMNA,$URL PAGINADOR) 
{
    
$sql2='SELECT * FROM `'.$tabla.'` WHERE categoria = '.$categoria.'AND titulo LIKE "'.$titulo.'" LIMIT '.$tamanio_pag.','.$max.'';
    
//echo '$sql2='.$sql2;
    
$db2 mysql_connect(SERVIDORUSUARIO_ROOTROOT_PASS);
    if (!
$db2){die('Conexión fallida: ' mysql_error());}
    
$db_select2 mysql_select_db($bd2$db2);
    if (!
$db_select2){die ('No se puede usar bd, error: ' mysql_error());}
    
$r2 mysql_query($sql2); 
    if (!
$r2){die('Consulta invalida: ' mysql_error());}
    
    
$num_muestras mysql_num_rows($r2);
    
    for(
$i=0;$i<$tamanio_pag;$i++)
    {
        
$valor mysql_fetch_row($r2);

/*LINEA 47*/                echo $valor[$columna].'<br><br>';           // LINEA 47
    
}
    echo 
'<br><br>';
    
paginador($max,$url,$variable);
    
mysql_free_result($r2);
    
mysql_close($db2);

Devuelve este error:


Parse error: syntax error, unexpected T_STRING in /home/upmj/domains/upmj.es/public_html/admin/php/funciones/paginador.php on line 47


Y yo he mirado ya un millon de veces las variables, e incluso linea a linea a ver hasta donde imprimia ya :( necesito vustra ayuda gente :(

La linea 47 la he marcado en rojo.

Última edición por sk1one; 11/04/2008 a las 04:11
  #2 (permalink)  
Antiguo 11/04/2008, 04:04
Avatar de chernobyl  
Fecha de Ingreso: abril-2006
Mensajes: 44
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Ayuda Por Mucho Que Lo Miro No Veo El Fallo :(

Y cuál es tu línea 47???
__________________
"Lo imposible son solo sueños que se llevan en la mente esperando volverese realidad, algunos llegan a serlo y los demas solo siguen siendo eso, sueños...."
  #3 (permalink)  
Antiguo 11/04/2008, 04:06
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: Ayuda Por Mucho Que Lo Miro No Veo El Fallo :(

Cita:
Iniciado por chernobyl Ver Mensaje
Y cuál es tu línea 47???
JAJAJAJAJ perdona tio ke no me di cuenta jajaj, por cierto modifico el codigo que me dao cuenta de otros errores pero sigue saliendo lo mismo. Asias por mirar.
  #4 (permalink)  
Antiguo 11/04/2008, 04:11
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: Ayuda Por Mucho Que Lo Miro No Veo El Fallo :(

Cita:
Iniciado por chernobyl Ver Mensaje
Y cuál es tu línea 47???
//LINEA 47 echo $valor[$columna].'<br><br>'; // LINEA 47

Esa es, se ve mejor no? aver si me puedes echar una mano :(
  #5 (permalink)  
Antiguo 11/04/2008, 04:15
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: Ayuda Por Mucho Que Lo Miro No Veo El Fallo :(

Código PHP:

   
for($i=0;$i<$tamanio_pag;$i++) 
    { 
        
$valor mysql_fetch_row($r2); 
        echo 
$valor[$columna].'<br><br>'
    } 

Es posible que superes el final de la consulta, estas haciendo $tamanio_pag veces el mysql_fetch_row($r2); y no controlas si has llegado al final...

Si el error te lo da en la primera linea entonces no es esto y no se me ocurre nada mas.

Quim
  #6 (permalink)  
Antiguo 11/04/2008, 04:26
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: Ayuda Por Mucho Que Lo Miro No Veo El Fallo :(

Hola,
Tu error no está en la 47 sino en la 45.
Lo que pasa es que PHP pasa por la 45, 46 y se encuentra en la 47 con algo inesperado.

El problema es que no puedes poner el

$valor = mysql_fetch_row($r2);


adentro del for. Ten en cuenta que en cada ciclo del for lo estarás ejecutando.

La estructura para ejecutar esa sentencia es

Código PHP:
while ($valor mysql_fetch_row($r2)) {
 
echo 
$valor[0];
 
 

Revisa tu script amigo.
SAludos
  #7 (permalink)  
Antiguo 11/04/2008, 04:28
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: Ayuda Por Mucho Que Lo Miro No Veo El Fallo :(

Os podeis creer que si comento todas las lineas de PAGINADOR.PHP me sigue saliendo el mismo error me toy volviendo loco!!!
  #8 (permalink)  
Antiguo 11/04/2008, 04:31
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: Ayuda Por Mucho Que Lo Miro No Veo El Fallo :(

Cita:
Iniciado por usermax Ver Mensaje
Hola,
Tu error no está en la 47 sino en la 45.
Lo que pasa es que PHP pasa por la 45, 46 y se encuentra en la 47 con algo inesperado.

El problema es que no puedes poner el

$valor = mysql_fetch_row($r2);


adentro del for. Ten en cuenta que en cada ciclo del for lo estarás ejecutando.

La estructura para ejecutar esa sentencia es

Código PHP:
while ($valor mysql_fetch_row($r2)) {
 
echo 
$valor[0];
 
 

Revisa tu script amigo.
SAludos

Vale ahora me sale otro pero voy ave rsi puedo solucionarlo, ahora te pregunto una cosa vale?
  #9 (permalink)  
Antiguo 11/04/2008, 04:37
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: Ayuda Por Mucho Que Lo Miro No Veo El Fallo :(

Cita:
Iniciado por usermax Ver Mensaje
Hola,
Tu error no está en la 47 sino en la 45.
Lo que pasa es que PHP pasa por la 45, 46 y se encuentra en la 47 con algo inesperado.

El problema es que no puedes poner el

$valor = mysql_fetch_row($r2);


adentro del for. Ten en cuenta que en cada ciclo del for lo estarás ejecutando.

La estructura para ejecutar esa sentencia es

Código PHP:
while ($valor mysql_fetch_row($r2)) {
 
echo 
$valor[0];
 
 

Revisa tu script amigo.
SAludos
Bien creo que ya se que pasaba, con el while condicionas a que se cumpla el caso de que se extraiga de la fila al array... ect... pero con el for das la vuelta tantas veces sea el limite del mismo, tenga o no cosas ya para extraer y eso a php no le gusta, porque extrae STRING vacios esperaba un STRING donde no lo hay.

Esa es la razón, corrigeme si me equivoco y así aprender mas ^^ Asias!!!! enserio ^^
  #10 (permalink)  
Antiguo 11/04/2008, 04:45
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: Ayuda Por Mucho Que Lo Miro No Veo El Fallo :(

Exacto!!
Con while vas recorriendo fila por fila los resultados.
El for tambien es una estructura iterativa pero no extrae los resultados linea por linea. Sólo da vueltas hasta que el contador llega a su final.

Saludos!
  #11 (permalink)  
Antiguo 11/04/2008, 09:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: Error de Parsing

nooo.... de echo ambos pueden recorrer las filas, solo ke for esta diseñado para cuerstiones con numeros...

han intentado el foreach (mysql_fetch_row($query) as $row)
{
...
}

vaya, es obvio que ni el while ni el for... extraen por si solos los datos... se nota?
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:40.