elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  otro problemilla con consulta
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: otro problemilla con consulta  (Leído 2,331 veces)
soru13

Desconectado Desconectado

Mensajes: 246



Ver Perfil
otro problemilla con consulta
« en: 19 Julio 2010, 20:41 pm »

hola,siento ser tan pesado pero tengo otro problemilla.

resulta que quiero que debajo de un video mio salgan unos 5 videos como videos relaccionados pero que en realidad saldrán los últimos 5 videos de la categoría del video que se está viendo. Bien,pues aquí dejo el código que funciona pero que no está automatizado:

Código:
<p align="center">Videos relaccionados</p>
 <p align="center"><?
include ("../config.php");
$sql = "select * from videos where id=$directorio";
$sql = "select * from videos where cat='NOMBRECATEGORIA' order by id desc limit 5";

//Instrucción a ejecutarse en la bbdd.
 
$squery = mysql_query($sql);
//Ejecución de la instrucción
 
while($row = mysql_fetch_array($squery)){
//Recuperar los datos de un registro o hilera (row) y meterlo a un array
echo "".$row["img"]."&nbsp;";
}
?></p>

El caso es que funciona si pongo manualmente el nombre de la categoría pero yo quiero que la obtenga através de la id del video ya que la carpeta del video es la misma que la id del video,asi que hice éste código,pero no da error ni muestra los videos: ¿porqué?

Código:
<p align="center">Videos relaccionados</p>
 <p align="center"><?
include ("../config.php");
$directorio = basename(getcwd());
$sql = "select * from videos where id=$directorio";
$relac = $row['cat'];
$sql = "select * from videos where cat='$relac' order by id desc limit 5";

//Instrucción a ejecutarse en la bbdd.
 
$squery = mysql_query($sql);
//Ejecución de la instrucción
 
while($row = mysql_fetch_array($squery)){
//Recuperar los datos de un registro o hilera (row) y meterlo a un array
echo "".$row["img"]."&nbsp;";
}
?></p>

Aquí lo podeis ver: http://www.tupixxx.com/22/

Gracias


En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: otro problemilla con consulta
« Respuesta #1 en: 20 Julio 2010, 00:54 am »

nunca funcionara xD.

El problema esta en la linea 6
Código
  1. <p align="center">Videos relaccionados</p>
  2. <p align="center"><?
  3. include ("../config.php");
  4. $directorio = basename(getcwd());
  5. $sql = "select * from videos where id=$directorio";
  6. $relac = $row['cat'];
  7. $sql = "select * from videos where cat='$relac' order by id desc limit 5";
  8.  
  9. //Instrucción a ejecutarse en la bbdd.
  10.  
  11. $squery = mysql_query($sql);
  12. //Ejecución de la instrucción
  13.  
  14. while($row = mysql_fetch_array($squery)){
  15. //Recuperar los datos de un registro o hilera (row) y meterlo a un array
  16. echo "".$row["img"]."&nbsp;";
  17. }
  18. ?></p>
Te doy una ayudita para que pienses y lo soluciones o si no se te hecha la mano xD.

Tu problema esta en la variable $relac que almacena un valor que no existe, ej:
Código
  1. <?php
  2.  
  3. echo $var;
  4. $var = 'Hola';
  5.  
  6. ?>

No se muestra el valor de la variable $var porque no tiene valor.

Te comento donde tienes el error...
Código
  1. <p align="center">Videos relaccionados</p>
  2. <p align="center"><?
  3. include ("../config.php");
  4. $directorio = basename(getcwd());
  5. $sql = "select * from videos where id=$directorio";
  6. $relac = $row['cat'];//Aqui esta el problema, deberia de ir bajo el while ya que el array $row no contiene ningun valor
  7. $sql = "select * from videos where cat='$relac' order by id desc limit 5";
  8.  
  9. //Instrucci&#38;#243;n a ejecutarse en la bbdd.
  10.  
  11. $squery = mysql_query($sql);
  12. //Ejecuci&#38;#243;n de la instrucci&#38;#243;n
  13.  
  14. while($row = mysql_fetch_array($squery)){
  15. //Recuperar los datos de un registro o hilera (row) y meterlo a un array
  16. echo "".$row["img"]."&nbsp;";
  17. }
  18. ?></p>

Y optimiza tu  consulta SQL..
Código
  1. mysql> DESCRIBE ejemplo;
  2. +--------+----------+------+-----+---------+----------------+
  3. | FIELD  | TYPE     | NULL | KEY | DEFAULT | Extra          |
  4. +--------+----------+------+-----+---------+----------------+
  5. | id     | INT(11)  | NO   | PRI | NULL    | AUTO_INCREMENT |
  6. | nombre | CHAR(20) | YES  |     | NULL    |                |
  7. +--------+----------+------+-----+---------+----------------+
Código
  1. mysql> SELECT * FROM ejemplo;
  2. +----+--------+
  3. | id | nombre |
  4. +----+--------+
  5. |  1 | jesus  |
  6. |  2 | edwin  |
  7. |  3 | jose   |
  8. +----+--------+
  9. 3 ROWS IN SET (0.00 sec)

Ahora pongo dos condiciones:
Código
  1. mysql> SELECT * FROM ejemplo WHERE id=1 && nombre = "jesus";
  2. +----+--------+
  3. | id | nombre |
  4. +----+--------+
  5. |  1 | jesus  |
  6. +----+--------+
  7. 1 ROW IN SET (0.00 sec)



Tienes otro problemita...
Código
  1. $sql = "select * from videos where id=$directorio";
  2. $relac = $row['cat'];
  3. $sql = "select * from videos where cat='$relac' order by id desc limit 5";
Das dos valores diferente a una variable ($sql), y php toma el ultimo valor asignado a la variable... Me imagino que lo haces porque necesitas poner dos condicionales, arriba te puse como hacerlo.

Ej:
Código
  1. <?php
  2.  
  3. $var = 1213;
  4. $var = 7777;
  5. echo $var;
  6.  
  7. ?>
Salida:
Código:
7777


En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
soru13

Desconectado Desconectado

Mensajes: 246



Ver Perfil
Re: otro problemilla con consulta
« Respuesta #2 en: 20 Julio 2010, 01:24 am »

muchas gracias ~ Yoya ~ ya lo arreglé y tomé nota de tus consejos,esque estoy empezando con mysql y no se mucho.
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: otro problemilla con consulta
« Respuesta #3 en: 20 Julio 2010, 01:29 am »

No pasa nada y muy bien que lo hallas hecho por ti mismo xD.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: otro problemilla con consulta
« Respuesta #4 en: 20 Julio 2010, 02:30 am »

Por cierto eso de:

Código:
$directorio = basename(getcwd());
$sql = "select * from videos where id=$directorio";

Puede no ser la mejor forma de organizar tus consultas. Tendrías que crear quien sabe cuantos directorios por cada id.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Otro problemilla sobre imagenes BMP en c++
Programación C/C++
aRtemiS-DP 3 2,248 Último mensaje 29 Enero 2012, 05:14 am
por do-while
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines