Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/07/2014, 15:34
nimaki25
 
Fecha de Ingreso: noviembre-2010
Mensajes: 131
Antigüedad: 13 años, 5 meses
Puntos: 1
mostrar contenido segun Parametro

Hola estimads, queria hacerles una preguntita, stoy trabajando en un sistema de avisos simple, el usuario ingresa a un formulario, publica el aviso, estos se muestran en una pagina de resultados (solo algunos datos de los avisos), y tengoun enlace que debe llevarme a una pagina "detalle" de ese aviso y mostrarme todo el contenido.

Estoy trabajando con PDO, recien estoy comenzando con esta tecnica, hasta ahora mi crud resulta bien: puedo crear avisos, se almacenan bien en la bd, puedo actualizar pero no me puedo plantear bien el tema de mstrar el detalle. vi algunos ejemplos aca en la apgina y a algo llegue, pero si borro el aprametro desde el borowser deja de funcionar todo. Les dejo algo de codigo a ver si me pueden ayudar un poco...Saludos a todos

Codigo Pagina de Resultados:
Código PHP:
<?php
require ('crud/conexionDB.php');
require (
'crud/funcionesCrud.php');

$modelo= new Operaciones;
$modelo->select='*';
$modelo->from='avisos';
/*$modelo->condition='cod_aviso=1';*/
$modelo->Seleccionar();
$filas=$modelo->rows;

$total_avisos=count($filas);

?>
<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>
        <meta charset="utf-8">
            </head>
    <body>
        
        <!--Contenedor Principal-->
        <div class="container">

            
            <div id="filtro">
                <strong>Filtrar por Fecha de Publicación:</strong>
                <strong>Filtrar por Categoria de Aviso:</strong>
                <strong>Filtrar por Comuna:</strong>
            </div>
            <div id="buscador">
                <strong>Buscar Aviso:</strong>
                <form>
                    <label for="busca">Buscar:</label>
                    <input type="text" name="busca" placeholder="Buscar Aviso"/>
                    <input type="submit" name="buscar" value="Buscar"/>
                </form>
            </div>
            
            <div id="resultados">
                <h1>Avisos Publicados</h1>
                <!--Mostramos el Total de Avisos Publiados-->
                <strong>Tenemos: <?php echo $total_avisos?> Avisos Publicados</strong><br>
                <!--Mostramos los avisos-->
                <div class="row">
                    <?php
                    
                    
foreach($filas as $fila)
                    {
                    
                        echo
"<article id='aviso' class='col-lg-4'>";
                            
//Imagen

                            
echo "<p>".$fila['cod_aviso']."</p>";
                            echo 
"Comuna:" .$fila['comuna']."<br>";        
                        echo 
"Categoria:" .$fila['categoria_aviso']."<br>";
                        echo 
"valor:" .$fila['valor_producto']."<br>";
                        echo 
"Aviso:" .$fila['aviso']."<br>";
                        echo 
"Nombre:" .$fila['nombre']."<br>";
                        echo 
"Telefono Celular:" .$fila['tel_celular']."<br>";
                        echo 
"Telefono Fijo:" .$fila['tel_fijo']."<br>";
                        echo 
"Email:" .$fila['correo_electronico']."<br>";
                        echo 
"Direccion :" .$fila['direccion']."<br>";
                            
                            
//Boton para ir a Detalle de Aviso
                            
echo "<a href='detalleaviso.php?cod_aviso=".$fila['cod_aviso']."'>Ver Aviso</a>";
                        echo
"</article>";
                        
                    }
                
                
?>    
                        
                
                </div><!--row-->
                
                
                
                
                
                
                
            </div>
            
            
        </div><!--Contenedor Principal-->

    </body>
</html>
Si en la url escribo por ejempo : http://localhost:8080/sist_avisos/detalleaviso.php?cod_aviso=2, me muestra perfecto todo lo del aviso con codigo 2, pero si coloco por ejempo cod_aviso=20, muestra errores ya que no existe ese registro.

Este es el codigo de la pagina "detalle":
Código PHP:
<?php
/**
* @author: Nicolás Ezequiel Almonacid
* @category: Script
* @copyright: @nicoalmonacid - www.nicolasalmonacid.com
*/
require ('crud/conexionDB.php');
require (
'crud/funcionesCrud.php');

if(
$_REQUEST['cod_aviso'])
{
$cod_aviso= ($_REQUEST['cod_aviso']);
$modelo= new Operaciones;
$modelo->select='*';
$modelo->from='avisos';
$modelo->condition"cod_aviso=$cod_aviso";
$modelo->Seleccionar();
$filas=$modelo->rows;

foreach(
$filas as $fila)
{
    
$cod_aviso=$fila['cod_aviso'];
    
$comuna=$fila['comuna'];
    
$titulo_aviso=$fila['titulo_aviso'];
    
$categoria_aviso=$fila['categoria_aviso'];
    
$valor_producto=$fila['valor_producto'];
    
$aviso=$fila['aviso'];
    
$nombre=$fila['nombre'];
    
$tel_celular=$fila['tel_celular'];
    
$tel_fijo=$fila['tel_fijo'];
    
$correo_electronico=$fila['correo_electronico'];
    
$direccion=$fila['direccion'];
    
}    
}


