PHP - URGENTE POR FAVOR

 
Vista:

URGENTE POR FAVOR

Publicado por ana (7 intervenciones) el 11/06/2008 19:39:34
por favor necesito ayuda urgente, me he metido en un pequeño lio, donde trabajo un cliente necesitaba que le arreglaran el motor de busqueda de su base de datos en su web y mi jefe me pregunto si podia hacerlo, pense que no seria dificil, me compre un gran libro y me puse a estudiar, pero llevo 2 semanas y no doy con el problema. El caso es que la base de datos al poner los criterios de busqueda no devuelve bien los datos. Por favor ayudenme!!!!!. Seguro es una tonteria pero no se como hacer.
Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:URGENTE POR FAVOR

Publicado por Ery (65 intervenciones) el 11/06/2008 22:31:30
Coloca el codigo, que db estas usando?, que tipo de indice?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE POR FAVOR

Publicado por ana (7 intervenciones) el 12/06/2008 10:47:49
Se me ha ocurrido que el problema a lo mejor no esta en esa pagina, sino en la que lista el producto. Hay dos una lista promociones y otra inmuebles.
Promos:

<html>
<head>
<title>Separk - Grup Immobiliari</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../../estilos.css" rel="stylesheet" type="text/css">
</head>
<body topmargin="0" leftmargin="0" rightmargin="0">
<table width="1000" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>
<td align="center"><table width="100%" border="0" cellpadding="4">
<tr>
<td height="40" colspan="5" class="tit_bordeaux_grande"><div align="center">Promociones</div></td>
</tr>
<tr>
<td width="10%" height="40" bgcolor="#999999" class="tit_blanco"><a href="listar_promos.php?por=codigo">
<div align="center">Código</div></a></td>
<td width="27%" height="40" bgcolor="#999999" class="tit_blanco"><a href="listar_promos.php?por=nombre">
<div align="center">Nombre</div>
</a></td>
<td width="55%" height="40" bgcolor="#999999" class="tit_blanco"> <div align="center">Descripción (Castellano) </div></td>
<td width="4%" height="40" bgcolor="#999999" class="tit_blanco"><div align="center">Edit</div> </td>
<td width="4%" height="40" bgcolor="#999999" class="tit_blanco"><div align="center">Borr</div> </td>
</tr>
<?php
include ("../../conexion.php");

//Conexión a la base de datos
$con = mysql_connect("$servidor","$usuario","$contrasena") or die ("no se pudo conectar");
mysql_select_db($base,$con) or die (mysql_error());

//Sentencia sql (sin limit)
if ($por!="") {
$_pagi_sql = "SELECT * FROM promociones ORDER BY '$por' ASC";
}
else
{
$_pagi_sql = "SELECT * FROM promociones ORDER BY codigo ASC";
}

//mysql_connect("$servidor","$usuario","$contrasena") or die ("no se pudo conectar");
$_todo="SELECT * FROM promociones";
$result_todo=mysql_db_query ($base, $_todo) or die ("no se pudo hacer la consulta");

//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos = 20;

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("../../paginator.inc.php");

$num_fila = 0;

while ($row=mysql_fetch_array ($_pagi_result))
{

echo '<tr ';

if ($num_fila%2==0) {
echo 'bgcolor="#ffffff"'; //si el resto de la división es 0 pongo un color
}
else {
echo 'bgcolor="#f1f1f1"'; //si el resto de la división NO es 0 pongo otro color
}
echo '>';

echo '<td align="center">'.$row["codigo"].'</td>
<td>'.$row["nombre"].'</td>
<td>';

echo nl2br(''.$row["descripcion"].'');


echo'</td>
<td align="center"><a href="edit_promo.php?id='.$row["id"].'"><img src="../../esp/img/ico_editar.gif" width="19" height="18" border="0"></a></td>
<td align="center"><a href="borrar_promo.php?id='.$row["id"].'&cod='.$row["codigo"].'&nom='.$row["nombre"].'"><img src="../../esp/img/ico_borrar.gif" width="19" height="18" border="0"></a></td>

</tr>';
//aumentamos en uno el número de filas
$num_fila++;

}

mysql_free_result ($_pagi_result);

$numRows = mysql_num_rows ($result_todo);
echo '<tr><td colspan="10" align="center">Total de promociones: '.$numRows.'';

//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p><td></tr>";
?>
<tr>
<td colspan="5" bgcolor="#999999" class="tit_blanco"><img src="../../esp/img/trans.gif" width="24" height="3"></td>
</tr>

</table></td>
</tr>
<tr>
<td align="center"></td>
</tr>
<tr>
<td align="center"><div align="right"></div></td>
</tr>
<tr>
<td align="center"><a href="../index.php"><< volver al panel</a></td>
</tr>
<tr>
<td align="center">
<div align="center"></div></td>
</tr>
</table>
</body>
</html>

inmuebles:

<html>
<head>
<title>Separk - Grup Immobiliari</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../../estilos.css" rel="stylesheet" type="text/css">
</head>
<body topmargin="0" leftmargin="0" rightmargin="0">
<table width="1000" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>
<td align="center"><table width="100%" border="0" cellpadding="4">
<tr>
<td height="40" colspan="9" class="tit_bordeaux_grande"><div align="center">Inmuebles</div></td>
</tr>
<tr>
<td width="8%" height="40" bgcolor="#999999" class="tit_blanco"><a href="listar_inm.php?por=codigo">
<div align="center">Código</div></a></td>
<td width="22%" height="40" bgcolor="#999999" class="tit_blanco"><a href="listar_inm.php?por=nombre">
<div align="center">Nombre</div>
</a></td>
<td width="15%" height="40" bgcolor="#999999" class="tit_blanco"><a href="listar_inm.php?por=tipo">
<div align="center">Tipo</div></a></td>
<td width="18%" height="40" bgcolor="#999999" class="tit_blanco"><a href="listar_inm.php?por=oferta">
<div align="center">Oferta</div>
</a></td>
<td width="7%" bgcolor="#999999" class="tit_blanco"><div align="center"><a href="listar_inm.php?por=poblacion">Pobl.</a></div></td>
<td width="5%" bgcolor="#999999" class="tit_blanco"><div align="center"><a href="listar_inm.php?por=dormitorios">Dorm.</a></div></td>
<td width="13%" height="40" bgcolor="#999999" class="tit_blanco"><a href="listar_inm.php?por=zona">
<div align="center">Comarca / Municipio</div>
</a></td>
<td width="6%" height="40" bgcolor="#999999" class="tit_blanco"><div align="center">Edit</div> </td>
<td width="6%" height="40" bgcolor="#999999" class="tit_blanco"><div align="center">Borr</div> </td>
</tr>
<?php
include ("../../conexion.php");

//Conexión a la base de datos
$con = mysql_connect("$servidor","$usuario","$contrasena") or die ("no se pudo conectar");
mysql_select_db($base,$con) or die (mysql_error());

//Sentencia sql (sin limit)
if ($por!="") {
$_pagi_sql = "SELECT * FROM inmuebles ORDER BY '$por' ASC";
}
else
{
$_pagi_sql = "SELECT * FROM inmuebles ORDER BY codigo ASC";
}

//mysql_connect("$servidor","$usuario","$contrasena") or die ("no se pudo conectar");
$_todo="SELECT * FROM inmuebles";
$result_todo=mysql_db_query ($base, $_todo) or die ("no se pudo hacer la consulta");

//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos = 20;

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("../../paginator.inc.php");

$num_fila = 0;

while ($row=mysql_fetch_array ($_pagi_result))
{

echo '<tr ';

if ($num_fila%2==0) {
echo 'bgcolor="#ffffff"'; //si el resto de la división es 0 pongo un color
}
else {
echo 'bgcolor="#f1f1f1"'; //si el resto de la división NO es 0 pongo otro color
}
echo '>';

echo '<td align="center">'.$row["codigo"].'</td>
<td>'.$row["nombre"].'</td>
<td align="center">'.$row["tipo"].'</td>
<td align="center">'.$row["oferta"].'</td>
<td align="center">'.$row["poblacion"].'</td>

<td align="center">'.$row["dormitorios"].'</td>

<td>'.$row["zona"].'</td>

<td align="center"><a href="edit_inm.php?id='.$row["id"].'"><img src="../../esp/img/ico_editar.gif" width="19" height="18" border="0"></a></td>
<td align="center"><a href="borrar_inm.php?id='.$row["id"].'&cod='.$row["codigo"].'&nom='.$row["nombre"].'"><img src="../../esp/img/ico_borrar.gif" width="19" height="18" border="0"></a></td>

</tr>';
//aumentamos en uno el número de filas
$num_fila++;

}

