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.
>