Ir al contenido



Foto

Error Undefined offset: 0 en php


  • Por favor identifícate para responder
1 respuesta en este tema

#1 el samurai

el samurai

    Member

  • Miembros
  • PipPip
  • 41 mensajes

Escrito 17 mayo 2017 - 07:01

Saludos, actualmente estoy desarrollando un módulo para mi sitio web para que me muestre  artículos sugeridos de forma aleatoria, la forma en la que lo estoy trabajando es por medio de crear un numero aleatorio y luego traer una publicación que posea ese mismo número como id, hasta cierto punto lo tengo funcionando pero hay veces que me da un error y me gustaría saber la causa o la solución del mismo, a continuación dejo el código de ejemplo y agradecería cualquier ayuda.

 

Codigo de la clase:

 

 

public function get_articulos_recomendados2()
{
  $sql="select count(*) as cuantos from articulos ";
$res=mysql_query($sql,Conectar::con());
if ($reg=mysql_fetch_array($res))
{
$total=$reg["cuantos"];
$aleatorio= rand(1,$total);
$sql="SELECT * FROM articulos,i_articulos where articulos.imagen_articulo=i_articulos.id_imagen and id_articulo=$aleatorio";
 
 
$res=mysql_query($sql,Conectar::con());
                while ($reg=mysql_fetch_assoc($res))
{
$this->articulos2[]=$reg;
}
}
 
return $this->articulos2;
   
 
 
  
}
 
 
codigo del front end
 
 <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
$reg2=$tra2->get_articulos_recomendados2();
                    <?php $texto=str_replace(" ","-",$reg2[0]["titulo"]);?>
                    <a href="<?php echo $texto."-A-".$reg2[0]["id_articulo"].".html"?>"><h3><?php echo $reg2[0]["titulo"];?></h3>
                    <img src="Imagenes-articulos/<?php echo $reg2[0]["ruta_imagen"];?>" alt="<?php echo $reg2[0]["nombre_imagen"];?>" title="<?php echo $reg2[0]["nombre_imagen"];?>" class="img-responsive imagen-presentacion-articulo"></a>
                </div>

 

 

imagen del error

 


  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.212 mensajes
  • LocationRepública Dominicana

Escrito 18 mayo 2017 - 08:38

Porque posiblemente el número que se genere no existe en la base de datos ó arreglo, por eso el error, por qué no lo haces la consulta?:


sql
  1. SELECT * FROM articulos,i_articulos WHERE articulos.imagen_articulo=i_articulos.id_imagen ORDER BY RAND() LIMIT 1

Nos comentas.


  • 0