Jump to content
JOSELUISALD

Como faço um array de informações do banco de dados em codeigniter

Recommended Posts

Por exemplo, estou mandando um array de id [0] => 1, [1] => 3 e quero mostrar isso no meu html em forma de resultado. No caso, que buscar no banco o com o primeiro id salvar no array e depois buscar com o segundo id e por fim retornar um array contendo os outros dois arrays.

    public function getRecibos($codigosRecibo)
{      
    $result = array('');

    foreach ($codigosRecibo as $codigoRecibo)
    {
        $this->db->select('*'); 
        $this->db->where('idRecibo', $codigoRecibo);
        $this->db->from('recibo');
        $result = $this->db->get();
    }       
        return $result->result();
}

Share this post


Link to post
Share on other sites
public function getRecibos($codigosRecibo)
{      
    $result = array('');

    foreach ($codigosRecibo as $codigoRecibo)
    {
        $this->db->select('*'); 
        $this->db->where('idRecibo', $codigoRecibo);
        $this->db->from('recibo');
        $result[] = $this->db->get();
    }       
        return $result->result();
}

 

Share this post


Link to post
Share on other sites

ygor, deu certo, porém está repetindo o índice do array.

 

Array
(
    [0] => Array
        (
            [idRecibo] => 2
            [recibo_Recebi] => Condomínio Edifício Dona Gladis 
            [recibo_Relativo] => 02 consultas periódicas - Catia da Silva, Gabriel Vinholes 
            [recibo_Valor] => 64,00 (sessenta e quatro reais)
            [recibo_Dia] => 01
            [recibo_Mes] => Março 
            [recibo_Ano] => 2019
            [recibo_Data] => 2019-03-01
            [recibo_Forma_pgto] => 0
            [recibo_idCheque] => 0
            [recibo_Pago] => s
            [recibo_DataPgto] => 2019-03-13
            [idCheque] => 
            [cheque_Emitente] => 
            [cheque_Numero] => 
            [cheque_Banco] => 
            [cheque_Cic_Cnpj] => 
        )

)
Array
(
    [0] => Array
        (
            [idRecibo] => 1
            [recibo_Recebi] => Condomínio Edifício Porto Vecchio 
            [recibo_Relativo] => 01 consulta periódica - Ronaldo Faria 
            [recibo_Valor] => 32,00 (trinta e dois reais)
            [recibo_Dia] => 01
            [recibo_Mes] => Março
            [recibo_Ano] => 2019
            [recibo_Data] => 2019-03-01
            [recibo_Forma_pgto] => 0
            [recibo_idCheque] => 0
            [recibo_Pago] => s
            [recibo_DataPgto] => 2019-03-13
            [idCheque] => 
            [cheque_Emitente] => 
            [cheque_Numero] => 
            [cheque_Banco] => 
            [cheque_Cic_Cnpj] => 
        )

)

 

    public function getRecibos($codigosRecibo)
    {      
        $result[] = '';

        foreach ($codigosRecibo as $codigoRecibo)
        {
            $this->db->select('*'); 
            $this->db->where('idRecibo', $codigoRecibo);
            $this->db->from('recibo');
            $result[] = $this->db->get()->result_array(); //Ja tentei com result, resul_array, row, row_array
        }       
            return $result;
    }

E sempre está dando este erro:

 

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: financeiro/imprimirVarios.php

Line Number: 28

Backtrace:

File: /home/u996471193/domains/sansiqdev.com.br/public_html/cloud/neri/application/views/financeiro/imprimirVarios.php
Line: 28
Function: _error_handler

File: /home/u996471193/domains/sansiqdev.com.br/public_html/cloud/neri/application/controllers/Financeiro.php
Line: 313
Function: view

File: /home/u996471193/domains/sansiqdev.com.br/public_html/cloud/neri/index.php
Line: 319
Function: require_once

 

 

View:

