Jump to content
Bruno Orosco

ID sequencial apos pesquisa

Recommended Posts

Olá pessoal do imasters,

 

sou novato em programação PHP, estou precisando inserir Id sequencial diferente do banco, nesta ocasião eu tenho uma tabela no banco com os cadastros de membros, quando eu puxo os registros para uma tabela, esses dados chegam em ordem alfabética do feminino para o masculino, o que eu preciso fazer é colocar Ids nessa tabela toda vez que faço a leitura do banco. Imagino inserir uma variável na coluna Id mas não estou obtendo um resultado satisfatório.

  <?php
                        include '../../_fonts/config/banco.php';
                        $pdo = Banco::conectar();
                        $sql = 'SELECT * FROM encontrista ORDER BY sexoEnc ASC';
                        $i = 0;
                        foreach($pdo->query($sql)as $row)
                        {   $i=$i+1;//aqui esta o teste que tentei
                            echo '<tr>';
                            echo '<th '.$i'</th>'; //esta coluna precisa gerar um num. sequencial independente do banco
                            echo '<th scope="row">'. $row['nomeEnc'] . '</th>';
                            echo '<td>'. $row['telEnc'] . '</td>';
                            echo '<td>'. $row['responsavel'] . '</td>';
                            ?>

 

obrigado desde já!!!
                      

 

Share this post


Link to post
Share on other sites

Olá Bruno, tudo bem? Espero que sim!

 

Creio que você deve criar uma array para armazenar está ID.

O que está ocorrendo em seu código é apenas modificando a variável $i todas vez que o foreach é executado, adicionando claro um número a sua sequência, mas não está armazenando todos os Ids ou a quantidade de vezes que ele foi modificado.

 

Abraços, Wictor Pamplona.

Share this post


Link to post
Share on other sites

Está fazendo quase correto. Utilize a mesma variável que criou ($i), apenas incremente a cada passagem, ex:

$i = 1;
foreach(){
	echo $i;
	// apresenta seus dados
	$i++; // incrementa +1 a cada passagem, ou seja se passar 5 vezes, seu valor será 5, etc.
}

Somente isso.

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 1stVieira
      Olá a todos! Estou com uma dúvida em relação a realizar um cadastro no banco de dados (SQL) a partir de um formulário de um projeto.
       
      Possuo duas tabelas, Categoria e Itens, na qual a tabela Itens possui uma FOREIGN KEY com a tabela Categorias.
       
      Na página de Categorias consigo realizar os cadastro das mesmas sem problemas e elas estão sendo aplicadas em um SELECT na página de Cadastro dos Itens. O problema está sendo cadastrar os Itens no Banco de Dados. Estou utilizando PHP Orientado à Objetos
       
      Página de Adição de Pedidos
      <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Adição de Item</title> </head> <body> <div> <a href="modificarCardapio.php" class="link_home"><i class="fa fa-home"></i></a> </div> <div> <div> <h1>Adicionar Itens ao Cardápio</h1> </div> <div> <form action="#" method="POST"> <label>Categoria:</label> <select name="selecionarcat"> <option selected>Selecione a Categoria</option> <?php require_once"../models/conexao.class.php"; require_once"../models/categoriaDAO.class.php"; $catDAO = new categoriaDAO(); $ret = $catDAO->buscarTodasCategorias(); if(count($ret) > 0){ foreach ($ret as $dado){ echo "<option value='".$dado->idcategoria."'>".$dado->descritivo."</option>"; } } ?> </select> <br><br> <a href="addcategoria.php"><input type="button" value="Adicionar nova Categoria"></a> <p> <label>Nome do Item: </label> <input type="text" name="nomeproduto"> </p> <p> <label>Descrição: </label> <input type="text" name="descricao"> </p> <p> <label>Preço: </label> <input type="text" name="preco"> </p> <br> <input type="submit" value="Adicionar"> </form> </div> </div> </body> </html> <?php if($_POST){ require_once "../models/conexao.class.php"; require_once "../models/item.class.php"; require_once "../models/itemDAO.class.php"; $item = new item(null, $_POST["nomeproduto"], $_POST["descricao"], null, $_POST["preco"]); $itemDAO = new itemDAO(); $itemDAO->adicionar($item); header("Location:modificarCardapio.php"); } ?> ItemDAO.php
      <?php class itemDAO extends conexao{ function __construct(){ parent:: __construct(); } function adicionar($item){ $sql="INSERT INTO itens (nomeprod, descricao, preco, id_categoria) VALUES(?, ?, ?, ?)"; try{ $stm = $this->db->prepare($sql); $stm->bindValue(1, $item->getNomeproduto()); $stm->bindValue(2, $item->getDescricao()); $stm->bindValue(3, $item->getPreco()); $stm->bindValue(4, $item->getCategoria()); $stm->execute(); $this->db = null; } catch(Exception $e){ die($e->getMessage()); } } ?> Item.class.php
      <?php class item{ private $iditem; private $nomeproduto; private $descricao; private $categoria; private $preco; function __construct($iditem, $nomeproduto, $descricao, $categoria, $preco){ $this->iditem=$iditem; $this->nomeproduto=$nomeproduto; $this->descricao=$descricao; $this->categoria=$categoria; $this->preco=$preco; } function getIditem(){ return $this->iditem; } function getNomeproduto(){ return $this->nomeproduto; } function getDescricao(){ return $this->descricao; } function getCategoria(){ return $this->categoria; } function getPreco(){ return $this->preco; } function setIditem($iditem){ $this->iditem=$iditem; } function setNomeproduto($nomeproduto){ $this->nomeproduto=$nomeproduto; } function setDescricao($descricao){ $this->descricao=$descricao; } function setCategoria($categoria){ $this->categoria=$categoria; } function setPreco($preco){ $this->preco=$preco; } } ?>  
    • By wsilva7
      Bom dia.
      Pessoal criei um form de pesquisa e nele tenho dois Edits,
      um para o codigo e outro onde digito o nome a ser pesquisado e um dbgrid ele 
      exibe o resultado da pesquisa.
      Coloquei um IBQuery e esta tudo ligado. Em um button coloquei o seguinte codigo:
      procedure Tfrmconsultafornecedores.BitBtn1Click(Sender: TObject);
      begin
      QryConsFornecedor.CLOSE;
      QryConsFornecedor.Params[0].AsString:= '%'+Edit1.Text+'%';
      QryConsFornecedor.Params[1].AsString:= '%'+Edit2.Text+'%';
      QryConsFornecedor.Open;
      end;
      Esta tudo funcionando
      O que eu nao estou conseguindo fazer é ao clicar duas vezes no DBGRID, o resultao da pesquisa feita ser carregado no formulario de cadastro.
      Exemplo. Cadastro de clientes nele efetuo a pesquisa por fulano de tal, ao ser encontrado o fulano de tal, dar dois clics e ai o form de pesquisa fecha e abre o form de cadastro posicionado no form de cadastro de clientes.
      Desde já agradeço.
    • By Flaviaac
      Boa tarde galera!
       
      Estou tendo um problema esquisito aqui.
      Sou iniciante e não faço a mínima ideia do que pode ser.
       
       
      Veja só, no campo dropdown abaixo coloquei no "value" o ID, mas ele salva no banco como tipo STRING e não INT.
      <?php $sql = "SELECT id, sigla FROM local ORDER BY sigla ASC"; $result = $conn->query($sql); ?> . . . <select name="local" class="form-control"> <option selected>Selecione...</option> <?php while($row = $result->fetch_assoc()){ echo "<option value=".$row['id'].">".$row['sigla']."</option>"; } ?> </select> . . . Dei um var_dump() pra saber o que apareceria e ele mostra como STRING.
      <pre> <?php $sql = "SELECT id, sigla FROM local ORDER BY sigla ASC"; $result = $conn->query($sql); $row = $result->fetch_assoc(); var_dump($row['id']); ?> </pre> Resultado:
      string(1) "5"  
       
      Esse é o Banco de dados:
      Coloquei a coluna ID como INT.
      -- phpMyAdmin SQL Dump -- version 4.8.3 -- https://www.phpmyadmin.net/ SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; 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 */; -- -- Banco de dados: `arq` -- -- -------------------------------------------------------- -- -- Estrutura para tabela `local` -- CREATE TABLE `local` ( `id` int(11) NOT NULL, `SIGLA` mediumtext NOT NULL, `LOCAL` mediumtext NOT NULL, `TELEFONE` mediumtext NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Fazendo dump de dados para tabela `local` -- INSERT INTO `local` (`id`, `SIGLA`, `LOCAL`, `TELEFONE`) VALUES (1, 'AAC', 'AAC', '2222-2222'), (2, 'DSV', 'DSV', '1111-1111'), (3, 'SCA', 'SCA', '3333-3333'); -- -- Índices de tabelas apagadas -- -- -- Índices de tabela `local` -- ALTER TABLE `local` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT de tabelas apagadas -- -- -- AUTO_INCREMENT de tabela `local` -- ALTER TABLE `local` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6; 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 */; Obrigada pessoal!
       
    • By joao.felipe
      Pessoal, boa noite,
       
      estou tentando fazer um checkbox colorir multiplas celulas de uma tabela. Ao selecionar o checkbox e clicar no onclick botao(filtrar) ou somente selecionando o checkbox, eu preciso colorir a celula de verde através de alguma propriedade. Ex: <td ID="A1" color"green" ></td> da  
       
      <!DOCTYPE html>
      <html>
      <body>
      <script>
        function obterMarcados() 
        {
          var numeros = 0;
          var listaMarcados = document.getElementsByName("checkbox1");
          
          if (listaMarcados.length > 0)
          {
            for (loop = 0; loop < listaMarcados.length; loop++) 
            {   
              let item = listaMarcados[loop];
              console.log(item.checked)
              if (item.type == "checkbox" && item.checked) 
              {
                numeros++;
                alert(item.value);
                alert(listaMarcados.length);
              }
            } 
            if (numeros == 0)
            {
              alert("Nenhum CheckBox foi Marcado");
            }
            
          }
          else
          {
            alert("Nao existe nenhum CheckBox com esse nome(name)");
          }  
        }
      </script>
       
      <form>
        <table width="" border="1" cellspacing="10" cellpadding="4">
       
      <tr align="center"> <td>--</td> <td> -- <br></td> <td>A</td> <td>B</td> <td>C</td> <td>D</td> <td>E</td> <td>F</td> <td>G</td> <td>H</td> <td>I</td> <td>J</td> <td>K</td> <td>L</td> <td>M</td> <td>N</td> <td>O</td> <td>P</td> <td>Q</td> <td>R</td> <td>S</td> <td>T</td> <td>U</td> <td>V</td> <td>X</td> </tr>
       
      <tr align="center"> <td>--</td> <td> <input type="button" name="btn" value="Verificar Marcados" onclick="obterMarcados()">                                         <br></td> <td COLSPAN="12" align="center">RAIZES 8</td> <td COLSPAN="4" align="center">RAIZES 7</td> <td COLSPAN="2" align="center">RAIZES 6</td> <td td COLSPAN="3" align="center">VEREDAS 2</td> <td>CARANDÁ</td> <td>PALMAS</td>  </tr>  
       
      <tr align="center"> <td>--</td> <td> --                                                                                                                            <br></td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> <td>7</td> <td>8</td> <td>9</td> <td>10</td> <td>11</td> <td>12</td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>1</td> <td>2</td> <td>1</td> <td>2</td> <td>3</td> <td>1</td> <td>1</td> </tr>  
       
        <tr align="center"> <td>01</td> <td align="left"> <input type="checkbox" id = "3DS Max"            name="checkbox1" value="3DS Max"           > 3DS Max            <br></td> <td bgcolor="green" id="A1">A1 </td> <td id="B1">B1</td> <td>C1</td> <td>D1</td> <td>E1</td> <td>F1</td> <td>G1</td> <td>H1</td> <td>I1</td> <td>J1</td> <td>K1</td> <td>L1</td> <td>M1</td> <td>N1</td> <td>O1</td> <td>P1</td> <td>Q1</td> <td>R1</td> <td>S1</td> <td>T1</td> <td>U1</td> <td>V1</td> <td>X1</td> </tr>  
       
        <tr align="center"> <td>02</td> <td align="left"> <input type="checkbox" id = "Adobe + Audacity"   name="checkbox1" value="Adobe + Audacity"  > Adobe + Audacity   <br></td> <td bgcolor="white" id="A2">A2 </td> <td>B2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> </tr>  
       
        <tr align="center"> <td>03</td> <td align="left"> <input type="checkbox" id = "Anaconda Python 5"  name="checkbox1" value="Anaconda Python 5" > Anaconda Python 5  <br></td> <td bgcolor="white" id="A3">A3 </td> <td>B3</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> </tr>  
       
            </table>
          </form>
        </body>
      </html>
    • By Tadeu Neto
      Boa tarde, estou tentando criar uma pesquisa no mongo em que ao digitar uma palavra ele pesquise tanto por palavras acentuadas quanto sem ex: água, agua, café, cafe, cafee, joão, joao e assim vai. 
       
      Já vi algumas coisas mais não consegui ter o resultado necessário, pode ser por minha falta de experiência.
       
      Obrigado pela ajuda.
×

Important Information

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