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 Ewfc2005
      Gostaria de saber como eu devo fazer para alinhar 3 imagens lado a lado, sem fazer o site deixar de ser responsivo.
      que fique igual ao desse site
       
      https://ciesalon.com/
       
    • By Vinicius Bazan
      Sou leigo ainda no Java Script e não manjo de muita coisa ainda, eu preciso fazer uma função que que deve ser executada na pagina HTML, eu crio a função dentro da tag <script> na <head> do html, mas como eu chamo essa função no momento que eu precisar no <body>, o que eu devo digitar pro código saber que ali deve executar a função?
    • By Alandeoli
      Boa noite Pessoal!
       
       
      Estou criando uma tela de login, e passando os dados para uma pagina que vai se conectar ao AD, mas mesmo eu colocando os campos em branco a conexão esta passando como ok, segue os códigos se puderem me ajudar agradeço muito!
       
      Tela conexao:
       
      <?php   $adServer = "ldap://xxx.xxxx.xx.xx";   $ldap = ldap_connect($adServer); $username = $_POST['user']; $password = $_POST['pass'];   $ldaprdn = 'XXX' . "\\" . $username;   ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);   $bind = @ldap_bind($ldap, $ldaprdn, $password);   if($bind=true)   {   echo "conexão ok";     } else   {   echo "erro";     }   Tela Login:   <!DOCTYPE html> <html lang="pt-br"> <link href='css/login.css' rel='stylesheet' />


        <head> <meta charset="UTF-8"> <title>Tela de Login e Senha</title> </head>   <body> <div name="login" id="login"> <div name="box" id="box"> <form method="POST" action="ad.php" name="form"> Login : <input type="text" name="user" id="user"><br><br> Senha : <input type="password" name="pass" id="pass"><br><br> <input type="submit" value="Login" id="button"> </form> </div> </div>   </body>   </html>                                
    • By dutopfave
      Boa Tarde Galera, tenho um sistema de etiqueta que nele vai também código de barras, quando eu mostro na tela, funciona perfeitamente, mais quando gero pra pdf, com a biblioteca mPDF, da erro,  e é justo o código de barras q da esse erro, oq pode ser sera, segue o código de como ta:
       
      <?php require '../../Connections/config.php'; include "../Classes/funcoes.php"; include "cod.php"; $largura = 140; $altura = 130; include("mpdf60/mpdf.php"); // INICIO RECUPERA O ID DA ETIQUETA IMPORTADA $Row_Id_Etiqueta = addslashes($_GET['id_etiqueta']); $Recuperacao_Etiqueta = $pdo->prepare("SELECT * FROM tb_sys_etiqueta WHERE e_id = :e_id"); $Recuperacao_Etiqueta->bindValue(":e_id", $Row_Id_Etiqueta); $Recuperacao_Etiqueta->execute(); if($Recuperacao_Etiqueta->rowCount() > 0){ $Row_Recuperacao_Etiqueta = $Recuperacao_Etiqueta->fetch(); } // FIM RECUPERA O ID DA ETIQUETA IMPORTADA $id_etiqueta = $_GET['id_etiqueta']; $Lista_Etiqueta = "SELECT * FROM tb_sys_etiqueta WHERE e_id = '$id_etiqueta'"; $Lista_Etiqueta = $pdo->query($Lista_Etiqueta); if($Lista_Etiqueta->rowCount() > 0){ $etiqueta_id = $Lista_Etiqueta->fetch(); $qtd = $etiqueta_id['e_volume'] + 1; $qtd2 = $etiqueta_id['e_volume']; for ($i>0; $i<$qtd; $i++) { if($i>$etiqueta_id['e_pagina']){ // verificar se a pagina é menor que 10 if($i<10){ $n = '0'; }else{ $n = ''; } // verificar se a quantidade é menor que 10 if($etiqueta_id['e_volume']<10){ $nq = '0'; }else{ $nq = ''; } $html .= '<div class="etiqueta"> <div class="etiqueta-topo"> <img src="../images/logo.fw.png" width="116" height="52"> </div> <div class="etiqueta-empresa"> <div class="etiqueta-empresa-left"> <h1>GYN</h1> </div> <div class="etiqueta-empresa-right"> <h1>VOL: '.$n.''.$i.'/'.$nq.''.$qtd2.'</h1> </div> </div> <div class="etiqueta-endereco"> <div class="etiqueta-endereco-left"> <span><b>Remetente:</b></span><br/> <span>'.$etiqueta_id['e_remetente'].'</span><br/><br/> <span><b>Destinatário:</b></span><br/> <span>'.$etiqueta_id['e_destinatario'].'</span> </div> <div class="etiqueta-endereco-right"> '.geraCodigoBarra('232323232323').' <br /> '.$etiqueta_id['e_codigo_barras'].' <p>Goiânia/GO</p> </div> </div> </div>'; } } } $mpdf = new mPDF('utf-8', array($largura,$altura)); $css = file_get_contents("css/estilo.css"); $mpdf->WriteHTML($css,1); $mpdf->WriteHTML($html); $mpdf->Output(); exit;  
      a função pra gera o código de barras: cod.php
       
      <?php function geraCodigoBarra($numero){ $fino = 1; $largo = 3; $altura = 50; $barcodes[0] = '00110'; $barcodes[1] = '10001'; $barcodes[2] = '01001'; $barcodes[3] = '11000'; $barcodes[4] = '00101'; $barcodes[5] = '10100'; $barcodes[6] = '01100'; $barcodes[7] = '00011'; $barcodes[8] = '10010'; $barcodes[9] = '01010'; for($f1 = 9; $f1 >= 0; $f1--){ for($f2 = 9; $f2 >= 0; $f2--){ $f = ($f1*10)+$f2; $texto = ''; for($i = 1; $i < 6; $i++){ $texto .= substr($barcodes[$f1], ($i-1), 1).substr($barcodes[$f2] ,($i-1), 1); } $barcodes[$f] = $texto; } } echo '<img src="../images/p.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/b.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/p.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/b.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img '; $texto = $numero; if((strlen($texto) % 2) <> 0){ $texto = '0'.$texto; } while(strlen($texto) > 0){ $i = round(substr($texto, 0, 2)); $texto = substr($texto, strlen($texto)-(strlen($texto)-2), (strlen($texto)-2)); if(isset($barcodes[$i])){ $f = $barcodes[$i]; } for($i = 1; $i < 11; $i+=2){ if(substr($f, ($i-1), 1) == '0'){ $f1 = $fino ; }else{ $f1 = $largo ; } echo 'src="../images/p.gif" width="'.$f1.'" height="'.$altura.'" border="0">'; echo '<img '; if(substr($f, $i, 1) == '0'){ $f2 = $fino ; }else{ $f2 = $largo ; } echo 'src="../images/b.gif" width="'.$f2.'" height="'.$altura.'" border="0">'; echo '<img '; } } echo 'src="../images/p.gif" width="'.$largo.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/b.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/p.gif" width="1" height="'.$altura.'" border="0" />'; } ?>  
    • By Cesar Melo
      Olá. Gostaria de uma opinião sobre onde focar meus estudos para trabalhar com PHP.
      Atualmente tenho conhecimentos com a linguagem PHP, e os seguintes frameworks: Bootstrap e Jquery.
      Recentemente fiz um curso de Laravel+materialize e gostei muito desse framework. Meu primeiro contato com framework para backend e pretendo utilizar o Laravel daqui pra frente nos meus estudos.
       
      Minha questão é a seguinte, quero dar continuidade aos meus estudos para me qualificar para o mercado de trabalho, mas não sei exatamente os próximos cursos que vou estudar.
      Não sei se atualmente há uma combinação de frameworks mais utilizada ou requisitada no mercado de trabalho. Ex: Laravel+vue+bootstrap, ou laravel+angularjs+materialize, tipo isso.
       
      Dei uma pesquisada no google e youtube, e notei que não há muito conteúdo de cursos por exemplo de Laravel+angularjs.
      Procurando algumas vagas de emprego, notei que há grande procurar para profissionais com qualificação em Laravel, e tambem grande procura para profissionais com qualificação em AngularJs, porém vagas distintas. Acho que não vi nenhuma vaga que peça Laravel+AngularJs.
       
      Alguém aí pode me passar uma visão ou dar sua opinião sobre isso, para eu focar meus estudos? Alguém sabe o que andam usando bastante? Ou que seja indicado de trabalhar em conjunto com PHP?
       
      Ah, uma observação... atualmente meu foco são de projetos voltados para sistemas, admin, etc. Não tenho muito perfil para projetos de marketing ou que exijam um frontend "lindo". rsrs.
       
      Grato...
×

Important Information

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