Re: Fwd: function array +mysql

[email protected] (Carlos Medina) Tue, 09 Sep 2014 11:54:59 +0200
Newsgroups php.general.es
Organization SimplyNetworks
Message-ID <[email protected]>
Hola,
en cuanto a tu pregunta sobre clases te comento que no entendi nada de
lo que querias ;-)

En lo concerniente a la clase MyClass te comento que puedes usar la
Classe SPL PDO accediendo a las clases a travez de una factory o en su
defecto utilizando el Active Record Pattern
(http://en.wikipedia.org/wiki/Active_record_pattern)

Ahora volviendo a tu clase. Esto aqui esta raro:

 while($row=  mysql_fetch_array($res)){
>         return $row;
>     }

Estas haciendo un While sobre la primera linea y la devuelves
inmediatamente (WTF?) Si estas haciendo una clase porque no utilizas
varios metodos para acceder a los resultados?. Porque no usas una clase
para entrar el query (por ejemplo una clase QueryBuilder) y haces la
pregunta en la clase MyClass?

Porque envias la variable $v a $temp?

Si $temp es un array entonces $c es un value no?

Salu2

Carlos Medina



Am 23.08.2014 um 05:03 schrieb Alexis Saucedo:
> Buenas noches!, les comento que ya resolvi el pasar de una funcion dentro
> de una clase array a objeto pero ahora tengo otro problemita bastante raro,
> mi consulta es, estoy haciendo una clase para conectarme a un bd, todo va
> bien hasta el momento de pasar al objeto por medio de un foreach me
> devuelve letras y numeros aleatorios pero jamas el resultado de la base de
> datos por ejemplo la clase es la siguiente:
> 
> Class MyClass{
> 
>     var $table = 'NULL';
> 
>     function Connect($table) {
> 
>         $this->table = $table;
> 
>         mysql_connect('localhost', 'usuario', '12345');
>         mysql_selectdb('db');
>         $res = mysql_query("SELECT * FROM $table");
>          while($row=  mysql_fetch_array($res)){
>         return $row;
>     }
>     }
> 
> }
> $a= new MyClass;
> 
> $temp = 'NULL';
> 
> $temp = array();
> $v = $a->Connect(articles);
> $temp = $v;
> 
> foreach ($temp as $c){
>     var_dump($c['article']);
> }
> 
> cuando le hago el var_dump() a $c[article], de echo article es el nombre
> del campos me devuelve algo asi:
> 
> string(1) "2" string(1) "2" string(1) "1" string(1) "1" string(1) "R"
> string(1) "R" string(1) "1" string(1) "1" string(1) "R" string(1) "R"
> string(1) "a" string(1) "a" string(0) "" string(0) ""
> 
> cuando en realidad me deberia devolver algo asi:
> 
> array(14) { [0]=> string(1) "2" ["art_code"]=> string(1) "2" [1]=>
> string(1) "1" ["product_code"]=> string(1) "1" [2]=> string(18) "Remera
> cuello azul" ["article"]=> string(18) "Remera cuello azul" [3]=> string(3)
> "100" ["stock"]=> string(3) "100" [4]=> string(86) "Remera %100 algodon
> disponible en varios colores hasta agotar stock, apta para bordado"
> ["art_description"]=> string(86) "Remera %100 algodon disponible en varios
> colores hasta agotar stock, apta para bordado" [5]=> string(26)
> "artimages/nodisponible.png" ["art_image"]=> string(26)
> "artimages/nodisponible.png" [6]=> string(0) "" ["art_status"]=> string(0)
> "" }
> 
> ¿alguien sabe que es lo que estoy haciendo mal?.
> 
> Saludos y muchisimas gracias.
>