Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

bolivar1002

Percorrer indices pares e impares

Recommended Posts

<?php
include 'conn.php';
    
$resultado = mysql_query('SELECT * FROM estoque WHERE exibir= "SIM" ORDER BY estoque_marca');
 

$par = array(resultado) ; AQUI QUERIA GUARDAR SOMENTE OS ELEMENTOS COM INDICES PARES DO ARRAY $resultado

$impar = array(resultado); AQUI QUERIA GUARDAR SOMENTE OS ELEMENTOS COM INDICES IMPARES DO ARRAY $resultado

 

PRECISO SEPARAR OS RESULTADOS EM DUAS DIVS NO HTML

EM UMA DIV LISTAREI OS ELEMENTOS COM INDICES PARES

A OUTRA DIV LISTAREI OS ELEMENTOS COM INDICES IMPARES.


while( $exibir = mysql_fetch_array($resultado)){  

$i++;    

  echo
  "<td><a target='_blank' href='{$exibir['link']}'> <img src='{$exibir['foto1']}'width=180 height=135> </a>&nbsp;&nbsp;</td>" 
. "&nbsp;"
. "<td><strong>Veículo: </strong>{$exibir['estoque_modelo']}"
. "<br>;<strong>Portas: </strong>{$exibir['estoque_portas']} </td>"
;

}
?>

 

Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se ajuda:

 

http://php.net/manual/pt_BR/language.operators.arithmetic.php

http://aprenderphp.com.br/artigo/operadores-no-php/

 

Operadores de 'resto' de divisão  ( MOD )

 

Basicamente você poderia criar dois arrays vazios antes iniciar o loop 

 

Algo +/- assim:

<?php

$par = array();
$impar = array();

while....
  //Toda divisão por dois que não possui resto é par...
  if(NUMERO % 2 == 0){
    $par [] = NUMERO;
  } else {
   /// se possui resto só pode ser impar 
   $impar[] = NUMERO;
  }

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra opção seria na própria consulta.

 

SELECT 
	 id
	,MOD(id, 2) = 0 as par  
FROM 
	estoque 
WHERE 
	exibir= "SIM" 
ORDER BY estoque_marca

Ou seja sempre que o numero da coluna (estoque.id) / 2 == 0, retorna 1 (true), caso contrario 0 (false)

 

Ex:

mysql> select id, MOD(id, 2) = 0 as impar from usuario;
+----+-------+
| id | impar |
+----+-------+
|  1 |     0 |
|  2 |     1 |
|  3 |     0 |
|  4 |     1 |
|  5 |     0 |
|  6 |     1 |
|  7 |     0 |
|  8 |     1 |
|  9 |     0 |
| 10 |     1 |
+----+-------+

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 Cara, a quantia de registros é variável, eu preciso exibir a metade dos registros em uma DIV e a outra metade em outra DIV. Por isso pensei em utilizar a solução do par ou impar. Mas este exemplo direto no SQL não funciona, por os id não podem ser levados como parâmetros para o MOD, pois pode ter mais ids pares do que impares.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

 

<?php
include 'conn.php';
    
$resultado = mysql_query('SELECT * FROM estoque WHERE exibir= "SIM" ORDER BY estoque_marca');
 
$coluna01 = "";
$coluna02 = "";

$i = 0;
while( $exibir = mysql_fetch_array($resultado)){  
    $i++;    
    $html =  "<td><a target='_blank' href='{$exibir['link']}'> <img src='{$exibir['foto1']}'width=180 height=135> </a>  </td> " 
            ."<td><strong>Veículo: </strong>{$exibir['estoque_modelo']}"
            ."<br>;<strong>Portas: </strong>{$exibir['estoque_portas']}</td>";
  
    $coluna01 = ($i % 2 == 1)? $coluna01 + $html : $coluna01;
    $coluna02 = ($i % 2 == 0)? $coluna02 + $html : $coluna02;
?>

Feito isso, a variável $coluna01 conterá o conteudo para sua div1 e a variável $coluna02, o conteúdo para sua div2.

Dentro das respectivas divs imprima a variável $coluna01 e $coluna02. Exemplo:

 

<div id="coluna_01">
   <?php echo $coluna01; ?>
</div>

<div id="coluna_02">
   <?php echo $coluna02; ?>
</div>

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Corrigindo: o concatenador do php não é o "+" (mais). É o "." (ponto).

 

<?php
include 'conn.php';
    
$resultado = mysql_query('SELECT * FROM estoque WHERE exibir= "SIM" ORDER BY estoque_marca');
 
$coluna01 = "";
$coluna02 = "";

$i = 0;
while( $exibir = mysql_fetch_array($resultado)){  
    $i++;    
    $html =  "<td><a target='_blank' href='{$exibir['link']}'> <img src='{$exibir['foto1']}'width=180 height=135> </a>  </td> " 
            ."<td><strong>Veículo: </strong>{$exibir['estoque_modelo']}"
            ."<br>;<strong>Portas: </strong>{$exibir['estoque_portas']}</td>";
  
    $coluna01 = ($i % 2 == 1)? $coluna01 . $html : $coluna01;
    $coluna02 = ($i % 2 == 0)? $coluna02 . $html : $coluna02;
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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