Foros del Web » Programando para Internet » PHP »

ayuda con este error

Estas en el tema de ayuda con este error en el foro de PHP en Foros del Web. Hola este es otr buscador , el problema es que ya estaba funcionando y depronto dejo de trabajar, haber si me puedes hechar la mano ...
  #1 (permalink)  
Antiguo 11/11/2008, 22:02
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años
Puntos: 1
Pregunta ayuda con este error

Hola este es otr buscador , el problema es que ya estaba funcionando y depronto dejo de trabajar, haber si me puedes hechar la mano para detectar cual es el problema.

gracias..

<?


if ($_GET[search]) {
$pattern=$_GET['pattern'];
$paid=$_GET['paid'];
$arrive=$_GET['arrive'];
$nights=$_GET['nigths'];
$room=$_GET['room'];
$customer=$_GET['customer'];
if (($pattern=="")and($paid=="")and($arrive=="")and($ nights=="")and($room=="")){ echo" ";}
else{
include ('../include/conexion.php');
$db=mysql_select_db($base,$conexion);
echo"$pattern";
$sql5="SELECT * FROM reservation where res_code like '%$pattern%'and paid like '%$paid%'and num_nights like '%$nights%'";
$result5=mysql_query($sql5,$conexion);
while ($fila5=mysql_fetch_array($result5)){
  #2 (permalink)  
Antiguo 11/11/2008, 22:04
 
Fecha de Ingreso: octubre-2008
Mensajes: 102
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: ayuda con este error

que error te da?
  #3 (permalink)  
Antiguo 11/11/2008, 22:04
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años
Puntos: 1
Respuesta: ayuda con este error

No me muestra nada de los registros a consultar
  #4 (permalink)  
Antiguo 11/11/2008, 22:19
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Respuesta: ayuda con este error

Bueno primero el code tiene muchas cosas las cuales no nececitan y aver si puedes poner el code completo, sobre ese fragmento aqui esta algunas cosas quitadas que no nececitas y errores correjidos

Esto vera si el Get existe
Código PHP:
if (isset($_GET[search])) { 
Estos deverias ponerlos primero entre isset($_GET['']) por que si uno no esta especificado te dara error
Código PHP:
$pattern=$_GET['pattern'];
$paid=$_GET['paid'];
$arrive=$_GET['arrive'];
$nights=$_GET['nigths'];
$room=$_GET['room'];
$customer=$_GET['customer']; 
Esto es mejor ponerle '!=' que significa no es igual a.
Aqui tambien tiene 2 parentesis al principio lo cual puede causar error
Te recomiendo usar '' en ves de ""
Y le quitas el echo que va despues
Código PHP:
if ($pattern != '') and ($paid 1'') and ($arrive != '') and ($nights != '') and ($room != ''){ 
la conexion a la DB deverias ponerla al principio, solo para mejorar la lectura del programa
Código PHP:
include ('../include/conexion.php'); 
La conexion deverias realizarrla en el archvio conexion.php asi, no tendrias que especificarla cada vez
Código PHP:
$db=mysql_select_db($base,$conexion); 
aqui esta bien
Código PHP:
echo"$pattern"
Aqui el LIKE pruebalo poniendolo en mayuscula y el nombre del valor entre ``
Código PHP:
$sql5="SELECT * FROM reservation where `res_code` LIKE '%$pattern%' and `paid` LIKE '%$paid%'and `num_nights` LIKE '%$nights%'"
No es nececario que le pongas $conexion ya que anteriormente deviste haber hecho la conecion.
Código PHP:
$result5=mysql_query($sql5,$conexion); 
Todo bien
Código PHP:
while ($fila5=mysql_fetch_array($result5)){ 
Asi deveria funcionar me avisas :D
  #5 (permalink)  
Antiguo 12/11/2008, 06:19
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años
Puntos: 1
asi quedo el codigo pero sigue sin funcionar

include ('../include/conexion.php');
$db=mysql_select_db($base,$conexion);

if (isset($_GET[search])) {
$pattern=$_GET['pattern'];
$paid=$_GET['paid'];
$arrive=$_GET['arrive'];
$nights=$_GET['nigths'];
$room=$_GET['room'];
$customer=$_GET['customer'];
if (($pattern!='')and($paid!='')and($arrive!='')and($ nights!='')and($room!='')){ echo" ";}
else{

echo"$pattern";
$sql5="SELECT * FROM reservation where res_code LIKE '%$pattern%'and paid LIKE '%$paid%'and num_nights LIKE '%$nights%'";
$result5=mysql_query($sql5,$conexion);
while ($fila5=mysql_fetch_array($result5)){
echo"<tr >";
echo"<td bgcolor=#CCCCCC>","</td>";
echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", "<a href='reservation_edit.php?id=".$fila5[id]."'>",$fila5['res_code'] ,"</a>","</td>";


echo"<td align=\"left\" bgcolor=#CCCCCC> <font size=2 color= \"#003366\">", $fila5['arrive_date'],"</td>";
echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", $fila5['num_nights'],"</td>";

echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", $fila['room_number'],"</td>";

echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", $fila5['customer_id'],"</td>";
echo "<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\"><a

asi de esta forma no me muestra los campos que jalo con el metodo GET, lo probe con un echo .
lo deje de esta forma ya me jala la variable solo que no me muestra los datos que intento mostrar

include ('../include/conexion.php');
$db=mysql_select_db($base,$conexion);

if (isset($_GET[search])) {
$pattern=$_GET['pattern'];
$paid=$_GET['paid'];
$arrive=$_GET['arrive'];
$nights=$_GET['nigths'];
$room=$_GET['room'];
$customer=$_GET['customer'];

echo"$pattern";// para confirmar que esta jalando la variable
echo"$paid";
$sql5="SELECT * FROM reservation where res_code LIKE '%$pattern%' and paid LIKE '%$paid%'and num_nights LIKE '%$nights%'";
$result5=mysql_query($sql5,$conexion);
while ($fila5=mysql_fetch_array($result5)){
echo"<tr >";
echo"<td bgcolor=#CCCCCC>","</td>";
echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", "<a href='reservation_edit.php?id=".$fila5[id]."'>",$fila5['res_code'] ,"</a>","</td>";


echo"<td align=\"left\" bgcolor=#CCCCCC> <font size=2 color= \"#003366\">", $fila5['arrive_date'],"</td>";
echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", $fila5['num_nights'],"</td>";

echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", $fila['room_number'],"</td>";

echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", $fila5['customer_id'],"</td>";
echo "<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\"><a href='../include/DeleteReservation.php?idreservation=".$fila5[id]."' onclick=\"return confirm('¿Do you want to delete this reservation?')\">","Delete reservation","</a></td>";


echo"</tr>\n";
}
}

Con este codigo si me jala la variable pero no me muestra los registros.

Con este codigo me busca solo por la ultima variable que tengo en mi codigo en el sql y no entiendo por que ?
es decir solo puedo consultar un campo... cuando tengo 5 campos diferentes por consultar, como lo resuelvo?

gracias..

if (isset($_GET[search])) {
$pattern=$_GET['pattern'];
$paid=$_GET['paid'];
$arrive=$_GET['arrive'];
$nigths=$_GET['nigths'];
$room=$_GET['room'];
$customer=$_GET['customer'];
if (($pattern=='')and($paid=='')and($arrive!='')and($ nights!='')){ echo" ";}
else{
// and num_nights LIKE '%$nigths%'
echo"$pattern";
echo"$paid";
$sql5="SELECT * FROM reservation where res_code LIKE '%$pattern%'and paid LIKE '%$paid%' ";
$result5=mysql_query($sql5,$conexion);
while ($fila5=mysql_fetch_array($result5)){

Última edición por GatorV; 12/11/2008 a las 09:43
  #6 (permalink)  
Antiguo 12/11/2008, 10:42
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Respuesta: ayuda con este error

queiro saber que suige despues de esto

$sql5="SELECT * FROM reservation where res_code LIKE '%$pattern%'and paid LIKE '%$paid%' ";
$result5=mysql_query($sql5,$conexion);
while ($fila5=mysql_fetch_array($result5))

despues de eso esta el problema
  #7 (permalink)  
Antiguo 12/11/2008, 12:38
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años
Puntos: 1
Respuesta: ayuda con este error

te paso mas información del codigo, si me esta jalando las varibles lo compruebo con un echo , pero en la consulta solo consulta el ultimo campo que segun deje en donde hago la consulta SQL


if (isset($_GET[search])) {
$pattern=$_GET['reser_number'];
$paid=$_GET['paid'];
$arrive=$_GET['arrive'];
$nigths=$_GET['nigths'];
$room=$_GET['room'];
$customer=$_GET['customer'];
if (($pattern=='')and($paid=='')and($arrive!='')and($ nights!='')){ echo" ";}
else{
// and num_nights LIKE '%$nigths%'
echo"$pattern";
echo"$paid";
$sql5="SELECT * FROM reservation where res_code LIKE '%$pattern%'and paid LIKE '%$paid%' "; //consulta sql , no me consulta el anterior y si agrego un posterior ya no me consutla este ultimo.
$result5=mysql_query($sql5,$conexion);
while ($fila5=mysql_fetch_array($result5)){
echo"<tr >";
echo"<td bgcolor=#CCCCCC>","</td>";
echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", "<a href='reservation_edit.php?id=".$fila5[id]."'>",$fila5['res_code'] ,"</a>","</td>";


echo"<td align=\"left\" bgcolor=#CCCCCC> <font size=2 color= \"#003366\">", $fila5['arrive_date'],"</td>";
echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", $fila5['num_nights'],"</td>";

echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", $fila['room_number'],"</td>";


Ojala me puedas ayudar.

gracias..
  #8 (permalink)  
Antiguo 12/11/2008, 14:43
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años
Puntos: 1
Pregunta Como comparar una variable con caracteres

$sql5="SELECT * FROM reservation where (res_code LIKE '%$pattern%' and paid LIKE '%$paid%'and arrive_date LIKE '%$arrive%' and num_nights LIKE '%$nigths%') ";

La unica variable con la que me funciona la busqueda es con $paid, pero con los demas no el primero es un codigo que tiene una clave como esta HL080822-109, la fecha pues 2008-08-05.

Me muestra las varibles cuando presiono el boton , pero no me reconoce ninguna busqueda.

Al intentar checarlo directamente en SQL para corroborar que esta bien mi codigo , no me lo ejecuto, es decir no funciono hasta que le puedo a la clave HL080822-109 unas comillas simples 'HL080822-109'

es decir
SELECT *
FROM `reservation`
WHERE `res_code` = 'HL080821-211' como le hago para que me reconozca el valor con el codigo php.

muchas gracias


Hice una prueba probando la busquedade manera independiente cada uno de los campos y funciona perfectamente, lo que no esta funcionando al parecer es el operador and... por que teniendolos juntos asi
$sql5="SELECT * FROM reservation where (res_code LIKE '%$reser_number%'and paid LIKE '%$paidres%'and arrive_date LIKE '%$arrives%' ) ";

Como lo resuevo algun tip o ayuda de alguien experimentado.

muchas gracias.

Última edición por RicardoU; 12/11/2008 a las 15:42
  #9 (permalink)  
Antiguo 12/11/2008, 16:56
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años
Puntos: 1
Por que solo puedo consultar un dato ?

Este es no codigo no encuentro el error

Lo que sucede es que en la consulta SQL me funcionan todas consultas , por que lo probe de uno en uno , pero cuando agrego las demas , ya no me funciona ninguna, ahorita separe todas las demas por que estuve haciendo pruebas pero no doy con la falla.

en resumen

sql5="SELECT * from reservation where res_code LIKE '%$reser_number%'"; asi asi funciona

sql5="SELECT * from reservation where res_code LIKE '%$reser_number%'and paid LIKE '%$paidres%'"; asi asi funciona no funciona.


Ojala me puedas ayudar


<?

if (isset($_GET[search])) {
$reser_number=$_GET['reser_number'];
$paidres=$_GET['paid'];
$arrives=$_GET['date'];
$nights=$_GET['nigths'];
$roomer=$_GET['room'];
$fname1=$_GET['fname'];
$lname1=$_GET['lname'];

if (($reser_number=='')and($paidres=='')and($arrives= ='')and($nights=='')and($roomer=='')and($fname1==' ')and($lname1=='')){ echo" ";}
else{
include ('../include/conexion.php');
$db=mysql_select_db($base,$conexion);
echo"$reser_number";echo"$paidres";echo"$arrives"; echo"$nights";echo"$customer"; echo"$room";echo"$fname"; echo"$lname";
$sql5="SELECT reservation.paid, room_selected.reservation_id, reservation.id, reservation.res_code, reservation.arrive_date, reservation.num_nights, reservation.customer_id, room_selected.room_id, room.room_number
FROM room_selected, reservation, room
WHERE room_selected.reservation_id = reservation.id
AND room_selected.room_id = room.id AND res_code LIKE '%$reser_number%'and paid LIKE '%$paidres%' ";
//res_code LIKE '%$reser_number%'and paid LIKE '%$paidres%'and arrive_date LIKE '%$arrives%' and num_nights LIKE '%$nights%'and room LIKE '%$roomer%'and fname LIKE '%fname%'and lname LIKE '%lname%'
$result5=mysql_query($sql5,$conexion);
while ($fila5=mysql_fetch_array($result5)){
echo"<tr>";
echo"<td bgcolor=#CCCCCC>","</td>";
echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", "<a href='reservation_edit.php?id=".$fila5[id]."'>",$fila5['res_code'] ,"</a>","</td>";
echo"<td align=\"left\" bgcolor=#CCCCCC> <font size=2 color= \"#003366\">", $fila5['arrive_date'],"</td>";
echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", $fila5['num_nights'],"</td>";
echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", $fila5['room_number'],"</td>";
echo"<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\">", $fila5['customer_id'],"</td>";
echo "<td align=\"left\" bgcolor=#CCCCCC > <font size=2 color= \"#003366\"><a
  #10 (permalink)  
Antiguo 12/11/2008, 17:31
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Respuesta: ayuda con este error

pues mira men esto deve ser asi

".$fila5['id']."

prueba poniendo eso es que tu le pusiste coma y es punto xD

if (($pattern=='')and($paid=='')and($arrive!='')and($ nights!='')){ echo" ";}

eso esta mal deves ponerlas todos con doble igual o con != y quitarle el echo}else{

salu2

Última edición por Edig; 12/11/2008 a las 18:40
  #11 (permalink)  
Antiguo 12/11/2008, 17:48
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años
Puntos: 1
Pregunta Respuesta: ayuda con este error

$sql5="SELECT * FROM reservation where res_code LIKE '%$reser_number%'and paid LIKE '%$paidres%' ";
checate este codigo...
ya hice pruebas y las variables de manera independiente las muestra bien, cheque la consulta con un solo dato de manera individual , pero cuando agrego con and otro campo ya no me funciona la consulta que puede estar sucediendo.?

gracias..
  #12 (permalink)  
Antiguo 12/11/2008, 18:37
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Por que solo puedo consultar un dato ?

y que error te envia? podrias poner un or die por ejemplo para checar el error y la linea
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #13 (permalink)  
Antiguo 12/11/2008, 19:23
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años
Puntos: 1
Respuesta: Por que solo puedo consultar un dato ?

No muestra ningun error pero realice varias pruebas y te informo

$sql5="SELECT * FROM reservation where res_code LIKE '%$reser_number%'and paid LIKE '%$paidres%' "; aqui ya no me busca res_code
checate este codigo...
ya hice pruebas y las variables de manera independiente las muestra bien, cheque la consulta con un solo dato de manera individual , pero cuando agrego con and otro campo ya no me funciona la consulta que puede estar sucediendo.?

independente me muestra perfectamente los datos, creo que el error puede estar en el operador que estamos utilizando yo lo estoy haciendo con And y no me muestra los campos, lo hago con or y me muestra campos demas no solo lo que busco que suguieres.

Ijoles esto ya me trae de cabeza ojala le puedas dar una revisada y me puedas dar un norte por que estoy perdido no encuentro el error, pero aun que ya tengo un buscador con 4 input box diferentes que me esta funcionando bien, y con este no se que sucede.

gracias..

Última edición por RicardoU; 12/11/2008 a las 19:35
  #14 (permalink)  
Antiguo 12/11/2008, 19:52
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 9 meses
Puntos: 103
Respuesta: Por que solo puedo consultar un dato ?

utiliza
Código HTML:
[php] y [/php]
para que te ponga los colores automaticamente (sacale los espacios
  #15 (permalink)  
Antiguo 12/11/2008, 20:37
 
Fecha de Ingreso: diciembre-2007
Mensajes: 927
Antigüedad: 16 años, 4 meses
Puntos: 12
Respuesta: ayuda con este error

lo que dice kaninox es que pongas en vez de esta linea

Código PHP:
$result5=mysql_query($sql5,$conexion); 
esta otra

Código PHP:
$result5=mysql_query($sql5,$conexión) or die (mysql_error()); 
Esto imprimirá cualquier error que de tu ponlo y ejecútalo y pon que error te da

salu2
  #16 (permalink)  
Antiguo 12/11/2008, 20:46
Avatar de erlingfiallos  
Fecha de Ingreso: febrero-2005
Ubicación: Mexico ahora
Mensajes: 499
Antigüedad: 19 años, 2 meses
Puntos: 9
Respuesta: ayuda con este error

La consulta no se que estuviera mala.. pero por si las dudas.. porque no mejor separas el codigo de la cadena de las variables php..


Código PHP:
$sql5="SELECT * 
    FROM reservation 
    WHERE res_code LIKE '%"
.$reser_number."%' 
    AND paid LIKE '%"
.$paidres."%';"
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 09:29.