mysql_free_result ($_pagi_result);

$numRows = mysql_num_rows ($result_todo);
echo '<tr><td colspan="10" align="center">Total de inmuebles: '.$numRows.'';

//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p><td></tr>";
?>
<tr>
<td colspan="9" bgcolor="#999999" class="tit_blanco"><img src="../../esp/img/trans.gif" width="24" height="3"></td>
</tr>

</table></td>
</tr>
<tr>
<td align="center"></td>
</tr>
<tr>
<td align="center"><div align="right"></div></td>
</tr>
<tr>
<td align="center"><a href="../index.php"><< volver al panel</a></td>
</tr>
<tr>
<td align="center">
<div align="center"></div></td>
</tr>
</table>
</body>
</html>

a lo mejor el problema esta hay, no se de veras.

Os agradezco toda la ayuda posible.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE POR FAVOR

Publicado por Ery (65 intervenciones) el 12/06/2008 12:35:39
Creo que no va hacer tan dificil como crees,

El Primer problema que veo es que este script sufre del "Register Global Off", que significa hace un tiempo cualquier variables de formulario enviado en el script de destino se convertia en variable, por eso listar_inm.php?por=codigo el proximo script se creba la variable $por con el contenido "codigo" esto era lo que se llama "Register Global On"

Peo hace tiempo ya esto fue desactivado que tienes que hacer en listar_inm.php haz esto
$por $_GET['por']; En este caso lo toma por GET, en otros caso seria $_POST dependiendo el metodo que allas usado en el formulario, mi sugerencia,

si prueba $por = $_GET['por']; y funciona?

haz algo como esto
$por = isset($_GET['por']) ? $_GET['por'] : '';

$arr = array('codigo', 'nombre', 'tipo', 'poblacion', 'dormitorios', 'zona');
if(!in_array($por, $arr)) {
$por = '';
}

Por cierto aunque a mi no me gusta podrias hacer algo como

reset($_GET);
while (list($key, $val) = each($_GET)) {
eval("$key => $val;");
}

Y Deberia funcionan, convertir todo lo que llega por el $_GET a variables tal como lo hacia el Register Global On

Saludos,

Si todavia no te funciona lo volvemos a revisarlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE POR FAVOR

Publicado por ana (7 intervenciones) el 12/06/2008 12:55:25
jo que facil parece pero no te creas que para mi lo es. pufff esto me desborda.
Osea que en todos los sitios donde aparzca $ yo he de poner $_GET, lo siento ya se que es facil pero aun no estoy muy metida en esto, de veras qu esiento molestarte. voy a intentar todo esto y ire probando. gracias. de veras muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE POR FAVOR

Publicado por ROCKMUERTE (146 intervenciones) el 12/06/2008 17:17:43
OLA, QUE TAL, E ENCONTRADO ALGO UN POCO FUERA DE NORMAL EN EL CODIGO, VEO VARIAS BECES CONEXION A LA BASE DE DATOS EN EL MISMO CODIGO, Y TAMBIEN HAY UN INCLUDE('CONEXION'), ESE PUEDE SER UN PROBLEMOS, SOLO HAS UNA SOLA CONEXION ALA BASE DE DATOS Y NO TE OLVIDES DE CERRARLA SIEMPRE SI NO TU BASE DE DATOS DE PUEDE DESBORDAR Y AYI TENDRAS SERIOS PROBLEMAS. USA ESTA CONEXION OJALA TE SIRVA.

archivo Conexion.php

<?
class conectate
{
var $servidor;
var $user;
var $db;
var $pwd;
var $cn;
function conectate()
{
$this->servidor="localhost";//nombre del servidor
$this->user="root";/nombre del usuario
$this->db="intranet";/ nombre de la base de datos
$this->pwd="root";/ contraseña del usuario
}
function Conectar()
{
$this->cn=mysql_connect($this->servidor,$this->user,$this->pwd);
if(!($this->cn))
{ echo ("Error de Conexion");}
else
{//seleccionamos la base de datos
if (!(mysql_select_db($this->db,$this->cn)))
{ return 0;}
else
{ return $this->cn; }
}
}
function desconectate()
{
mysql_close($this->cn);
}
}
?>