<?php foreach ($recibos as $recibo) {?>
  <div class="container" style="margin-top: 0;">
    <div class="col-12">

     
     <table style=" width: 100%;">                                                  
        <tr>
          <td>
            <img src="<?=$emitente->emitente_Logo?>" width="104">
          </td>
          <td>
            <h5><?=$emitente->emitente_Nome?> - <?=$emitente->emitente_Funcao?></h5>
            <span style="font-size: 12px"><?=$emitente->emitente_Cremers?> - INSS <?=$emitente->emitente_Inss?></span><br>
            <span style="font-size: 12px"><?=$emitente->emitente_Endereco?>, <?=$emitente->emitente_Numero?> - <?=$emitente->emitente_Cidade?>/<?=$emitente->emitente_Estado?></span>
            <span style="font-size: 12px">Telefone: <?=$emitente->emitente_Telefone?></span>            
          </td>       
        </tr>
      </table>

      <div class="row">
        <div class="col-12 text-center">
          <h5 style="font-weight: bold;">Recibo</h5>
          <span style="font-size: 13px">Recebi de <strong style="font-weight: bold;"><?=$recibo->recibo_Recebi?></strong>, a impotância de <strong style="font-weight: bold;">R$ <?=$recibo->recibo_Valor?></strong>, relativo ao atendimento de <strong style="font-weight: bold;"><?=$recibo->recibo_Relativo?></strong></span>
        </div>
      </div>

      <div class="row mt-4 align-items-center">

        <div class="col-12 text-center" style="font-size: 12px">
          <span>Pelotas, <strong style="font-weight: bold;"><?=$recibo->recibo_Dia?></strong> de <strong style="font-weight: bold;"><?=$recibo->recibo_Mes?></strong> de <strong><?=$recibo->recibo_Ano?></strong></span>
          <br>
          <br>
          <span>________________________________________________________________________________________________________</span><br>
          <span class="mt-0"><?=$emitente->emitente_Nome?></span>    
        </div>
        <br>
      </div> 
    </div>
  </div>
  <hr size="1" style="border:1px dashed #ccc;">
<?php } ?>

 

Share this post


Link to post
Share on other sites
public function getRecibos($codigosRecibo)
{      
    $result = array('');

    foreach ($codigosRecibo as $codigoRecibo)
    {
        $this->db->select('*'); 
        $this->db->where('idRecibo', $codigoRecibo);
        $this->db->from('recibo');
        $result[] = $this->db->get()->result();
    }       
        return $result;
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By rogerblower
      Pessoal estou usando PHPMailer para enviar email com dados do formulário e ao mesmo tempo gravar no mysql.
      O email esta sendo enviado mas não esta gravando no banco, não sei onde estou errando segue meu código.
       
      <?php include 'header.php'; ?> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="row"> <?php date_default_timezone_set('Etc/UTC'); if(isset($_POST['btnsave'])) { $id_cliente = $_POST['id_cliente']; $produto = $_POST['produto']; $medida = $_POST['medida']; $msg = $_POST['msg']; $qtd = $_POST['qtd']; $aprovado = $_POST['aprovado']; $status = $_POST['status']; $data_orca = date('Y-m-d'); $imgFile = $_FILES['user_image']['name']; $tmp_dir = $_FILES['user_image']['tmp_name']; $imgSize = $_FILES['user_image']['size']; if(empty($imgFile)){ $errMSG = "Please Select Image File."; } else { $upload_dir = 'imagens/orcamento/'; // upload directory $imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension // valid image extensions $valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions // rename uploading image $userpic = rand(1000,1000000).".".$imgExt; // allow valid image file formats if(in_array($imgExt, $valid_extensions)){ // Check file size '5MB' if($imgSize < 5000000) { move_uploaded_file($tmp_dir,$upload_dir.$userpic); } else{ $errMSG = "Desculpe seu arquivo é muito grande."; } } else{ $errMSG = "Desculpe, somente arquivos JPG, JPEG, PNG e GIF são aceitos."; } } require_once('includes/init.php'); if(!isset($errMSG)){ $addv=$pdo->prepare("INSERT INTO orcamento (id_cliente, produto, medida, qtd, msg, aprovado, status, data_orca, img) VALUE(?,?,?,?,?,?,?,?,?)"); $addv->bindValue("1",$id_cliente); $addv->bindValue("2",$produto); $addv->bindValue("3",$medida); $addv->bindValue("4",$qtd); $addv->bindValue("5",$msg); $addv->bindValue("6",$aprovado); $addv->bindValue("7",$status); $addv->bindValue("8",$data_orca); $addv->bindValue("9",$userpic); if($addv->execute()) { $successMSG = "Orçamento enviado com sucesso..."; } else { $errMSG = "Erro ao enviado Orçamento..."; } } $path_file = $upload_dir.$userpic; /////////////////////////////////////////////////////////////////////////////////////////////// require 'phpmailer/PHPMailerAutoload.php'; //Create a new PHPMailer instance $mail = new PHPMailer; //Tell PHPMailer to use SMTP $mail->isSMTP(); $mail->CharSet = 'UTF-8'; //Enable SMTP debugging // 0 = off (for production use) // 1 = client messages // 2 = client and server messages $mail->SMTPDebug = 0; //Ask for HTML-friendly debug output $mail->Debugoutput = 'html'; //Set the hostname of the mail server $mail->Host = "smtp.uhserver.com"; //Set the SMTP port number - likely to be 25, 465 or 587 $mail->Port = 587; //Whether to use SMTP authentication $mail->SMTPAuth = true; //Username to use for SMTP authentication $mail->Username = "contato@xxxxx.com.br"; //Password to use for SMTP authentication $mail->Password = "xxxxxx"; //Set who the message is to be sent from $mail->setFrom('contato@xxxxx.com.br', 'xxxxx'); //Set an alternative reply-to address $mail->addReplyTo('no-reply@xxxxx.com.br', 'xxxxx'); //Set who the message is to be sent to $mail->addAddress('contato@xxxxx.com.br', 'xxxxx'); //Mantenha-o simples - não use HTML $mail->isHTML(true); $id = $_SESSION['id_do_produto']; $add_pro = $pdo->prepare("SELECT * FROM produtos WHERE id = '$id' ORDER BY nome_produto ASC"); $add_pro->execute(); while($row=$add_pro->fetch(PDO::FETCH_ASSOC)){ extract($row); $assunto = ''.$row['nome_produto'].''; } //Set the subject line $mail->Subject = 'Solicitação de orcamento de: '.$assunto.''; $mail->Body = ' <html bgcolor="#E6E6E6"> <table able width="60%" align="center" style="background-color:#ffffff; border:1px solid #cccccc;"> <tr style="background-color:#ffffff; border: 1px solid #cccccc;"> <td><a href="http://xxxxx.com.br" target="_blank"><img src="http://xxxxx.com.br/imagens/logo.png" width="300" height="80" /></a></td> </tr> <tr> <td colspan="3"><hr / style="color:#cccccc;"></td> </tr> <tr style="background-color:#ffffff; border: 1px solid #cccccc;"> <td style="color:blue;"><strong> '.$assunto.'</strong></td> </tr> <tr> <td colspan="3"><hr / style="color:#cccccc;"></td> </tr> <tr> <td colspan="2">'.$msg.'</td> </tr> <tr> <td colspan="3"><hr / style="color:#cccccc;"></td> </tr> <tr> <td colspan="3" style="font-size:9px;">Roda pé do formulário</td> </tr> </table> </html> '; //$mail->AddAttachment($path_file); //Read an HTML message body from an external file, convert referenced images to embedded, //convert HTML into a basic plain-text alternative body //$mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__)); //Replace the plain text body with one created manually //$mail->AltBody = 'This is a plain-text message body'; //Attach an image file //$mail->addAttachment('examples/images/phpmailer_mini.png'); //send the message, check for errors if (!$mail->send()) { //echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Mensagem Enviada!"; header('Location: index.php'); } } ?> <br/><br/> <table class="table table-bordered table-responsive"> <form method="post" enctype="multipart/form-data" class="form-horizontal"> <tr> <td><label class="control-label">Produto:</label></td> <?php $id = $_SESSION['id_do_produto']; $add_pro = $pdo->prepare("SELECT * FROM produtos WHERE id = '$id' ORDER BY nome_produto ASC"); $add_pro->execute(); while($row=$add_pro->fetch(PDO::FETCH_ASSOC)){ extract($row); echo'<td><input class="form-control" type="text" name="produto" value="'.$row['nome_produto'].'"/></td>'; } ?> </tr> <tr> <td><label class="control-label">Cliente:</label></td> <td><input class="form-control" type="text" name="" value="<?php echo $_SESSION['c_nome'] ?>"/> <input class="form-control" type="hidden" name="id_cliente" value="<?php echo $_SESSION['c_id'] ?>"/></td> </tr> <tr> <td><label class="control-label">Medida: <i style="font-size: 11px">Altura X Largura</i></label></td> <td><input class="form-control" type="text" name="medida" placeholder="0,00 x 0,00" /></td> </tr> <tr> <td><label class="control-label">Quantidde:</label></td> <td><input class="form-control" type="text" name="qtd" /></td> </tr> <tr> <td><label class="control-label">Mensagem.</label></td> <td><textarea class="form-control" type="text" name="msg" rows="3" placeholder="Mensagem"></textarea></td> </tr> <input class="form-control" type="hidden" name="aprovado" value="Não" /> <input class="form-control" type="hidden" name="status" value="Aberto" /> <tr> <td><label class="control-label">Envie seu Layout.</label></td> <td><input class="input-group" type="file" name="user_image" accept="image/*" /></td> </tr> <tr> <td colspan="2" style="text-align:center; padding: 30px;"><button type="submit" name="btnsave" class="btn btn-primary"> <span class="glyphicon glyphicon-save"></span> &nbsp; Enviar Orçamento &nbsp; </button> </td> </tr> </form> </table> </div><!-- /.row --> </div><!-- /.col-md-12 --> </div><!-- /.row --> </div><!-- /.container --> <?php include 'footer.php'; ?>  
    • By Hlameiras
      Olá!
       
      Estou tentando desenvolver um formulário dinâmico em PHP, em que o utilizador ao clicar num determinado botão possa acrescentar campos de INPUTs ou SELECTs no mesmo.
      Encontrei este exemplo que funciona mas tem limitações:
      https://www.formget.com/how-to-dynamically-add-form-fields-and-increment-name-attribute-of-the-field/
       
      O problema é que os campos adicionais são gerados pelo lado do cliente (Javascript) e não pelo lado do servidor, logo no caso de gerar SELECTS que vão buscar informação a uma Base de Dados, as opções de escolha não são apresentadas. Qual será a melhor solução para resolver este problema?
       
      Agradecido!
       
       
       
    • By Hállex da Silva Costa
      Alguém poderia me dizer qual a forma mais correta de se utilizar uma classe seguindo as regras e padrões da Orientação a Objeto. Digamos que eu tenha uma classe Abstrata que fará a conexão com o banco de dados, eu crio uma outra classe que herda dessa classe abstrata, o correto seria utilizar os atributos da classe usando Exemplo 1 ou Exemplo 2?
      OBS: se eu usar o Exemplo 1 (que utiliza o parent) ou Exemplo 2 (que utilza o $this) o resultado dos dois é o mesmo como no print abaixo mostra.
      P.S.: Estou pergutando para não acabar fazendo gambiarra.
       
      Codígo Exemplo 1:
      <?php require_once 'db.abstract_class.php'; final class DB extends AbstractDB { public function __construct(String $dbtype, String $host, Int $port, String $dbname, String $charset, String $user, String $pass){ return parent::__construct($dbtype, $host, $port, $dbname, $charset, $user, $pass); } final function Connect(){ $dbtype = parent::getDBType(); $host = parent::getHost(); $port = parent::getPort(); $dbname = parent::getDBName(); $charset = parent::getCharset(); $dbh = new PDO($dbtype . ":host={$host};port={$port}dbname={$dbname};charset{$charset}", parent::getUser(), parent::getPass()); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, TRUE); $dbh->setAttribute(PDO::ATTR_PERSISTENT, TRUE); parent::setConnection($dbh); return parent::getConnection(); } final function Disconnect(){} final function selectDB(){} final function insertDB(){} final function updateDB(){} final function deleteDB(){} } ?> Codígo Exemplo 2:
      <?php require_once 'db.abstract_class.php'; final class DB extends AbstractDB { public function __construct(String $dbtype, String $host, Int $port, String $dbname, String $charset, String $user, String $pass){ $this->setDBType($dbtype); $this->setHost($host); $this->setPort($port); $this->setDBName($dbname); $this->setCharset($charset); $this->setUser($user); $this->setPass($pass); } final function Connect(){ $dbtype = $this->getDBType(); $host = $this->getHost(); $port = $this->getPort(); $dbname = $this->getDBName(); $charset = $this->getCharset(); $dbh = new PDO($dbtype . ":host={$host};port={$port}dbname={$dbname};charset{$charset}", $this->getUser(), $this->getPass()); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, TRUE); $dbh->setAttribute(PDO::ATTR_PERSISTENT, TRUE); $this->setConnection($dbh); return $this->getConnection(); } final function Disconnect(){} final function selectDB(){} final function insertDB(){} final function updateDB(){} final function deleteDB(){} } ?> Resultado:

    • By smashplus
      Olá amigos, sendo breve, apenas gostaria de saber se alguem sabe por onde começo para fazer por exemplo o seguinte:
       
      Existe o usuário 1 e o usuário 2,  quando o usuário 1 insere uma linha no bd, ele manda uma mensagem para o usuário 2, avisando tipo, foi inserido uma linha no bd para o usuário, tipo aqueles popup sabe.
       
      Se alguem puder dar uma luz, tenho noções basicas de php e ajax...
       
      Agradeço se alguem puder dar a direção.
    • By EvertonFD
      Boa tarde senhores, estou começando na programação mais precisamente com o php, e para fins de estudo estou criando um site de gerenciamento de campeonatos e me deparei com uma questão,
      Tenho um resultado no banco time a 10 x 05 time b, então fiz o seguinte trouxe esses valores para a tela  e na sequencia criaei um if para determinar qual o maior ficou assim:

       
      <?php echo $row_resultados ['g_a'];?> X <?php echo $row_resultados ['g_b'];?> // resultados trazido do bd no caso o placar 10 X05 <?php $row_resultados ['g_a']; $row_resultados ['g_b']; $a= $row_resultados ['g_a']; $b= $row_resultados ['g_b']; if($a > $b): $placar= "VIT"; elseif($a < $b): // Note the combination of the words. $placar= "DER"; else: $placar= "EMP"; endif; echo $placar ?>// exibe o resultado ?> Ai ele me retorna o seguinte ou ele me da a vitoria para os dois time ou ele retorna derrota para os dois, como ja expliquei estou começando então se tiver uma outra maneira de fazer aceito sugestões
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.