Jump to content
juniorquadros

Limitar Colunas e/ou linhas da tabela com preenchimento do Array

Recommended Posts

Tenho uma string, leio ela e queria apresentar ela com limitador na tabela. 

Exemplo:

 

string com tal conteudo: "ABCDEFG"

 

ADF

BEG

CE

 

Estou usando apenas php e html, não sei se consigo realizar isto que quero. Me ajudem

Share this post


Link to post
Share on other sites

@juniorquadros, seja bem vindo ao fórum. Recomendo fortemente a leitura dos tópicos:

Com relação a sua dúvida, seja mais específico, pelo que entendi você quer "cortar" a string é isso ?

  • +1 1

Share this post


Link to post
Share on other sites
1 hora atrás, Alaerte Gabriel disse:

@juniorquadros, seja bem vindo ao fórum. Recomendo fortemente a leitura dos tópicos:

Com relação a sua dúvida, seja mais específico, pelo que entendi você quer "cortar" a string é isso ?

Sim, quero fatiar caracter por caracter da string e apresentar ela numa tabela, sendo essa tabela com no maximo 3 linhas.

Share this post


Link to post
Share on other sites
11 minutos atrás, Alaerte Gabriel disse:

Fiz dessa forma, porem nao consegui inserir dentro de tabela da forma que quero

<?php

$senha="FUJAM TODOS FOMOS DESCOBERTOS";
$numero_string= strlen($senha);
$variavel = explode(" ", $senha);

/*echo $variavel[0];*/

$result = $variavel[0];

?>
<html>
<head>
    <title></title>
</head>
<body>
    <table> 
    
        <?php for ($i =0; $i <=$numero_string; $i++) {
            echo "$senha[$i]<br>";    
        }?>

</body>
</html>

 

Edited by Alaerte Gabriel
Adição da tag CODE

Share this post


Link to post
Share on other sites

Você tem que contar o array com o count após ele ser explodido e não a quantidade de caracteres. A variável $senha não é um array, ela apenas contém a quantidade de caracteres da string. Seu array é o $variavel.

  • +1 1

Share this post


Link to post
Share on other sites
7 minutos atrás, Alaerte Gabriel disse:

Você tem que contar o array com o count após ele ser explodido e não a quantidade de caracteres. A variável $senha não é um array, ela apenas contém a quantidade de caracteres da string. Seu array é o $variavel.

<?php

$senha="FUJAM TODOS FOMOS DESCOBERTOS";
$variavel = explode(" ", $senha);
$contavel = count($variavel);
/*echo $variavel[0];*/

$result = $variavel[0];

?>
<html>
<head>
	<title></title>
</head>
<body>
	<table> 

		<?php for ($i =0; $i <=$contavel; $i++) {
			echo "$variavel[$i]<br>";	
		}?>

</body>
</html>

Fiz dessa forma, porém o resultado ficou:

 

 

FUJAM
TODOS
FOMOS
DESCOBERTOS

 

 

Mas procuro que fique assim:

 

F A

U M 

J T

 

Desculpe, estou com dificuldade

 

 

 

Share this post


Link to post
Share on other sites

Se vai ter no máximo três linhas...

 

$string = 'FUJAM TODOS FOMOS DESCOBERTOS';
$string = str_replace(' ', '', $string);
$qtdString = strlen($string);

$tabela = [
          'linhaUm'   => '',
          'linhaDois' => '',
          'linhaTres' => ''
        ];

$linha = 0;

for ($contador = 0; $contador <= $qtdString; $contador++) {
    
    if ($linha == 0) {
        $tabela['linhaUm']   .= "<td>$string[$contador]</td>";
    } elseif ($linha == 1) {
        $tabela['linhaDois'] .= "<td>$string[$contador]</td>";
    } elseif ($linha == 2) {
        $tabela['linhaTres'] .= "<td>$string[$contador]</td>";
    }
    $linha++;
    if ($linha % 3 == 0) { $linha = 0; }
}
echo '<table border="1">';
echo '<tr>' . $tabela['linhaUm'] . '</tr>';
echo '<tr>' . $tabela['linhaDois'] . '</tr>';
echo '<tr>' . $tabela['linhaTres'] . '</tr>';
echo '</table>';

A saída sera:

F     A   O    S    M    D   C    E   O
U    M   D    F    O    E    O    R    S
J    T    O    O    S    S    B    T    

Share this post


Link to post
Share on other sites
32 minutos atrás, EdCesar disse:

Se vai ter no máximo três linhas...

 


$string = 'FUJAM TODOS FOMOS DESCOBERTOS';
$string = str_replace(' ', '', $string);
$qtdString = strlen($string);

$tabela = [
          'linhaUm'   => '',
          'linhaDois' => '',
          'linhaTres' => ''
        ];

$linha = 0;

for ($contador = 0; $contador <= $qtdString; $contador++) {
    
    if ($linha == 0) {
        $tabela['linhaUm']   .= "<td>$string[$contador]</td>";
    } elseif ($linha == 1) {
        $tabela['linhaDois'] .= "<td>$string[$contador]</td>";
    } elseif ($linha == 2) {
        $tabela['linhaTres'] .= "<td>$string[$contador]</td>";
    }
    $linha++;
    if ($linha % 3 == 0) { $linha = 0; }
}
echo '<table border="1">';
echo '<tr>' . $tabela['linhaUm'] . '</tr>';
echo '<tr>' . $tabela['linhaDois'] . '</tr>';
echo '<tr>' . $tabela['linhaTres'] . '</tr>';
echo '</table>';

