Ir para conteúdo

vicente386

Members
  • Total de itens

    13
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre vicente386

  1. vicente386

    UPDATE com PHP e MYSQL com loop

    SET @pos := 0; SET @pagina := 1; UPDATE tabela SET LIVRO = FLOOR((ID - 1) / 3000) + 1, POS = (@pos := (@pos + 1) % 30), PAGINA = (@pagina := @pagina + FLOOR((@pos + 1) / 30)) WHERE ID BETWEEN 1 AND 8364; isso resolveu meu problema. obrigado pela atençao.
  2. vicente386

    UPDATE com PHP e MYSQL com loop

    Ola. Tenho uma tabela no 3 campos que sao "LIVRO, POS, PAGINA" ao qual a logica e a seguinte: cada livro tem 100 paginas cada pagina tem 30 posiçoes tenho 8,364 registros pra inserir chegando a 100 paginas com 30 posiçoes cada passa para o livro 2 e como fazer o update na tabela inserindo nos campos LIVRO = 1, POS de 0 a 30 e PAGINA 1 para cada 30 registros logos apos pagina 2 ? estou tentando fazer assim: <?php > ini_set('max_execution_time', 2000); $pdo = new > DO(DB_SERVER.":host=".DB_HOST.";dbname=".DB_BASE,DB_USER,DB_PASSWORD); > $sql = $pdo->prepare("SELECT count(*) FROM tabela2018"); > $sql->execute(); > $livro = 1; > foreach($sql as $obj){ > $variavel = $obj[0]; > ceil((float)$variavel/100); > $qtdlaco = ceil((float)$variavel/100); > for ($id = 1; $id <= 35; $id++) { > for($L=1; $L < $qtdlaco; $L++) { > for ($P = 0; $P <= 30; $P++) { > $sql = $pdo->prepare("UPDATE tabela2018 SET LIVRO = :LIVRO, POS = :POS, PAGINA = :PAGINA WHERE idtabela2018 = $id"); > $sql->bindValue(':LIVRO', $livro); > $sql->bindValue(':POS', $P); > $sql->bindValue(':PAGINA', $L); > $sql->execute(); > } > } > } >} ?> mas na tebela so aparece: LIVRO POS PAGINA 1 30 83 1 30 83 1 30 83 e nao como deveria : LIVRO POS PAGINA 1 0 1 1 1 1 1 2 1
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.