Foros del Web » Programando para Internet » PHP »

ayuda con este codigo

Estas en el tema de ayuda con este codigo en el foro de PHP en Foros del Web. no se porque no me funciona, si alguien me puede ayudar, se lo agradeceria: <?php include_once('conec.php'); // Aqui se incluye la conexion a la base ...
  #1 (permalink)  
Antiguo 21/09/2006, 08:01
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
ayuda con este codigo

no se porque no me funciona, si alguien me puede ayudar, se lo agradeceria:

<?php

include_once('conec.php'); // Aqui se incluye la conexion a la base de datos

if ($_GET['id']) // Si existe la variable "id" en la barra url...
{
$id = $_GET['id'];
$query_Rs = "SELECT * FROM cliente WHERE id = '$id' ORDER BY nombre DESC";
}

//*BUSCADOR DE REGISTROS!*/
if ($_GET['buscar'])
{
$buscar = $_GET['buscar'];

$query_Rs =mysql_query("SELECT * FROM cliente WHERE id LIKE \"%$buscar%\" OR nombre LIKE \"%$buscar%\" OR empresa LIKE \"$buscar%\" ORDER BY rut DESC") ;
while ($row= mysql_fetch_array($query_Rs))
{
$nombre=$row["nombre"];
$fecha_inicio=$row["fecha_inicio"];
$empresa=$row["empresa"];
$rut=$row["rut"];
}
}
?>


<p align="center">
<input name="buscar" type="text" class="form" size="25">
<input name="search" type="submit" class="text-azul" value="Buscar">
</p>
<table width="558" height="640">
<tr>
<td colspan="2"><div align="center">
<pre><strong>CLIENTE</strong></pre>
</div></td>
<td width="84"><div align="center"></div></td>
<td width="131"><div align="center"></div></td>
</tr>
<tr>
<td width="109"><div align="left">
<pre>Nombre: <input type="text" name="nombre" size="20" maxlength="30" value="<?= $nombre?>"> Fecha Inicio
</pre>
<pre>Empresa: <input type="text" name="empresa" size="20" maxlength="30" value="<?= $empresa?>"> <input type="text" name="fecha_inicio" size="20" maxlength="30" value="<?= $fecha_inicio?>">

RUT: <input type="text" name="rut" size="20" maxlength="30" value="<?= $rut?>"> </pre>
</div></td>
  #2 (permalink)  
Antiguo 21/09/2006, 08:13
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
te marca algún error o porque dices que no te funciona??

otra cosa cambia
Código PHP:
if ($_GET['id'])
...
// y
if ($_GET['buscar']) 
por
Código PHP:
if (isset($_GET['id']))
...
// y
if (isset($_GET['buscar'])) 
ver: http://mx.php.net/isset
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 21/09/2006, 08:32
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
No funciono lo que me dijiste, no tendras alguno parecido que me haga la misma funcion???

por favor
  #4 (permalink)  
Antiguo 21/09/2006, 08:41
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Prueba cambiando la linea del sql por esta


$query_Rs =mysql_query("SELECT * FROM cliente WHERE id LIKE '%$buscar%' OR nombre LIKE '%$buscar%' OR empresa LIKE '%$buscar%' ORDER BY rut DESC");

Si no sirve... al lado, agrégale mysql_error(); de tal manera que quede así...

$query_Rs =mysql_query("SELECT * FROM cliente WHERE id LIKE '%$buscar%' OR nombre LIKE '%$buscar%' OR empresa LIKE '%$buscar%' ORDER BY rut DESC") or die(mysql_error());

mysql_error(), te mostrará algún error relacionado con la búsqueda en la bd que haces... quizá ahí está el problema... Si te da alguno, pégalo acá =)

Nos vemos =)
  #5 (permalink)  
Antiguo 21/09/2006, 08:50
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
ningun error, no hace nada, no sera algun problema con el boton buscar?
  #6 (permalink)  
Antiguo 21/09/2006, 08:55
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Ya me di cuenta... El form creo que es por POST... pero tú estás usando GET...

eso lo envias por url... Así que al hacer la búsqueda, estás diciendole esto a mysql...

$query_Rs =mysql_query("SELECT * FROM cliente WHERE id LIKE buscar OR nombre LIKE buscar OR empresa LIKE buscar ORDER BY rut DESC"); Literalmente le estás diciendo eso...

Así que deberías tener algo así...

if(isset($_POST['buscar']))
{
$cadena = $_POST['cadena']; // Esta es el campo de texto donde escribes lo que quieres buscar

y luego haces...

$query_Rs =mysql_query("SELECT * FROM cliente WHERE id LIKE '%$cadena%' OR nombre LIKE '%$cadena%' OR empresa LIKE '%$cadena%' ORDER BY rut DESC");
}

Otra cosa... en el código no se ve el form... Debes poner los inputs dentro del <form></form>..

A ver si te sirve de algo lo que te he dicho... Nos vemos =)
  #7 (permalink)  
Antiguo 21/09/2006, 09:22
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
mira, lo del "isset" solo es para averiguar si tus variables estan declaradas, no era para solucionar el problema, es por eso que preguntaba si maraca algún error .
ahora bien,

toma en cuenta lo que te dice spider_boy con respecto a lo del metodo post o get (verifica cual usas).

y una cosa mas, la variable prueba ¿que valor debe devolver para que lo tengas que buscar en 3 campos diferentes?

disculpa que te haga tantas preguntas pero no me a quedado muy claro y así no puedo ayudarte.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #8 (permalink)  
Antiguo 21/09/2006, 09:37
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Ningun error ni nada, al darle al boton buscar no hace nada :S

<?
include_once('conec.php'); // Aqui se incluye la conexion a la base de datos

if (isset($_GET['id'])) // Si existe la variable "id" en la barra url...
{
$id = $_GET['id'];
$query_Rs = "SELECT * FROM cliente WHERE id = '$id' ORDER BY nombre DESC";
}

//*BUSCADOR DE REGISTROS!*/
if (isset($_GET['buscar']))
{
$buscar = $_GET['buscar'];

$query_Rs =mysql_query("SELECT * FROM cliente WHERE id LIKE '%$buscar%' OR nombre LIKE '%$buscar%' OR empresa LIKE '%$buscar%' ORDER BY rut DESC") or die(mysql_error());
while ($row= mysql_fetch_array($query_Rs))
{
$nombre=$row["nombre"];
$empresa=$row["empresa"];
$rut=$row["rut"];
$telefono=$row["telefono"];
}
}
?>

<input name="buscar" type="text"><input name="buscar" type="button" value="Buscar">

<pre> <strong>Cliente</strong>
Nombre: <input type="text" name="nombre">
Empresa: <input type="text" name="empresa">
RUT: <input type="text" name="rut">
Telefono: <input type="text" name="telefono">
  #9 (permalink)  
Antiguo 21/09/2006, 09:46
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
cambia el código que busca por esto...

Código PHP:
//*BUSCADOR DE REGISTROS!*/
if (isset($_POST['buscar']))
{
$buscar = $_POST['buscar'];
$nombre = $_POST['nombre'];
$empresa = $_POST['empresa'];

$query_Rs =mysql_query("SELECT * FROM cliente WHERE nombre LIKE '%$nombre%' OR empresa LIKE '%$empresa%' ORDER BY rut DESC") or die(mysql_error());
while ($row= mysql_fetch_array($query_Rs))
{
$nombre=$row["nombre"];
$empresa=$row["empresa"];
$rut=$row["rut"];
$telefono=$row["telefono"];
}
}
?>

<form method="post" action="<?php $_SERVER['PHP_SELF'];?>">
<input name="buscar" type="text"><input name="buscar" type="button" value="Buscar">

<pre> <strong>Cliente</strong>
Nombre: <input type="text" name="nombre">
Empresa: <input type="text" name="empresa">
RUT: <input type="text" name="rut">
Telefono: <input type="text" name="telefono">
</form>
Le quité el " id LIKE ", pues no estás enviando de ninguna manera ese dato, así que estaba haciendo nada...

Nos vemos =)
  #10 (permalink)  
Antiguo 21/09/2006, 10:02
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
creo que este es tu problema
Código HTML:
<input name="buscar" type="button" value="Buscar"> 
estas utilizando un tipo boton, intenta con esto
Código HTML:
<input name="buscar" type="submit" value="Buscar"> 
utiliza el submit para enviar.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #11 (permalink)  
Antiguo 21/09/2006, 10:03
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Parse error: parse error, unexpected T_IF in C:\AppServ\www\team\imprimir.php on line 4

<?
include (conec.php)
//*BUSCADOR DE REGISTROS!*/
if (isset($_POST['buscar'])) //ACA AL PARECER ME TIRA EL ERROR
{
$buscar = $_POST['buscar'];
$nombre = $_POST['nombre'];
$empresa = $_POST['empresa'];

$query_Rs =mysql_query("SELECT * FROM cliente WHERE nombre LIKE '%$nombre%' OR empresa LIKE '%$empresa%' ORDER BY rut DESC") or die(mysql_error());
while ($row= mysql_fetch_array($query_Rs))
{
$nombre=$row["nombre"];
$empresa=$row["empresa"];
$rut=$row["rut"];
$telefono=$row["telefono"];
}
}
?>

<form method="post" action="<?php $_SERVER['PHP_SELF'];?>">
<input name="buscar" type="text"><input name="buscar" type="button" value="Buscar">

<pre> <strong>Cliente</strong>
Nombre: <input type="text" name="nombre">
Empresa: <input type="text" name="empresa">
RUT: <input type="text" name="rut">
Telefono: <input type="text" name="telefono">
</form>
  #12 (permalink)  
Antiguo 21/09/2006, 10:09
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
hola! al final de la linia del include, ponle un ;!

EDITADO: y en el form tienes q poner un boton type="submit"

y cuentanos q tal...


saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #13 (permalink)  
Antiguo 21/09/2006, 10:18
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\AppServ\www\team\imprimir.php on line 10

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\AppServ\www\team\imprimir.php on line 10
Access denied for user 'ODBC'@'localhost' (using password: NO)
  #14 (permalink)  
Antiguo 21/09/2006, 10:21
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Hola de nuevo!
entiendes el error?
la pagina de conexion q tienes, los datos de conexion no son correctos.
Has hecho alguna consulta con esos datos de conexion?
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #15 (permalink)  
Antiguo 21/09/2006, 10:24
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Claro, sera porq tengo la base de datos sin contraseña???
  #16 (permalink)  
Antiguo 21/09/2006, 10:24
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
aqui hay un problema de conexión, ahora tienes que poner el codigo de conexion .

¿que version de mysql usas?
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #17 (permalink)  
Antiguo 21/09/2006, 10:27
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
ei!
a ver, si es una base de datos nueva, lo q tienes q hacer es crear un usuario q tenga acceso a esa base de datos.
Cita:
Claro, sera porq tengo la base de datos sin contraseña???
En cuanto a la contraseña no tienes porque ponerla.. pero siempre por seguridad es mejor tener una!
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #18 (permalink)  
Antiguo 21/09/2006, 10:43
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
no es nuevo, tengo php-nuke y varios codigos q no me dan problema
  #19 (permalink)  
Antiguo 21/09/2006, 10:48
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
pues el error lo dice claramente.

Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\AppServ\www\team\imprimir.php on line 10

acceso denegado al usuario ODBC@localhost
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #20 (permalink)  
Antiguo 21/09/2006, 10:55
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
ya compañeros, solucione ese problema, ahora al darle buscar, no me da ningun error, pero al parecer intenta buscar porq se ve cargando la pagina, pero tampoco me refleja nada:

<?
include ("conexion.php");
//*BUSCADOR DE REGISTROS!*/
if (isset($_POST['buscar']))
{
$buscar = $_POST['buscar'];
$nombre = $_POST['nombre'];
$empresa = $_POST['empresa'];

$query_Rs =mysql_query("SELECT * FROM cliente WHERE nombre LIKE '%$nombre%' OR empresa LIKE '%$empresa%' ORDER BY rut DESC") or die(mysql_error());
while ($row= mysql_fetch_array($query_Rs))
{
$nombre=$row["nombre"];
$empresa=$row["empresa"];
$rut=$row["rut"];
$telefono=$row["telefono"];
}
}
?>

<form method="post" action="<?php $_SERVER['PHP_SELF'];?>">
<input name="buscar" type="text"><input name="buscar" type="submit" value="Buscar">

