Ir al contenido


Foto

Problema con creacion de blog tutorial cesar cancino


  • Por favor identifícate para responder
12 respuestas en este tema

#1 wolfmoon

wolfmoon

    Member

  • Miembros
  • PipPip
  • 13 mensajes

Escrito 10 octubre 2011 - 11:21

Buenas Cesar y foristas, estoy intentando crear un blog segun los videotutoriales de cesar, y tengo una duda en el siguiente codigo:



delphi
  1. if (isset($_GET["cat"]))
  2. {
  3. $c=$_GET["cat"];
  4. }else
  5. {
  6. $c=1



Segun este codigo cuando hago click en alguna categoria del menu  me muestra los articulos relacionados con dicha categoria, y si via get no tengo categoria asignada me muestra los articulos de la categoria 1; bien, lo que yo quiero hacer es que si no viene dado nada via get que me muestre todas los articulos independientemente cual sea su categoria, no se que es lo que tendria que cambiar en $c=1:

Gracias por su interes.
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 11 octubre 2011 - 07:03

Pues, como no he visto la parte de la consulta donde obtienes $c, debes hacer un if anidado, por ejemplo:



php
  1. if ($c > 0) {
  2.  
  3.   //realizas la consulta de acuerdo a la categoria
  4. } else {
  5.  
  6. //aqui realizas la consulta donde muestre todas las categorias
  7. }



donde cambiarias:



php
  1. if (isset($_GET["cat"]))
  2.             {
  3.               $c=$_GET["cat"];
  4.             }else
  5.             {
  6.       $c=0



Saludos.

  • 0

#3 wolfmoon

wolfmoon

    Member

  • Miembros
  • PipPip
  • 13 mensajes

Escrito 17 octubre 2011 - 07:31

Gracias por responder, al final lo saque solo, y efectivamente como tu explicas.

Un saludo.
  • 0

#4 mayte1979

mayte1979

    Newbie

  • Miembros
  • Pip
  • 9 mensajes

Escrito 03 noviembre 2011 - 02:48

Hola
He descubierto el blog de César hace poquito. Soy diseñadora gráfica y hace pocos meses que he empezado con todo esto de la programación. Primero, felicidades por la página, la he descubierto hace poco y estoy aprendiendo mucho más que con el master al que me había apuntado.
Bueno, al lío, estoy realizando los videotutoriales de POO,  y me he encontrado con un problema en el tercer videotutorial, y no sé por dónde seguir:
En una parte del videotutorial, donde se visualizan los contenidos de la noticia que hemos clicado, estamos utilizando la siguiente sentencia:

<?php echo $datos[0]["titulo"]?>(por si sirve de algo es el minuto 00:58 del videotutorial)

Bien, pues cuando inserto estas sentencias me da el siguiente error:

Notice: Undefined offset: 0

¿Qué puedo estar haciendo mal?
He comprobado que en el archivo 'class' todo esta bien,
Tengo el atributo:
private $post=array();
Tengo el método:
public function get_post_por_id(){

$sql= "select * from Noticias where id_noticias=".$_GET["id"];
$res= mysql_query($sql,Conectar::con());
while($reg=mysql_fetch_assoc($res)){
$this->post[]=$reg;
}
return $this->post;
}


Y en mi archivo he llamado al archivo class, he llamado a la clase Trabajo, y he creado la variable datos :

require_once("class/class.php");
$tra=new Trabajo();
$datos=$tra->get_post_por_id();

¿Por qué no me reconoce el array "0"?

Gracias por adelantado!


  • 0

#5 mayte1979

mayte1979

    Newbie

  • Miembros
  • Pip
  • 9 mensajes

Escrito 03 noviembre 2011 - 06:10

He encontrado algo que podría ser el problema, pero todavía no sé cómo solucionarlo, ni si realmente estoy en lo cierto.

He repasado el archivo .htaccess, que es el siguiente:

RewriteEngine On
RewriteRule ^.*p([0-9]+)\.html$ noticias.php?id=$1[L]


Y el link de "leer más" lo tengo de la siguiente forma:

<?php $texto=str_replace(" ","-",$datos[$f]["tituloNoticia"])?>
<div class="leer_mas"><a href="<?php echo $texto ."p".$datos[$f]["id_noticias"].".html"?>">Leer más</a></div>


La url que me da cuando pincho en leer más es:

http://localhost:8888/CBbenidorm2/Mi-cuarto-postp4.html

He notado que no me pone el guión entre post y p4, pero si lo pongo manualmente el resultado es exactamente el mismo. ¿Xq no me está cogiendo el id????
Si hago un <?php  print_r($_GET["id"]);?> en mi documento si que me señala que estoy accediendo al post con id=4. Exactamente me pone:
4[L]
En cambio, si hago un print_r a la variable datos me devuelve Array();:

$datos=$tra->get_post_por_id();

El método, cómo os dije anteriormente es:
public function get_post_por_id(){
     
      $sql= "select * from Noticias where id_noticias=".$_GET["id"];
      $res= mysql_query($sql,Conectar::con());
      while($reg=mysql_fetch_assoc($res)){
        $this->post[]=$reg;
      }
        return $this->post;
}




Me estoy volviendo loca con esto....¿qué puedo hacer?

Gracias por adelantado si alguién puede ayudarme


  • 0

#6 Sergio_Reynaga

Sergio_Reynaga

    Member

  • Miembros
  • PipPip
  • 17 mensajes

Escrito 03 noviembre 2011 - 06:45

Hola, mayte1979. En que numero de video tienes el problema y que minuto? esque yo hace poco empece a tomar este curso (muy bueno en realidad), y tenia unos problemas ahi tambien pero no recuerdo en que video tutorial era algo de un realizar un archivo .htaccess pero si me dices en que video es me acuerdo si es ahi donde se ocupa eso o no?.. Otra cosa que podria ser que se me ocurre es si en tu base de datos en la tabla noticias tienes el campo asi "titulo"?

Saludos
  • 0

#7 mayte1979

mayte1979

    Newbie

  • Miembros
  • Pip
  • 9 mensajes

Escrito 04 noviembre 2011 - 02:19

Hola Sergio,
Gracias por responder. He comprobado el campo "tituloNoticia", y está bien.
El problema me empezó con el array datos[0]. Está en el video 12 en el minuto 00:58.
Y el tema del .htaccess está en el videotutorial 11, en el final.
Sigo sin saber qué he hecho mal...o si he copiado mal el .htaccess ya que en mi pantalla se ve bastante borroso...
Muchísimas gracias Sergio!!!
  • 0

#8 mayte1979

mayte1979

    Newbie

  • Miembros
  • Pip
  • 9 mensajes

Escrito 04 noviembre 2011 - 02:29

Sergio, en el video 11, donde está lo del .htaccess es en 01:03, por si sirve de algo.
Gracias de nuevo
  • 0

#9 mayte1979

mayte1979

    Newbie

  • Miembros
  • Pip
  • 9 mensajes

Escrito 04 noviembre 2011 - 11:28

Por favor, si alguien puede ayudarme....estoy bloqueada con esto...
  • 0

#10 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 04 noviembre 2011 - 12:14

Por favor, si alguien puede ayudarme....estoy bloqueada con esto...


saludos Mayte y bienvenida al foro. Lo que sucede es que como tu duda la incluiste en un problema que ya se solucionó pues pierde vista tu duda. Te recomendaria que en lo futuro abrieras un nuevo hilo.


ahora bien. Este error "Notice: Undefined offset: 0" indica que el arreglo se encuentra vacio. te recomiento hacer un print_r de la variable para que puedas ver su contenido y la manera en que está definido el arreglo.

  • 0

#11 mayte1979

mayte1979

    Newbie

  • Miembros
  • Pip
  • 9 mensajes

Escrito 04 noviembre 2011 - 12:18

Hola a todos!!
Ya encontré el error. Lo posteo por si a alguién le pasa lo mismo.
Al final el problema estaba en el archivo htaccess.
En este archivo yo tenía lo siguiente:
RewriteEngine On
RewriteRule ^.*p([0-9]+)\.html$ noticias.php?id=$1[L]
Bueno, pues el problema es que me faltaba un espacio al final:
RewriteRule ^.*p([0-9]+)\.html$ noticias.php?id=$1 [L]
Nada, a seguir con todo...No me puedo creer que halla estado día y medio bloqueada solo por un espacio en blanco...cosas de principiantes!!!


  • 0

#12 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 04 noviembre 2011 - 12:23

Hola a todos!!
Ya encontré el error. Lo posteo por si a alguién le pasa lo mismo.


Gracias por compartir la solución¡¡¡¡¡ :D
  • 0

#13 Pablo

Pablo

    Newbie

  • Miembros
  • Pip
  • 6 mensajes

Escrito 08 marzo 2012 - 05:35

Gracias por mostrar el código de .htaccess en el videotutorial no es muy claro, pero al final ese no era mi error sino era el de activar el modulo
rewrite (quitando la almohadilla #  en apache en el archivo httpd.conf

LoadModule rewrite_module modules/mod_rewrite.so

Bueno error de principiante.
  • 0




IP.Board spam blocked by CleanTalk.