Foros del Web » Programando para Internet » PHP »

Haver quien lo sabe...

Estas en el tema de Haver quien lo sabe... en el foro de PHP en Foros del Web. Hola a todos! Haver si me podeis resolver una duda que tengo con un codigo php. Estoy haciendo una busqueda de registros en php utilizando ...
  #1 (permalink)  
Antiguo 30/07/2003, 10:02
 
Fecha de Ingreso: julio-2003
Mensajes: 4
Antigüedad: 21 años, 3 meses
Puntos: 0
Haver quien lo sabe...

Hola a todos!

Haver si me podeis resolver una duda que tengo con un codigo php.

Estoy haciendo una busqueda de registros en php utilizando una base de dato en dbase (dbf), el problema es que me da un error de que una variable que he llamado "buscar" me dice que no está definida. Pero si que lo está fuera del php, (tengo una tabla en html y luego empieza el php).
Haver si hay alguna forma de que me reconozca el valor de esa variable aun estando fuera del codigo php.

Este es el trozo de codigo en HTML donde se declara la variable:

<input type="text" name="buscar" size"20" maxlegth="30">

Y akí donde el codigo php la utiliza:

if($buscar!="" && ($chpais!="" || $chsigla!=""))

El proposito es no tener que utilizar dos archivos, sino que quiero que esté todo en uno.

Haver si alguien me puede contestar please, estoy apurao :S
  #2 (permalink)  
Antiguo 30/07/2003, 10:05
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 21 años, 6 meses
Puntos: 2
no se si te servira pq es una busqueda mysql pero toma el ejemplo... creo que si te puede ayudar...

http://www.forosdelweb.com/showthrea...t=buscar+mysql

compara lo que hace el con el tuyo... en algun sitio te estaras equivocando


si puedes pon todo el codigo...para que lo leamos
__________________
3w.valenciadjs.com
3w.laislatv.com
  #3 (permalink)  
Antiguo 30/07/2003, 10:10
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 8 meses
Puntos: 1
supongoq ue esto vendra de otro php o una llamada a este mismo asiq ue el valor lo pasaras por get o post no?¿

pues recije el valro de esta aslgo asi:

Código PHP:
$buscar=$_POST['buscar'];//para post
$buscar=$_GET['buscar'];//para get 
ya sabes usa elq ue tu utilizes y depues pones el resto de codigo

Código PHP:
if($buscar!="" && ($chpais!="" || $chsigla!="")) 
espero haber entendido la pregunta
PD: nota constructiva, siempre que uses la palabra haber si delante de ella puedes poner vamos se escribe a ver si no es haber...ejemplo : a ver quien me ayuda, puede haber algo

Un Saludo

Última edición por DINASEN; 30/07/2003 a las 10:12
  #4 (permalink)  
Antiguo 30/07/2003, 10:17
 
Fecha de Ingreso: julio-2003
Mensajes: 4
Antigüedad: 21 años, 3 meses
Puntos: 0
Este es el codigo que tengo hasta ahora, aki cuesta un poko entender, porque no está tablulao komo tendira que estar pero weno.



<html>
<head>
<title>Web de pruebas></title>
</head>
<body>

<table align='center'>
<from name='buscando' method='post' action='index.php'>
<tr>
<td width='275'>
<font face='Arial, Helvetica,sans-serif' size='3'>
Introduce el termino a buscar:
</font>
<br>
<input type='text' name='buscar' size'20' maxlegth='30'>
</td>
<td>
<fieldset>
<legend>
<font face='Arial, Helvetica, sans-serif' size='3'>
Tipo de busqueda :<br>
</font>
</legend>
<font face='Arial, Helvetica, sans-serif' size='3'>
<input type='checkbox' name='chpais'>
Por pais<br>
<input type='checkbox' name='chsigla'>
Por siglas
</font>
</fieldlist>
</td>
</tr>
<tr>
<td colspan='2'>
<div align='center'>
<input type='submit' value='Enviar' name='busca'>
</div>
</td>
</tr>
</form>
</table>


<?
// Busca una cadena en un string
function Contiene($reg,$scad) {
if (eregi($scad,$reg)) {
return true;
}
else {
return false;
}
}

// Muestra todos los campos de un registro
function PintaTabla($fila,$campos) {
echo"<table border='1' align='center'>";
echo"<tr>";
for($j=0;$j<=$campos;$j++) {
echo"<td width='150' align='center'>$fila[$j]</td>";
}
echo"</tr>";
echo"</table>";
}

// Inicio codigo

//if($HTTP_GET_VARS){

$buscar=($HTTP_GET_VARS['buscar']);