A saída sera:

F     A   O    S    M    D   C    E   O
U    M   D    F    O    E    O    R    S
J    T    O    O    S    S    B    T    

 

Exatamente isso que eu precisava.

for ($contador = 0; $contador <= $qtdString; $contador++) {
    
    if ($linha == 0) {
        $tabela['linhaUm']   .= "<td>$string[$contador]</td>";
    } elseif ($linha == 1) {
        $tabela['linhaDois'] .= "<td>$string[$contador]</td>";
    } elseif ($linha == 2) {
        $tabela['linhaTres'] .= "<td>$string[$contador]</td>";
    }
    $linha++;
    if ($linha % 3 == 0) { $linha = 0; }
}

Nessa parte eu me perdi, se eu apagar os dois else if, irá apresentar a primeira linha apenas, com os seguintes caracteres "F     A   O    S    M    D   C    E   O" , no caso o controle de quantidade de linha está sendo feito pelo ultimo if? 

Share this post


Link to post
Share on other sites
19 minutos atrás, juniorquadros disse:

 


for ($contador = 0; $contador <= $qtdString; $contador++) {
    
    if ($linha == 0) { 
        $tabela['linhaUm']   .= "<td>$string[$contador]</td>"; /* Aqui simplesmente crio as colunas da primeira linha */
    } elseif ($linha == 1) { 
        $tabela['linhaDois'] .= "<td>$string[$contador]</td>"; /* Aqui simplesmente crio as colunas da segunda linha */
    } elseif ($linha == 2) {
        $tabela['linhaTres'] .= "<td>$string[$contador]</td>"; /* Aqui simplesmente crio as colunas da terceira linha */
    }
    $linha++;
    if ($linha % 3 == 0) { $linha = 0; } /* Não eram três linha? Então quando passar de três (linha mod 3), 
                                           eu volto para a primeira linha ($linha = 0) e crio uma nova coluna. */
}

 

 

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 fideles
      Pessoal, tenho uma dúvida, talvez muito boba.
       
      Tenho um formulario com os input em array, e um alert javascript mostrando que foi registrado com suceso.
       
      O problema maior é que se for gravado 30 registro no banco de dados, ele mostra 30 alertas de registro gravado com suceso, por acaso é possivel limitar esse tanto de alerta para somente 1 independente da quantidade que ele grava no banco ?
    • By violin101
      Caros amigos, saudações...
       
      Desculpa em recorrer ao auxílio dos amigos.
       
      Como consigo realizar ORDENAÇÃO de Tabela usando Radio button ?

      por Exemplo:
      ordenar por: [ ]Código  ou  [ ]Descrição.
       
      Grato,
       
      Cesar
    • By Sapinn
      Como mudar o cor da letra de um active em um menu no boostrtrap
       
      <nav class="navbar navbar-expand-lg navbar-light bg-light">         <div class="container">           <a class="navbar-brand" href="#">             <img src="icone.png" height="60px" alt="Logo">           </a>           <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">             <span class="navbar-toggler-icon"></span>           </button>                  <div class="collapse navbar-collapse d-lg-flex justify-content-end" id="navbarSupportedContent" style="font-size: 20px;">             <ul class="navbar-nav" >               <li class="nav-item active" >                 <a class="nav-link" href="#">Inicio</a>               </li>               <li class="nav-item" >                 <a class="nav-link" href="#">Login</a>               </li>               <li class="nav-item">                 <a class="nav-link" href="#">Aluno</a>               </li>               <li class="nav-item">                 <a class="nav-link" href="#">Professor</a>               </li>               <li class="nav-item">                 <a class="nav-link" href="#">Fale Conosco</a>               </li>             </ul>           </div>                </div>       </nav>  
    • By Diego-SLP
      Bom dia,
       
      Estou fazendo uma tela de relatorios de registro de ponto e não estou conseguindo totalizar as horas conforme trago do banco de dados, se alguem puder me ajudar.
       
      SELECT p.cod_obra,f.nome,o.obra, TIME_FORMAT(SEC_TO_TIME(SUM(TIME_TO_SEC(p.totalhora))),'%H:%i') AS hora, TIME_FORMAT(SEC_TO_TIME(SUM(TIME_TO_SEC(p.totalhoraextra))),'%H:%i') AS horaextra, f.funcao FROM rh_pontoFuncionario p, rh_funcionario f, rh_obra o WHERE p.data BETWEEN '2020/10/01' AND '2020/11/20' AND p.cod_obra = '20056' AND p.cod_func = f.cod AND p.cod_obra = o.cod GROUP BY p.cod_obra, f.nome Essa query me traz COD_OBRA,NOME,OBRA,HORA,HORAEXTRA,FUNCAO e eu gostaria de TOTALIZAR o campo HORA e HORAEXTRA somando todas as linhas mas não consigo
×

Important Information

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