y para llamar a los archivos solo comienza tus arcchivos con este codigo

include("/Conexion.php");
$cn = new conectate();
$cn->Conectar();// para iniciar la concexion

y al finalizar tu codigo pon

$cn->desconectate();

ojala te srva suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE POR FAVOR

Publicado por ana (7 intervenciones) el 12/06/2008 17:22:35
lo de el archivo conexion es una nueva pagina web.php? puff no quiero parecer tonta pero es que no tengo mucha idea de php por eso me he metido en un lio.
Este web site tiene una pagina llamada conexion con este codigo:

<?php
$servidor="localhost";

$base="xxxxxx";

$usuario="xxxxxxxxxx";

$contrasena="xxxxxxx";

$url="http://www.grupsepark.com";
?>

donde xxxxx son las claves y no creo que deba ponerlas.

por otro lado si esta no es la pagina donde he de poner lo que tu me dices,.... donde he de ponerlo?

jo siento dar tantos problemas, de veras quelo siento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE POR FAVOR

Publicado por rockmuerte (146 intervenciones) el 12/06/2008 17:33:15
no nada que ver, tu pregunta no mas para eso tamos nosotros (LOS VAGOS QUE NO TENEMOS OTRA COSA MEJOR QUE HACER QUE RESOLVER PROBLEMAS QUE ANTES NOS JODIAN),

regresando al tema, si esa pagina remplasala por los codigos que te pase, en nombre de hos, usuario y contra, seria = que me lo des o no, total no se que host es asi que normal.

saca todo conexion que tengas en el codigo, solo maneja esa conexion, y llamala como te dije en el archivo.

me habisas si te sirve
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE POR FAVOR

Publicado por ana (7 intervenciones) el 12/06/2008 17:39:35
ok lo hare, aunque tengo que resolver un problema antes y es que mi maquina no me deja ver las paginas php no se porque , creo que es que el server no funciona aunque chequeo con apache y mysql y si funciona pero php no.
Estoy hecha un lio de cosas y eso me pasa por meterme donde nome llaman jajaja. pero NUNCA MASSSS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE POR FAVOR

Publicado por ana (7 intervenciones) el 12/06/2008 20:12:03
reo que me fuiste a agregar en hotmail y te denegue, lo siento no fue mi intencion pero hoy llevo un dia fatal y con los nervios le di donde no era

dos.-
cuando me pones:
y para llamar a los archivos solo comienza tus arcchivos con este codigo

include("/Conexion.php");
$cn = new conectate();
$cn->Conectar();// para iniciar la concexion

y al finalizar tu codigo pon

$cn->desconectate();

a que archivos te refieres???
a todas las paginas donde llamo a la base de datos?

espero tu respuesta

MUCHAS GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE POR FAVOR

Publicado por rockmuerte (146 intervenciones) el 12/06/2008 21:16:54
asi es todos los archivos donde uses la base da datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE POR FAVOR - NO SALE NADA, NO FUNCIONA!

Publicado por anna (7 intervenciones) el 17/06/2008 12:24:07
he hecho todo lo que me dijisteis tanto Ery como rockmuerte pero nada de nada, o soy demasiado torpe o no funciona, ( seguro que soy torpe jejeje) por favor teneis mas sugerencias, si quereis os paso el web y el ftp para que veais lo que sucede, vale????
Por favor no tengo mucho mas tiempo y necesito una grn ayuda!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE POR FAVOR - NO SALE NADA, NO FUNCIONA!

Publicado por APSELICO (5 intervenciones) el 17/06/2008 21:35:46
He leido todos loos textos y las respuestas creo q la solucion seria q pases nomas la web, a ver si me lo envias a mi correo allí mostrado...
Espero respuesta...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE POR FAVOR - NO SALE NADA, NO FUNCIONA!

Publicado por ROCKMUERTE (146 intervenciones) el 17/06/2008 21:37:20
OLA ANA ACA ROCKMUERTE, ES CIERTO PASALE A APSELICO ES SABE MAS QUE YO EN ESO DE PHP, SEGURO ENCONTRARA EL ERROR SI MAS PROBLEMA SUERTE.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar