Jump to content
ErickCordeiroA

Problemas quando vou Puxar um resultado no Input PHP

Recommended Posts

Galera Boa tarde!

 

Estou com um problema que não estou conseguindo resolver.

 

tenho um formulario com um campo só para cadastro de categoria de forma simples, porem quando uso o editar puxando pelo ID. ele aparece o seguinte erro :

 

<br /><b>Notice</b>:  Undefined index: str_descricao in <b>C:\xampp\htdocs\modelos\view\alterarcategoria.php</b> on line <b>102</b><br />

 

Pelo que eu pesquisei na internet esse erro é aprensentado pois não esta recebendo nenhum valor. Entretanto eu dei um print_r na variavel que recebe o valor do id junto do valor da descrição (str_descrição) e ele mostra dentro do meu campo input.

 

Array(    [0] => Array        (            [n_codigocategoria] => 6            [str_descricao] => BCAA        ))1  <-- esta aparecendo esse 1 na frente que não estou encontrando o motivo também.

 

vou postar os trechos dos codigos.

 

Editar

<!-- /. ROW  -->
                    <form action="../controller/ControllerCategoria.php?action=salvar" method="post">
                      <input type="hidden" name="action" value="salvar">
                      <input type="hidden" name="categoria" value="<?=$rCategoria['n_codigocategoria']?>">
                      
                      <div class="row">
                        <div class="col-md-12">
                          <div class="form-group col-md-5">
                            <label for="lbl_descricao">Descrição</label>
                            <input type="text" class="form-control" value="<?=$rCategoria['str_descricao']?>" 
                              id="descricao_categoria" name="descricao_categoria" maxlength="40"/>
                          </div>
                        </div>
                      </div>
                      <!-- /. ROW  -->

                      <hr />
                      <div id="actions" class="row">
                        <div class="col-md-12">
                          <button type="submit" class="btn btn-primary">Salvar</button>
                          <input onclick="retornar()" type="button" class="btn btn-danger" value="Cancelar"/>
                        </div>
                      </div>
                    </form>

 

Pagina que chama para edição

 

<?php foreach ($listaCategoria as $categoria): ?>
                                    <tr>
                                        <td><?=$categoria['n_codigocategoria']?></td>
                                        <td><?=$categoria['str_descricao']?></td>
                                        <td>
                                        <a href="../controller/ControllerCategoria.php?action=editar&categoria=<?=$categoria['n_codigocategoria']?>" type="submit" class="btn btn-primary">
                                            <span class="glyphicon glyphicon-edit" aria-hidden="true"></span>
                                          </a>
                                          <button onclick="excluir('../controller/ControllerCategoria.php?action=excluir&categoria=<?=$categoria['n_codigocategoria']?>')" type="button" class="btn btn-danger">
                                            <span class="glyphicon glyphicon-trash" aria-hidden="true"></span>
                                          </button>
                                        </td>
                                    </tr>
                                  <?php endforeach ?>

 

e a minha função para retornar o valor para ser alterado.

 