if($buscar!="" && ($chpais!="" || $chsigla!="")) {
$sMicadena=$buscar;

$busca="";
$pais="";
$sigla="";

$bbdd="paises.dbf";
$result=dbase_open($bbdd,2);
// Comprobamos existencia y apertura base datos
if(!$result) {
print("No abrió la base de datos");
}
else {
$ultimo=dbase_numrecords($result);
$campos=dbase_numfields($result);
print("div align='center'>");

// Comprobamos el tipo de busqueda
if($chpais!="" && $chsigla!="") {
print("<strong>Busqueda realizada por paises y siglas:</strong><H2>".$buscar."</H2>");
}
elseif($chpais!="") {
print("<strong>Busqueda realizada por paises:</strong><H2>".$buscar."</H2>");
}
else {
print("<strong>Busqueda realizada por siglas:</strong><H2>".$buscar."</H2>");
}
print("</div>");

if($chpais!="" && $chsigla!="") {
// Variable control existencia elemento en base datos
$esta=0;

// Leemos Base datos desde reg 1 hasta eof, en todos los campos
// si encontramos elemento lo mostramos
for($i=1;$i<=$ultimo;$i++) {
$sElemento=dbase_get_record($result,$i);
for($j=0;$j<=$campos-1;$j++) {
if (Contiene(trim($sElemento[$j]),trim($sMicadena))) {
PintaTabla($sElemento,$campos);
$esta=1;
break;
}
}
}
if($esta==1) {
print("ok");
}
else {
print("<p align='center'><strong>El termino no existe en la base de datos.</strong>");
}
// Si no lo hemos mencontrado seguimos buscando por Pais
if($esta!=1 && $chpais!="") {
$esta=0;
for($i=1;$i<=$ultimo;$i++) {
$sElememnto=dbase_get_record($result,$i);
if (Contiene(trim($sElemento[1]),trim($sMicadena))) {
PintaTabla($sElemento,$campos);
$esta=1;
break;
}
}
}
if($esta==1) {
print("ok");
}
else {
print("<p align='center'><strong>El pais no existe en la base de datos.</strong>");
}
// Si no lo hemos mencontrado seguimos buscando por Siglas
if($esta!=1 && $chsigla!="") {
$esta=0;
for($i=1;$i<=$ultimo;$i++) {
$sElememnto=dbase_get_record($result,$i);
if (Contiene(trim($sElemento[1]),trim($sMicadena))) {
PintaTabla($sElemento,$campos);
$esta=1;
break;
}
}
}
if($esta==1) {
print("ok");
}
else {
print("<p align='center'><strong>Las siglas no existe en la base de datos.</strong>");
}
$close=dbase_close($result);
}
}
$sMisigla="";
$sMipais="";
$inserta=array($sMisigla,$sMipais);
}
//}
?>

</body>
</html>
  #5 (permalink)  
Antiguo 30/07/2003, 10:24
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 8 meses
Puntos: 1
por lo que veo es la misma pagina y si es la principal supongo que primero tendrias que quitar lo que se muestra al inicio

te explico

Código PHP:

if (!isset($_POST['buscar'])){
//codigo para mostrar tu pagina normalmente
}

if (isset(
$_POST['buscar'])){
//aqui pondremos la busqueda primero recojiendo primero el buscar
$buscar=$_POST['buscar'];
//aqui vendria la sentencia sql y loq ue tengas que mostrar tras la busqueda

Espero que te sirva

Un Saludo
  #6 (permalink)  
Antiguo 30/07/2003, 10:32
 
Fecha de Ingreso: julio-2003
Mensajes: 4
Antigüedad: 21 años, 3 meses
Puntos: 0
Wenas!

Me sigue diciendo lo mismo, que la variable buscar no esta definida, he probado lo k me has dicho pero nada.. sique iwal, supoingo k lo estare poniendo bien lo que me has dixo :S
  #7 (permalink)  
Antiguo 30/07/2003, 10:34
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 22 años, 5 meses
Puntos: 0
No te molestes, pero quizás antes de aprender PHP deberías aprender ortografía -> 'haver' con 'v' hace daño a los ojos.
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #8 (permalink)  
Antiguo 30/07/2003, 10:40
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 8 meses
Puntos: 1
pero donde se hace el select por que yo no lo he visto pro ningu lao

PD: ferent no seas malo que to el mundo se equivoca...jejeje

Un saludo
  #9 (permalink)  
Antiguo 30/07/2003, 10:40
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 22 años, 5 meses
Puntos: 0
No te molestes, pero quizás antes de aprender PHP deberías aprender ortografía -> 'haver' con 'v' hace daño a los ojos.
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #10 (permalink)  
Antiguo 30/07/2003, 10:42
 
Fecha de Ingreso: julio-2003
Mensajes: 4
Antigüedad: 21 años, 3 meses
Puntos: 0
No está en sql, la base de datos está en dbase, de todas formas creo k el error no va por ahi, el problema es la variable que no me la reconoce, porque está declarada fuera del codigo php.
  #11 (permalink)  
Antiguo 30/07/2003, 15:16
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 22 años, 10 meses
Puntos: 0
Sugerencia, usa los tag [PHP] o [CODE] para mostrar tus códigos, en mi caso partiuclar, cuando no lo veo con los tags que menciono me paso de largo.

Saludos
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 22:23.