Autor
|
Tema: cuál es el trabajo de array_pop() en el sgte code (Leído 4,164 veces)
|
jhonatanAsm
|
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 <?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 <?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 <?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
|
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 ,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
|
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
|
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, 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(); # Start Aquí # End Aquí }
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
jhonatanAsm
|
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
|
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
|
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.pdfhaber 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
|
No leí el PDF, pero quizás tenga una solución, podrías modificarlo así, $cnn = new mysqli( $dbHost, $dbUser, $dbPass ); $cnn->select_db( $dbName ); $sql = "SELECT * FROM pharming;"; $query = $cnn->query( $sql ); if ($query->num_rows > 0) { while( $row = $query->fetch_assoc() ){ $return[] = $row; } }else{ echo "No hay resultados para mostrar"; } $cnn->close();
El resultado será, Array ( [0] => Array ( [id] => 1 [pharming] => Add Ip Domain [status] => 1 ) )
--- Pero al ponerlo como esta en el PDF, $cnn = new mysqli( $dbHost, $dbUser, $dbPass ); $cnn->select_db( $dbName ); $sql = "SELECT * FROM pharming;"; $query = $cnn->query( $sql ); if ($query->num_rows > 0) { while( $return[] = $query->fetch_assoc() ); }else{ echo "No hay resultados para mostrar"; } $cnn->close();
Quedaría como resultado, 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
|
cambie esto: while( $this->fila[] = $resultado->fetch_assoc() );
por esto: $this->fila[]=$resultado->fetch_assoc();
ojalá no me genere errores futuros .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.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
cual es el code que se utiliza para poner videos de youtube en un post
Sugerencias y dudas sobre el Foro
|
Dr.SysCrack
|
2
|
2,372
|
21 Noviembre 2007, 00:49 am
por Dr.SysCrack
|
|
|
code php-logeo _ cual es el problema
PHP
|
trachtenberg
|
2
|
1,758
|
11 Junio 2008, 22:30 pm
por trachtenberg
|
|
|
Cual es el mejor trabajo para la informatica?
Foro Libre
|
Senior++
|
6
|
5,536
|
13 Septiembre 2011, 22:50 pm
por ion dissonance2
|
|
|
me podrian explicar el sgte codigo en php
PHP
|
jhonatanAsm
|
9
|
4,186
|
25 Diciembre 2011, 03:49 am
por jhonatanAsm
|
|
|
¿Me podrian explicar como funciana los punteros en una pila con el sgte ejercic?
Programación C/C++
|
maicol_962016
|
5
|
3,286
|
6 Marzo 2016, 15:24 pm
por furciorifa
|
|