function recuperaCategoria($id){
$queryBuscaCategoria = $this->connMysql->prepare("SELECT 
c.n_codigocategoria,
c.str_descricao
FROM
db_modelo.tbl_categoria c
WHERE n_codigocategoria = ?");
$queryBuscaCategoria->bindParam(1, $id);
$queryBuscaCategoria->execute();
$recuperaCategoria = array();
while ($row = $queryBuscaCategoria->fetch(PDO::FETCH_ASSOC)) {
$recuperaCategoria[] = array(	'n_codigocategoria'	=>utf8_encode($row["n_codigocategoria"]),
'str_descricao'		=>utf8_encode($row["str_descricao"]));
}
return $recuperaCategoria;
}

desde já agradeço.

Share this post


Link to post
Share on other sites

Oi Erick. Eu tive esse mesmo problema ontem. 

Este é um problema de algum array em algum lugar do código (problema de sintaxe). 

 

No meu caso foi um copia e cola errado neste array. eu tinha  errado a forma de escrever estava assim: [$id]

este é o correto

$produto->setId( $array['id']);

 

Dá uma vasculhada de novo no codigo e veja se consegue achar algo de errado. 

Share this post


Link to post
Share on other sites

Sergio.

 

Já olhei e refiz todo o codigo e mesmo assim continua com o mesmo problema acredito que não seja esse o erro.

mas desde já agradeço pela orientação..

Share this post


Link to post
Share on other sites

Isso significa que em algum momento do loop  o array $listaCategoria

<?php foreach ($listaCategoria as $categoria): ?>

está sem o índice associativo: 'str_descricao'

 

Uma maneira de 'suprimir' esse erro seria verificando se o indice existe, caso não exista atribuir um valor vazio.

Exemplo:

<?php
function recuperaCategoria($id){
	$queryBuscaCategoria = $this->connMysql->prepare("SELECT 
		c.n_codigocategoria,
		c.str_descricao
		FROM
		db_modelo.tbl_categoria c
		WHERE n_codigocategoria = ?"
	);
	
	$queryBuscaCategoria->bindParam(1, $id);
	$queryBuscaCategoria->execute();
	$recuperaCategoria = array();
	
	
	while ($row = $queryBuscaCategoria->fetch(PDO::FETCH_ASSOC)) {
		
		$row["str_descricao"] = isset($row["str_descricao"]) ? $row["str_descricao"] : '';	
		
		$recuperaCategoria[] = array(
			 'n_codigocategoria'	=> utf8_encode()
			,'str_descricao'		=> utf8_encode($row["str_descricao"])
		);
	}
	return $recuperaCategoria;
}

 

 

 

 

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 Kakaroto1309
      Preciso de uma ajuda para conectar com o banco. Estava tudo funcionando normalmente com MYSQL agora parou tudo e estou tentando trocar para MYSQLI.
      Não acho o erro, já tentei de tudo.
       
      connection.php
      <? function conecta() { $host = "localhost"; $user = "admin"; $pass = "123456789"; $db = "principal"; //Conexão $conexao = mysqli_connect($host, $user, $pass) or die("Erro na conexão:".mysqli_error()); //Selecionar BD mysqli_select_db($conexao,$db) or die("Erro ao selecionar BD"); } function desconecta() { mysqli_close(); } ?> validate.php
      <? if (empty($_POST) and (empty($_POST['cpUsuario']) OR empty($_POST['cpSenha']))) { header("Location: ../login.php"); exit; } else { include("connection.php"); conecta(); $varUsuario = $_POST['cpUsuario']; $varSenha = sha1($_POST['cpSenha']); $stt = "SELECT ID,txNome,txNivel FROM tbUsuario WHERE txUsuario='$varUsuario' and txSenha='$varSenha' LIMIT 1"; $sql = mysqli_query($conexao,$stt) or die(mysqli_error($conexao)); $existe = mysqli_num_rows($sql); if ($existe == 0) { echo "Login invalido ou inexistente na base"; exit; } else { $resultado = mysqli_fetch_assoc($sql); if (!isset($_SESSION)) { session_start(); } $_SESSION['UsuarioID'] = $resultado['ID']; $_SESSION['UsuarioNOME'] = $resultado['txNome']; $_SESSION['UsuarioNIVEL'] = $resultado['txNivel']; header("Location: ../menu.php"); exit; } } ?> O erro agora está dando o seguinte:
      PHP Warning:  mysqli_query() expects parameter 1 to be mysqli, null given in /home4/public_html/connection/validate.php on line 17
       
      Linha 17 é essa:
      $sql = mysqli_query($conexao,$stt) or die(mysqli_error($conexao));
       
      Se eu tiro o $conexao do mysqli_query ele da erro de "mysqli_query() expects at least 2 parameters, 1 given" e se eu coloco o erro é "mysqli_query() expects parameter 1 to be mysqli, null given"
       
      Alguem sabe como posso resolver isso?
    • By alvarengacarlos
      Tenho uma Api rest feita com Symfony. Esta api retorna consultas no formato json.
      Tudo foi testado no ambiente localhost:8080.
      Esta é uma controller que retorna a consulta:
      <?php namespace App\Controller\Animal\Bull; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Request; use App\Entity\Animal\Bull\Bull; /** * @Route("/animal") */ class BullGetController extends AbstractController { /** * @Route("/bull/getBull/{id}/{idEarring}", methods={"GET"}, name="get_bull") */ public function getBull(int $id, int $idEarring): Response { $repository = $this->getDoctrine() ->getRepository(Bull::class); $bull = $repository->findOneBy([ 'id' => $id, 'idEarring' => $idEarring ]); return $this->json([ 'idEarring' => $bull->getIdEarring(), 'name' => $bull->getName(), 'breed' => $bull->getBreed(), 'dateOfBirth' => ($bull->getDateOfBirth())->format('Y-m-d'), 'weight' => $bull->getWeight() ]); } } Com pode se ver na imagem consultas feitas a partir do navegador são retornadas respostas.
       
      Quando é feita uma consulta por meio do Fetch javascript o mesmo não ocorre. A resposta obtida não é igual.
      'use strict'; let url = 'http://localhost:8080/animal/bull/getBull/2/2'; const promise = fetch(url) .then( (response) => console.log(response) ); Gostaria de saber o porque disso? Porque a resposta não é igual.
       


    • By Quencyjones79
      Olá a todos, sou novo na área de multimídia. Estou a seguir a um momento um ebook sobre a criação de uma base de dados e também a criação de tabelas. Mas quando vinculei as tabelas do banco de dados, no phpmyadmin me deu alguns erros. Fiz a correspondência da chave primária (artist_id da tabela Artist) com a artist_id da tabela Prints (chave estrangeira) e assim por diante. O problema é que ele não mostra minhas relações das tabelas e me dá uma mensagem de erro. Então, alguns de vocês poderiam me ajudar, por favor, a consertar esta situação. Eu serei grato. Cumprimentos.
       
      Ps .: Abaixo envio o arquivo Sql.
       
      Atentamente,

      José Moreira
      -- phpMyAdmin SQL Dump -- version 5.0.2 -- https://www.phpmyadmin.net/ -- -- Host: 127.0.0.1 -- Generation Time: Jan 07, 2021 at 08:49 PM -- Server version: 10.4.14-MariaDB -- PHP Version: 7.2.33 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `ecommerce` -- -- -------------------------------------------------------- -- -- Table structure for table `artists` -- CREATE TABLE `artists` ( `artist_id` int(10) UNSIGNED NOT NULL, `first_name` varchar(20) DEFAULT NULL, `middle_name` varchar(20) DEFAULT NULL, `last_name` varchar(40) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4; -- -------------------------------------------------------- -- -- Table structure for table `customers` -- CREATE TABLE `customers` ( `customer_id` int(10) UNSIGNED NOT NULL, `email` varchar(60) NOT NULL, `pass` char(40) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4; -- -------------------------------------------------------- -- -- Table structure for table `orders` -- CREATE TABLE `orders` ( `order_id` int(10) UNSIGNED NOT NULL, `customer_id` int(10) UNSIGNED NOT NULL, `total` decimal(10,2) UNSIGNED NOT NULL, `order_date` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- -------------------------------------------------------- -- -- Table structure for table `order_contents` -- CREATE TABLE `order_contents` ( `oc_id` int(10) UNSIGNED NOT NULL, `order_id` int(10) UNSIGNED NOT NULL, `print_id` int(10) UNSIGNED NOT NULL, `quantity` tinyint(3) UNSIGNED NOT NULL DEFAULT 1, `price` decimal(6,2) UNSIGNED NOT NULL, `ship_date` datetime DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- -------------------------------------------------------- -- -- Table structure for table `prints` -- CREATE TABLE `prints` ( `print_id` int(10) UNSIGNED NOT NULL, `artist_id` int(10) UNSIGNED NOT NULL, `print_name` varchar(60) NOT NULL, `price` decimal(6,2) UNSIGNED NOT NULL, `size` varchar(60) DEFAULT NULL, `description` varchar(255) DEFAULT NULL, `image_name` varchar(60) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4; -- -- Indexes for dumped tables -- -- -- Indexes for table `artists` -- ALTER TABLE `artists` ADD PRIMARY KEY (`artist_id`), ADD UNIQUE KEY `full_name` (`last_name`,`first_name`,`middle_name`); -- -- Indexes for table `customers` -- ALTER TABLE `customers` ADD PRIMARY KEY (`customer_id`), ADD UNIQUE KEY `email` (`email`), ADD KEY `login` (`email`,`pass`); -- -- Indexes for table `orders` -- ALTER TABLE `orders` ADD PRIMARY KEY (`order_id`), ADD KEY `customer_id` (`customer_id`), ADD KEY `order_date` (`order_date`); -- -- Indexes for table `order_contents` -- ALTER TABLE `order_contents` ADD PRIMARY KEY (`oc_id`), ADD KEY `order_id` (`order_id`), ADD KEY `print_id` (`print_id`), ADD KEY `ship_date` (`ship_date`); -- -- Indexes for table `prints` -- ALTER TABLE `prints` ADD PRIMARY KEY (`print_id`), ADD KEY `artist_id` (`artist_id`), ADD KEY `print_name` (`print_name`), ADD KEY `price` (`price`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `artists` -- ALTER TABLE `artists` MODIFY `artist_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `customers` -- ALTER TABLE `customers` MODIFY `customer_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `orders` -- ALTER TABLE `orders` MODIFY `order_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `order_contents` -- ALTER TABLE `order_contents` MODIFY `oc_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `prints` -- ALTER TABLE `prints` MODIFY `print_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
       

    • By PedroHRLeite
      Estou querendo deixar um rodapé fixo no topo a medida que o mesmo alcança o topo da página, porém estou encontrando dificuldades ao utilizar position: sticky, segue o código completo, se eu colocar a configuração de sticky na classe .side-column funciona bem, porém quero apenas no footer, alguém saber como resolver?
      <!DOCTYPE html> <html> <head> <style> .wideBody .side-column { float: right; order: 2; width: 300px; } .wideBody .side-column footer { position: sticky; position: -webkit-sticky; top: 0; } .wideBody .main-column { align-self: flex-start; float: left; width: 500px; border: 2px solid #4CAF50; } .resultados { border: 2px solid #4CAF50; margin-bottom:25px; position:relative; } footer { border: 2px solid #4CAF50; } </style> </head> <body class="wideBody"> <main> <div> <div class="main-column"> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> coluna principal<br /> </div> <aside class="side-column"> coluna auxiliar <div class="resultados"> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> 1 -> 2<br /> </div> <footer> rodape fixo </footer> </aside> </div> </main> </body> </html>  
×

Important Information

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