Foros del Web » Programando para Internet » PHP »

Error en el código al buscar

Estas en el tema de Error en el código al buscar en el foro de PHP en Foros del Web. Hola: Pues mi problema es esto, que quiero que lo que escribo en una caja de texto, y despues al dar al boton de buscar, ...
  #1 (permalink)  
Antiguo 12/01/2009, 17:12
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 16 años, 2 meses
Puntos: 3
Error en el código al buscar

Hola:
Pues mi problema es esto, que quiero que lo que escribo en una caja de texto, y despues al dar al boton de buscar, busque la palabra escrita en un array que tengo creado, y luego lo muestro en una tabla.

Pues bien, yo hago la búsqueda con la función "stristr", que es lo mismo que la funcion strstr(), pero con la diferencia que esta última no tiene en cuenta las minúsculas ni las mayúsculas.

Y nada, pues es que no me funciona el código, y no sé el error que tengo.

El array esta bien creado, porque ya le uso en otras funciones, asi que tiene que ser algun error de que me falta algun paréntesis, o no sé..... alguna bobada, creo yo.

No me dá ningun error al ejecutar el código, lo que pasa es que no me encuentra nada.

He buscado por el foro, y por otros sitios, y nada, no encuentro nada, asi que ya mi última esperanza es aqui. Espero que me podáis ayudar, porque ya estoy desesperada . Aquí os dejo el código:

Código PHP:
for ($i=0;$i<sizeof($matriz);$i++)
  {    
    
$palabra=$_POST['TxtBuscar'];
    
    echo 
"<table border=1 ALIGN=center CELLPACING=7> ";
    
      if ((
stristr($this->array_biblioteca[$i][0], $palabra))) 
      {
            echo 
"
        <tr>
            <td ALIGN=center>"
.$this->array_biblioteca[$i][1]."</td>
            <td ALIGN=right>"
.$this->array_biblioteca[$i][0]."</td>
            <td ALIGN=right>"
.$this->array_biblioteca[$i][2]."</td>
        </tr> "

      }
      echo 
"</table>";
  } 
Muchas gracias de antemano
  #2 (permalink)  
Antiguo 12/01/2009, 17:47
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Error en el código al buscar

Prueba con esto:

Código PHP:
$palabra=$_POST['TxtBuscar']; 
for (
$i=0;$i<sizeof($matriz);$i++) 
  {     
    echo 
"<table border=1 ALIGN=center CELLPACING=7> "
     
      if ((
stristr($array_biblioteca[$i][0], $palabra)))  
      { 
            echo 

        <tr> 
            <td ALIGN=center>"
.$array_biblioteca[$i][1]."</td> 
            <td ALIGN=right>"
.$array_biblioteca[$i][0]."</td> 
            <td ALIGN=right>"
.$array_biblioteca[$i][2]."</td> 
        </tr> "
;  
      } 
      echo 
"</table>"
  } 

Pq usas $this->array_biblioteca[$i][0] ??
Acaso array_biblioteca no es una variable local al script? o esta dentro de una clase?

Saludos
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #3 (permalink)  
Antiguo 12/01/2009, 18:06
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Error en el código al buscar

Hola:
Muchas gracias por tu respuesta.
Pero me sigue sin funcionar.
La verdad es que antes no tenia $this->array_biblioteca[$i][0] , pero al ver que no me funcionaba, lo cambié en el último momento.

Este array lo declaro en el principio de la clase del ejercicio. Asi que se supone que es local, no?
De todas maneras, este array lo uso en otras funciones.

Me acabo de dar cuenta, que esto lo tenia que haber creado en una function, llamada buscar (por ejemplo), y luego llamarla cuando sea pulsado el boton de buscar.

Pero de todas maneras me sigue sin funcionar.


Se te ocurre que otro error puedo tener?
  #4 (permalink)  
Antiguo 12/01/2009, 18:29
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Error en el código al buscar

Lo primero que yo haria es ver si efectivamente esta consultando al arreglo.

for ($i=0;$i<sizeof($matriz);$i++)
{
echo $array_biblioteca[$i][0]."<br>";
.
.
.
.
}

Si se imprimen en panatalla el error vendria de la funcion, de no mostrarse el error esta en el arreglo
Purebalo como lo escribi y con el $this->

Suerte
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #5 (permalink)  
Antiguo 13/01/2009, 09:49
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Error en el código al buscar

Hola:
Bien, pues he probado lo que me dijiste. Poniendo $this->, y quitándolo. Y nada de nada.

Luego tambien, me he dado cuenta, que en el for, dentro del paréntesis del sizeof, uso $matriz, pero no la tengo creada en ningún lado, y la que tengo que usar es la de $array_biblioteca. Creo que este cambio esta bien.

Una duda que tengo es, que como estoy pidiendo un dato de fuera, es decir, del input type="text", al crear la function de buscar, no le tengo que meter el valor del text por la function? Es decir:
Código PHP:
function buscar($palabra
Siendo $palabra, el valor que se escribe en el text.
Sería algo asi?

Estoy mirando posibles soluciones, pero no sé cual puede ser.....

Muchas gracias por todo
  #6 (permalink)  
Antiguo 13/01/2009, 10:01
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 6 meses
Puntos: 18
Respuesta: Error en el código al buscar

antes de utilizar clases, creo que lo recomendable es que le des una leída a algún manual de POO para informarte la utilización de la pseudo variable $this, no estés probando por probar.

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #7 (permalink)  
Antiguo 13/01/2009, 11:08
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Error en el código al buscar

bueno, creo que primero debes de ampearnos el horizontye,
yo estaba entendiendo que al darle en el boton buscar se actualizaba la pagina y se corria el script no que mandabas llamar a una funcion.
Te pido copies mas codigo (ya actualizado) para ver bien que es lo que estas haciendo...

Saludos
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #8 (permalink)  
Antiguo 13/01/2009, 11:24
 
Fecha de Ingreso: marzo-2008
Mensajes: 197
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Error en el código al buscar

Hola:
Te acabo de enviar el código del ejercicio, por un privado.

Le he preferido enviar por privado, ya que era mucho código, y le preferia no ponerle aquí.

He acortado un poco el array, y alguna cosilla, para que me dejaran enviarle por privado.

Espero que encuentres mi error, que seguro que es muy gordo.....

Muchas gracias por las molestias
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:19.