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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  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 4,185 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.724


<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

Te vendería mi talento por poder dormir tranquilo.
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.724


<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

Te vendería mi talento por poder dormir tranquilo.
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.724


<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

Te vendería mi talento por poder dormir tranquilo.
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