Foros del Web » Programando para Internet » PHP »

Problema con Include.

Estas en el tema de Problema con Include. en el foro de PHP en Foros del Web. Hola a todos, antes que nada gracias por leerlo. Tengo tres archivos en un principio. uno es el index.php lista.php query.php estan en el mismo ...
  #1 (permalink)  
Antiguo 02/08/2011, 14:18
 
Fecha de Ingreso: junio-2009
Mensajes: 64
Antigüedad: 15 años, 4 meses
Puntos: 6
Busqueda Problema con Include.

Hola a todos, antes que nada gracias por leerlo.

Tengo tres archivos en un principio.

uno es el

index.php
lista.php
query.php


estan en el mismo directorio.


individualmente funcionan pero creo que tengo un error en el include. Como puedo solucionarlo gracias.

Los contenidos son:

index.php

Código PHP:
<?
include "./lista.php";
$tmp = new constructObjetos();
$tmp->setCampoNombre("name");
$tmp->setCampoValor("ad_client_id");
$tmp->setTabla("ad_client");
echo 
$tmp->construirConsulta();
?>
lista.php
Código PHP:
<?php
include "./query.php";

class 
constructObjetos {

protected 
$name;
protected 
$value;
protected 
$tabla;


public function 
setTabla($value){
    
$this->tabla $value;
                                }
public function 
setCampoNombre($value)
                                {
    
$this->name $value;

    }
public function 
setCampoValor($value)
        {
    
$this->value $value;

    }

public function 
construirConsulta(){

    
$objQuery = new $query();
    
$objQuery->setTabla($this->tabla);
    
$tmpArray = array($this->value,$this->name);
    
$objQuery->setArrayCampos($tmpArray);
    return 
$objQuery->crearSelect(true);
}


}

?>
y el tercero:
query.php

Código PHP:
<?php
class query{

/**/
private $tabla false;
private 
$arrayCampos false;
private 
$arrayValores false;
private 
$ordenarPor false;
//private $join;

private $where false;


/**/
public function setTabla($value){
    
$this->tabla $value;
}
/**/
public function setArrayCampos($arrayValue){
    
$this->arrayCampos $arrayValue;
}
/**/
public function setArrayValores($arrayValue){
    
$this->arrayValores $arrayValue;
}
/**/
public function setWhere($campo$valor$tipoCadena false){
        
$valor = (!$tipoCadena) ? $valor "'".$valor."'";
    
$this->where " WHERE "$campo ." = "$valor;
}
/**/
public function setOrderBy($arrayOrdenar){
 
$this->ordenarPor " ORDER BY " $this->convertirComas($arrayOrdenar);

}

/**/
public function crearSelect($columnas false){
$objColumnas   = ( !$columnas ) ? '*' $this->convertirComas($this->arrayCampos);
$tmpQuerie "SELECT " .  $objColumnas " FROM $this->tabla $this->where $this->ordenarPor;";
return 
$tmpQuerie;
}


public function 
crearUpdate(){

}
public function 
crearDelete(){
}

/**/
private function convertirComas($value){    
//comprueba que sea un Array en caso contrario pasa el valor directamente.
if(count($value)>1){
    foreach(
$value as $tmp){
         
$tmpCadena $tmpCadena $tmp .",";
    }
$tmpCadena =  substr ($tmpCadena0, -1);
}else{
    
$tmpCadena $value;
}
    return 
$tmpCadena;
}
/**/
private function convertirAsignado($campos1$campos2){
    if(
count($campo1)>1){
    for(
$i=0;$i<count($campo1);$i++){
    
$tmpCadena $tmpCadena $campo1[$i] . " = " $campo2[$i] . ",";
    }
        
$tmpCadena =  substr ($tmpCadena0, -1);
        }else{
        
$tmpCadena $campos1 " = " $campo2 ;
        }
    

    return 
$tmpCadena;
}




}

?>
  #2 (permalink)  
Antiguo 02/08/2011, 14:23
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 6 meses
Puntos: 394
Respuesta: Problema con Include.

Si los archivos estan en el mismo nivel (misma carpeta) no necesitas mas que llamarlos

Código PHP:
Ver original
  1. include 'lista.php';
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 02/08/2011, 14:23
Avatar de ramiro_md  
Fecha de Ingreso: septiembre-2008
Mensajes: 274
Antigüedad: 16 años, 2 meses
Puntos: 26
Respuesta: Problema con Include.

Si el archivo a incluir mediante include() esta en el mismo directorio que el archivo "incluidor" no utilices "./". Que por más esta decir que no sé si es correcto.
La sintaxis es así:
Código PHP:
Ver original
  1. include('mi_archivo.php');
Ahora si esta en un path superior:
Código PHP:
Ver original
  1. include('../mi_archivo.php');
Si esta en una subcarpeta:
Código PHP:
Ver original
  1. include('subcarpeta/mi_archivo.php');
A todo esto, siempre es más seguro usar include_once();. Ya que en proyectos grandes podemos perder la cuenta si lo hemos incluido o no es otro fichero a incluir (suena a trabalenguas, pero pasa). Y con include_once(); solo se incluye una vez, evitando volver a incluirlo si ya lo está.
Saludos.
Espero te haya ayudado.

PD: Una muy buena práctica cuando se trabaja con PHP es ver el registro de errores del servidor.
  #4 (permalink)  
Antiguo 02/08/2011, 14:24
 
Fecha de Ingreso: junio-2009
Mensajes: 64
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Problema con Include.

Cita:
Iniciado por jotaincubus Ver Mensaje
Si los archivos estan en el mismo nivel (misma carpeta) no necesitas mas que llamarlos

Código PHP:
Ver original
  1. include 'lista.php';
Muchas gracias.. cometi un error tontisimo:


y recien lo vi:

Código PHP:
$objQuery = new $query(); 
La verdad es que lo revise muchas veces y no lo vi...

Código PHP:
$objQuery = new query(); 
Voy a usar include_once... buen punto.

Etiquetas: clases, include, objetos, query
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:32.