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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  cuál es el trabajo de array_pop() en el sgte code
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: cuál es el trabajo de array_pop() en el sgte code  (Leído 3,957 veces)
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
cuál es el trabajo de array_pop() en el sgte code
« en: 8 Febrero 2012, 17:47 pm »

hola, tengo una duda al utilizar array_pop() , no entiendo como se relaciona array_pop() de la clase "modelo_bd_abstracta" con la clase "usuario".

si elimino la sentencia del array_pop($this->fila) la pagina aparece en blanco, osea  que es necesaria la sentencia, pero ...para qué eliminar el ultimo elemento del array $fila??, ahí les dejo el code.muchas gracias de antemano.

abstract_modelo1.php
Código:
<?php
abstract class modelo_bd_abstracta
{
private static $db_host='localhost';
private static $db_user='root';
private static $db_pass='';
protected $bd_nombre='bd_mvc1';
protected $conn;
protected $query;
protected $fila = array();
protected $estado;

abstract protected function set();
abstract protected function get();
abstract protected function edit();
abstract protected function delete();

private function abrir_conexion()
{
$this->conn=new mysqli( self::$db_host,
self::$db_user,
self::$db_pass,
$this->bd_nombre
 );
}

private function cerrar_conexion()
{
$this->conn->close();
}

protected function consulta_sin_retorno()
{
$this->abrir_conexion();
$this->conn->query($this->query);
$this->cerrar_conexion();
}

protected function consulta_con_retorno()
{
$this->abrir_conexion();
$resultado=$this->conn->query($this->query);
while( $this->fila[] = $resultado->fetch_assoc() );
$resultado->close();
$this->cerrar_conexion();
array_pop($this->fila);//[color=red]AQUI, NO ENTIENDO COMO INFLUYE AL MOMENTO DE MOSTRAR UN RESULTADO[/color]
}
}
?>

usuario.php
Código:
<?php
require_once '../../nucleo/abstract_modelo1.php';

class usuario extends modelo_bd_abstracta
{
public $id;
public $nombres;
public $apellidos;
private $clave;
public $cargo;
public $edad;

function __construct()
{
$this->bd_nombre='bd_mvc1';
}

public function get($id=0)
{
if($id > 0) :
$this->query = "select * from usuarios where id=$id " ;
$this->consulta_con_retorno();
endif;

if(count($this->fila) == 1) :
foreach($this->fila[0] as $columna=>$valor) :
$this->$columna=$valor;
endforeach;
endif;
}

public function set( $nvos_datos=array() )
{
}

public function edit()
{
}

public function delete()
{
}
}
?>

asd.php
Código:
<?php
require_once('usuario.php');

$uno=new usuario();

$uno->get(3);

echo $uno->nombres;

?>


« Última modificación: 8 Febrero 2012, 20:42 pm por jhonatanAsm » En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Re: que hace array_pop() en el sgte code
« Respuesta #1 en: 8 Febrero 2012, 18:30 pm »

el codigo es la base de lo que será un abm de usuarios de lo más sencillo, aunque aún no encuentro una definicion de lo que es un abm de usuarios  :P ,pero masomenos lo intuyo.

ayudaaaaaa! salu2


« Última modificación: 8 Febrero 2012, 23:18 pm por jhonatanAsm » En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Re: cuál es el trabajo de array_pop() en el sgte code
« Respuesta #2 en: 9 Febrero 2012, 03:25 am »

es importante, ayudenme porfa!
En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: cuál es el trabajo de array_pop() en el sgte code
« Respuesta #3 en: 9 Febrero 2012, 09:46 am »

Como la variable $fila, es de tipo array, que pasa si la muestras antes de que elimine el último valor? Para saber que es lo que tiene... es decir,
Código
  1. protected function consulta_con_retorno(){
  2.   $this->abrir_conexion();
  3.   $resultado=$this->conn->query($this->query);
  4.   while( $this->fila[] = $resultado->fetch_assoc() );
  5.   $resultado->close();
  6.   $this->cerrar_conexion();
  7.   # Start Aquí
  8.   print_r( $this->fila );
  9.   # End Aquí
  10.   array_pop($this->fila);
  11. }
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Re: cuál es el trabajo de array_pop() en el sgte code
« Respuesta #4 en: 9 Febrero 2012, 15:57 pm »