<pre> <strong>Cliente</strong>
Nombre: <input type="text" name="nombre">
Empresa: <input type="text" name="empresa">
RUT: <input type="text" name="rut">
Telefono: <input type="text" name="telefono">
</form>
  #21 (permalink)  
Antiguo 21/09/2006, 11:17
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
no te muestra nada porque no lo estas imprimiendo en pantalla y para eso utilizas el "echo" o el "print".
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #22 (permalink)  
Antiguo 21/09/2006, 12:57
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Cita:
Iniciado por eits Ver Mensaje
no te muestra nada porque no lo estas imprimiendo en pantalla y para eso utilizas el "echo" o el "print".

diculpa me novates, pero intente de 1000 formas hacer el echo o el print, pero nada, puedes darme una pista, ejej. por favor
  #23 (permalink)  
Antiguo 21/09/2006, 16:19
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
un ejemplo
Código PHP:
<?
include ("conexion.php");
//*BUSCADOR DE REGISTROS!*/
if (isset($_POST['buscar']))
{
$buscar $_POST['buscar'];
$nombre $_POST['nombre'];
$empresa $_POST['empresa'];

$query_Rs =mysql_query("SELECT * FROM cliente WHERE nombre LIKE '%$nombre%' OR empresa LIKE '%$empresa%' ORDER BY rut DESC") or die(mysql_error());
while (
$rowmysql_fetch_array($query_Rs))
{
echo 
$nombre=$row["nombre"]."<br>"
echo 
$empresa=$row["empresa"]."<br>";
echo 
$rut=$row["rut"]."<br>";
echo 
$telefono=$row["telefono"]."<br><br>";
}
}
else
{
?>
<form method="post" action="<?php $_SERVER['PHP_SELF'];?>">
<input name="buscar" type="text"><input name="buscar" type="submit" value="Buscar">

<pre> <strong>Cliente</strong>
Nombre: <input type="text" name="nombre">
Empresa: <input type="text" name="empresa">
RUT: <input type="text" name="rut">
Telefono: <input type="text" name="telefono">
</form>
<?php
}
?>
con esto hara que si la variable prueba esta declarada te mostrará el resultado de la consulta, de lo contrario mostrará los campos text para llenar.

espero que ya tengas una idea mas clara.
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #24 (permalink)  
Antiguo 21/09/2006, 19:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por eits Ver Mensaje
un ejemplo
Código PHP:
<?
include ("conexion.php");
//*BUSCADOR DE REGISTROS!*/
if (isset($_POST['buscar']))
{
$buscar $_POST['buscar'];
$nombre $_POST['nombre'];
$empresa $_POST['empresa'];

$query_Rs =mysql_query("SELECT * FROM cliente WHERE nombre LIKE '%$nombre%' OR empresa LIKE '%$empresa%' ORDER BY rut DESC") or die(mysql_error());
while (
$rowmysql_fetch_array($query_Rs))
{
echo 
$nombre=$row["nombre"]."<br>"
echo 
$empresa=$row["empresa"]."<br>";
echo 
$rut=$row["rut"]."<br>";
echo 
$telefono=$row["telefono"]."<br><br>";
}
}
else
{
?>
<form method="post" action="<?php $_SERVER['PHP_SELF'];?>">
<input name="buscar" type="text"><input name="buscar" type="submit" value="Buscar">

<pre> <strong>Cliente</strong>
Nombre: <input type="text" name="nombre">
Empresa: <input type="text" name="empresa">
RUT: <input type="text" name="rut">
Telefono: <input type="text" name="telefono">
</form>
<?php
}
?>
con esto hara que si la variable prueba esta declarada te mostrará el resultado de la consulta, de lo contrario mostrará los campos text para llenar.

espero que ya tengas una idea mas clara.
saludos.
bastante rebuscada la solución ... creo yo ..

Si realmente no se va a usar esa variable que se está asigando en:

Cita:
echo $nombre=$row["nombre"]."<br>";
// etc .. con el resto.
mejor hacer simplemente:
Código PHP:
echo $row["nombre"]."<br>"
echo 
$row["empresa"]."<br>";
echo 
$row["rut"]."<br>";
echo 
$row["telefono"]."<br><br>"
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 13:06.