?>
<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title></title>
        <meta name="description" content="">
        <!--<meta name="viewport" content="width=device-width, initial-scale=1">-->

        <link rel="stylesheet" href="css/normalize.min.css">
        <link rel="stylesheet" href="css/bootstrap.css">
        <link rel="stylesheet" href="css/main.css">

        <script src="js/vendor/modernizr-2.6.2.min.js"></script>
    </head>
    <body>
        
        <!--Contenedor Principal-->
        <div class="container">
            <h1>Avisos Clasificados de CHILOE AVISOS</h1>
                    
            <div id="resultados">
                <h1>Avisos Publicados</h1>
                <!--Mostramos los avisos-->
                <div class="row">
                    <?php
                    
                        
echo"<div id='fullaviso' class='col-lg-4'>";
                        echo 
"Codigo Aviso:" .$fila['cod_aviso']."<br>";
                        echo 
"Comuna:" .$fila['comuna']."<br>";        
                        echo 
"Categoria:" .$fila['categoria_aviso']."<br>";
                        echo 
"valor:" .$fila['valor_producto']."<br>";
                        echo 
"Aviso:" .$fila['aviso']."<br>";
                        echo 
"Nombre:" .$fila['nombre']."<br>";
                        echo 
"Telefono Celular:" .$fila['tel_celular']."<br>";
                        echo 
"Telefono Fijo:" .$fila['tel_fijo']."<br>";
                        echo 
"Email:" .$fila['correo_electronico']."<br>";
                        echo 
"Direccion :" .$fila['direccion']."<br>";
                        echo
"</div>";
                
                    
?>    
                        
                
                </div><!--row-->
                
                
                
                
                
                
                
            </div>
            
            
        </div><!--Contenedor Principal-->


    </body>
</html>
y el archivo del crud (hasta ahora)
Código PHP:
<?php

/**

*/
class Operaciones{

//Inserción de Datos
public $insertInto;
public 
$insertColumns;
public 
$insertValues;
public 
$mensaje;
//Select de Registros
public $select;
public 
$from;
public 
$condition;
public 
$rows;
//Actualizacion
public $update;
public 
$set;



//Metodo para la Insercion de Registros
public  function Insertar()
{
    
//Creamos la conexion
    
$modelo= new ConexionDB;
    
    
//llamamos al meotdo conectar
    
$conexion =$modelo->conectar();
    
    
//Parametrizamos las variables
    
$insertInto=$this->insertInto;
    
$insertColumns=$this->insertColumns;
    
$insertValues=$this->insertValues;
    
    
//
    
$sql="INSERT INTO $insertInto ($insertColumns) VALUES($insertValues)";
    
    
//Preparamos la Consulta
    
$consulta$conexion->prepare($sql);
    
    
//Comprobamos si existe algun error
    
if(!$consulta)    {
        
//Si existe algun error
        
$this->mensaje="No se pudo Publicar El mensaje, contacte con el Administrador de la Plataforma";
    }else{
        
//si no hay error ejecutamos la consulta
        
$consulta->execute();
        
$this->mensaje="Aviso Publicado con Exito..CLICK AQUI PARA VISUALIZARLO";
    }
    
}
// Fin Insertar

//Seleccionar
public function Seleccionar()
{
    
$modelo= new ConexionDB;
    
    
$conexion$modelo->conectar();
    
    
$select$this->select;
    
$from$this->from;
    
$condition$this->condition;
    
    if(
$condition != ''){
    
        
$condition " WHERE " $condition;
    }
    
    
$sql"SELECT $select FROM $from $condition";
    
    
//preparamos la consulta
    
$consulta=$conexion->prepare($sql);
    
    
$consulta->execute();
    
    
//Recorremos todos los registros con un bucle
    
while($filas $consulta->fetch())
    {
        
$this->rows[] = $filas;
    }
        
}
//Fin Seleccionar

public function Actualizar()
{
    
$modelo = new ConexionDB;
    
$conexion $modelo->conectar();
    
    
$update $this->update;
    
$set $this->set;
    
$condition $this->condition;
    
    if(
$condition != ''){
        
        
$condition " WHERE " $condition;
    }
    
$sql="UPDATE $update SET $set $condition";
    
$consulta$conexion->prepare($sql);
    
    if(
$consulta){
        
$this->mensaje="Error al Actualizar el Aviso...Contacte con el Administrador";
    }else{
        
$consulta->execute();
        
$this->mensaje="Aviso actualizado con Exito";
    }
    
}
//fin actualizar


}//Fin clase

?>
Agradesco a todos su ayuda...