Ir al contenido


Foto

Notice: Array to string conversion


  • Por favor identifícate para responder
4 respuestas en este tema

#1 jasbsam

jasbsam

    Newbie

  • Miembros
  • Pip
  • 8 mensajes

Escrito 29 marzo 2013 - 05:43

Buenas tardes,
con una molestia, estoy realizando una peque api en php poo soy nuevo en esto, pero me da este error, quiero realizar algo parecido a lo que hizo cesar cancino en sus videos de PHP POO,

Notice: Array to string conversion in C:\xampp\htdocs\empresa\class\class.php on line 32

Esta es mi clase...

class Registros{
private $reg_clientes;
public function __construct(){
$this->reg_clientes=array();
}
public function get_clientes(){
$sql = "SELECT nom_com_neg, nom_contacto, direccion, email, telefono FROM cliente ORDER BY idclientes DESC LIMIT 10";
$res = mysql_query($sql,Conectar::con());
        while($reg=mysql_fetch_assoc($res)){
            $this->reg_clientes[]=$reg;
        }
echo $sql;
echo $res;
        $this->reg_clientes;
}



En la tabla me da este error

Fatal error: Cannot use object of type Registros as array in C:\xampp\htdocs\empresa\reg_cliente.php on line 65


Esta es la parte HTML donde quiero que los registro se vean


<?php
$view = new Registros;
$view->get_clientes();
    for($i=0;$i<sizeof($view);$i++){
    ?>
    <tr>
        <td valign="top" align="right" width="160">
        <?php echo$view[$i]["nom_com_neg"];?>
        </td>
        <td valign="top" align="center" width="160">
        <?php echo$registro[$i]["nom_contacto"];?>
        </td>
        <td valign="top" align="center" width="160">
        <?php echo$registro[$i]["direccion"];?>
        </td>
        <td valign="top" align="center" width="160">
        <?php echo$registro[$i]["email"];?>
        </td>
        <td valign="top" align="center" width="160">
        <?php echo$registro[$i]["telefono"];?>
        </td>
    </tr>
    <?php
    }
    ?>


agradeciendo de antemano su pronta respuesta.
  • 0

#2 cesar_cz

cesar_cz

    Advanced Member

  • Moderadores
  • PipPipPip
  • 919 mensajes
  • LocationChile

Escrito 29 marzo 2013 - 07:20

Hola jasbsam mirando tu código en tu método debes corregir ésto :

public function get_clientes(){
      $sql = "SELECT nom_com_neg, nom_contacto, direccion, email, telefono FROM cliente ORDER BY idclientes DESC LIMIT 10";
      $res = mysql_query($sql,Conectar::con());
        while($reg=mysql_fetch_assoc($res)){
            $this->reg_clientes[]=$reg;
        }
  //  echo $sql;
    // echo $res;
      return $this->reg_clientes;
  }


Fíjate que comenté los echo, que imagino los hiciste para imprimir y verificar, y te agregué el return para que tu método te retorne algo..

saludos..
  • 0

#3 jasbsam

jasbsam

    Newbie

  • Miembros
  • Pip
  • 8 mensajes

Escrito 29 marzo 2013 - 07:39

Gracias cesar_cz, le hice la corrección método, pero la versión original cuando empezó a dar el problema si tenia el return, y sigue dando un problema no me muestra los registros este es el mensaje que me da..

Fatal error: Cannot use object of type Registros as array in C:\xampp\htdocs\empresa\reg_cliente.php on line 65


gracias de antemano
  • 0

#4 cesar_cz

cesar_cz

    Advanced Member

  • Moderadores
  • PipPipPip
  • 919 mensajes
  • LocationChile

Escrito 29 marzo 2013 - 07:44

en esta parte tienes un error también :

$view = new Registros;
  $view->get_clientes();
    for($i=0;$i<sizeof($view);$i++){


hazlo así :

$v = new Registros;
  $view=$v->get_clientes();
    for($i=0;$i<sizeof($view);$i++){


saludos...
  • 0

#5 jasbsam

jasbsam

    Newbie

  • Miembros
  • Pip
  • 8 mensajes

Escrito 29 marzo 2013 - 07:58

Gracias cesar_cz, muy interesante la respuesta, algo así no se me hubiera ocurrido pero poco a poco uno aprende cuando es nuevo en el asunto.
  • 0




IP.Board spam blocked by CleanTalk.