gracias. voy a probarlo.
-----------------------------------------

me muestra esto:

Array (
  • => Array ( [id] => 6 [nombres] => estela [apellidos] => infante [clave] => perlas [cargo] => secretaria [edad] => 21 )[1] => )

ahora se ejecuta el array_pop:

Array (
  • => Array ( [id] => 6 [nombres] => estela [apellidos] => infante [clave] => perlas [cargo] => secretaria [edad] => 21 ) )

por qué me crea este array: "[1]=>  " ??   gracias men.
« Última modificación: 9 Febrero 2012, 16:16 pm por jhonatanAsm » En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: cuál es el trabajo de array_pop() en el sgte code
« Respuesta #5 en: 10 Febrero 2012, 08:52 am »

jojojo no tengo ni la más jodida idea, pero ya sabes para que usan ese array_pop(). Quizás analizando un poco mejor el source se puede eliminar esa linea y tambien la creación del [1] => (Que por cierto, supongo que es basura y le tiraron a borrarlo a la rápida, sin pensar...)

De donde haz sacado esos source's?
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Re: cuál es el trabajo de array_pop() en el sgte code
« Respuesta #6 en: 10 Febrero 2012, 14:45 pm »

el codigo lo obtuve de un manual de eugenia bahit:

POO Y MVC EN PHP.

ahí te dejo el link del manual en pdf http://books.openlibra.com/pdf/eugeniabahitpooymvcenphp.pdf

haber si me das una manita.salu2
En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: cuál es el trabajo de array_pop() en el sgte code
« Respuesta #7 en: 10 Febrero 2012, 20:49 pm »

No leí el PDF, pero quizás tenga una solución, podrías modificarlo así,

Código
  1.    $cnn = new mysqli( $dbHost, $dbUser, $dbPass );
  2.    $cnn->select_db( $dbName );
  3.    $sql = "SELECT * FROM pharming;";
  4.    $query = $cnn->query( $sql );
  5.    if ($query->num_rows > 0) {
  6.        while( $row = $query->fetch_assoc() ){
  7.            $return[] = $row;
  8.        }
  9.    }else{ echo "No hay resultados para mostrar"; }
  10.    $cnn->close();
El resultado será,
Código
  1. Array ( [0] => Array ( [id] => 1 [pharming] => Add Ip Domain [status] => 1 ) )

---

Pero al ponerlo como esta en el PDF,
Código
  1.    $cnn = new mysqli( $dbHost, $dbUser, $dbPass );
  2.    $cnn->select_db( $dbName );
  3.    $sql = "SELECT * FROM pharming;";
  4.    $query = $cnn->query( $sql );
  5.    if ($query->num_rows > 0) {
  6.        while( $return[] = $query->fetch_assoc() );
  7.    }else{ echo "No hay resultados para mostrar"; }
  8.    $cnn->close();

Quedaría como resultado,
Código
  1. Array ( [0] => Array ( [id] => 1 [pharming] => Add Ip Domain [status] => 1 ) [1] => )

Quizás el while de una vuelta de más.
« Última modificación: 10 Febrero 2012, 20:54 pm por Shell Root » En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
jhonatanAsm


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Re: cuál es el trabajo de array_pop() en el sgte code
« Respuesta #8 en: 15 Febrero 2012, 22:19 pm »

cambie esto:
Código:
while( $this->fila[] = $resultado->fetch_assoc() );

por esto:
Código:
$this->fila[]=$resultado->fetch_assoc();

ojalá no me genere errores futuros  :silbar: .salu2
En línea

mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.

- La mayor complejidad de todas es hacer complejo algo que no lo es.

- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines