Ordenar consulta alternada

Enviada por Weder 
Weder
Ordenar consulta alternada
13 de March de 2017 às 06:29PM
Olá pessoal. Não consigo resolver um problema. Preciso trazer de uma tabela todos os registros mas de uma forma alternada. Por exemplo: Se a tabela tiver 10 registros, quero exibir o primeiro, depois o último. Depois o segundo e o penúltimo. Depois o terceiro e antepenúltimo e assim por diante e depois de trazer todos os registros, preciso inserir em outra tabela usando pdo. Alguém pode me ajudar?

Ex:

01, 10, 02, 09, 03, 08, 04, 07, 05, 06

Depois que estiver ordenado assim, preciso gravar em outra tabela.
Weder
Re: Ordenar consulta alternada
16 de March de 2017 às 11:48PM
Foi resolvido assim pessoal:

$contador = $totalGeraDuplas; // está vindo do numero de linhas geradas da consulta sql

for($i = 0; $i < $contador; $i++){
if(($i % 2) != 0){
$dados = array_pop($row); //$row é a linha do resultado da consulta sql ao banco
}else{
$dados = array_shift($row);
}

//variaveis que vão ao banco
$idCandidatos = $dados['idCandidatos'];
$grupos = $dados['grupo'];
$fases = 2;

$sql = 'INSERT INTO tb_duplas (idFases, idCandidatos, grupo) VALUES (?,?,?)';
$stm = $pdo->prepare($sql);
$stm->bindParam(1, $fases);
$stm->bindParam(2, $idCandidatos);
$stm->bindParam(3, $grupos);
$res = $stm->execute();
}
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.