Ir para conteúdo

Arquivado

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

empirerock

Como pegar uma linha de uma string de um campo text do banco mysql

Recommended Posts

Boa tarde.

Tenho um texto dentro de um campo do tipo texto no banco mysql.

Gostaria de caputrar a data que está na terceira linha, usando um script php que está mais abaixo, porém este código meu não dá certo, pois o nome pode ser diferente, sendo assim mudando o tamanho da string.

Eu queria saber como capturar a string da terceira linha.

 

Como mostrado abaixo:

 

Citar

Histórico: OP editada por: Edecleber Borges
Ordem: 90384
Data Alteração: 14-06-2017 15:20:53
Item: 20225
Planejador: IKS-0
Quantidade: 60
Situação: MT
Status: Fechada

 

 

Script que estou utilizando:

Citar

 

$id = 90384;

$sql = mysql_query ("SELECT * FROM `dia_log` WHERE log_op = '$id' ORDER BY id desc LIMIT 1 ");


while($r = mysql_fetch_array($sql)){ 
$data = $r['log'];

echo $rest2 = substr($data, 79, -101);

}

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Histórico: OP editada por: Edecleber Borges,
Ordem: 90384,
Data Alteração: 14-06-2017 15:20:53,
Item: 20225,
Planejador: IKS-0,
Quantidade: 60,
Situação: MT,
Status: Fechada,

Poem uma vírgula no final de cada linha como no exemplo acima

aí você faz assim:

$rest2 = explode(",",$data);
echo $rest2[2];
$rest2[0] vai armazenar Histórico: OP editada por: Edecleber Borges
$rest2[1] vai armazenar Ordem: 90384
$rest2[2] vai armazenar Data Alteração: 14-06-2017 15:20:53

e assim por diante, utilizando explode() você vai conseguir separar tudo a partir do ponto que você quiser, como no exemplo utilizando a vírgula, mas pode ser qualquer outro caractere.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno, deu certo.

Em vez da virgula, eu coloquei o <br> que já tinha, para fazer pular a linha.

Aí coloquei dessa forma para conseguir capturar a data que precisava.

Obrigado Bruno. 

 

Citar

$rest2 = explode("<br>",$data);
    $rest3 = $rest2[2];
    echo $rest4 = substr($rest3, 18, -9);

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por José Roberto Redígolo
      Prezados,
      Sou iniciante em PHP e tenho uma dúvida que não consegui sanar na internet. Tenho um programa externo que me dá o seguinte retorno:
      decoding from Base64:  QNVqRQGAAQAyKVlWDC2Za5A6
      Decoded packet
      --------------
      Message Type = Data
                  PHYPayload = 40D56A4501800100322959560C2D996B903A
                ( PHYPayload = MHDR[1] | MACPayload[..] | MIC[4] )
                        MHDR = 40
                  MACPayload = D56A4501800100322959560C2D
                         MIC = 996B903A (OK)
                ( MACPayload = FHDR | FPort | FRMPayload )
                        FHDR = D56A4501800100
                       FPort = 32
                  FRMPayload = 2959560C2D
                   Plaintext = 48656C6C6F ('Hello')
                      ( FHDR = DevAddr[4] | FCtrl[1] | FCnt[2] | FOpts[0..15] )
                     DevAddr = 01456AD5 (Big Endian)
                       FCtrl = 80
                        FCnt = 0001 (Big Endian)
                       FOpts =
                Message Type = Unconfirmed Data Up
                   Direction = up
                        FCnt = 1
                   FCtrl.ACK = false
                   FCtrl.ADR = true
             FCtrl.ADRACKReq = false
       
      Preciso colocar o valor de Plaintext e o valor de DevAddr em uma variável. Preciso apenas dos valores em hexadecimal. Alguém tem algum exemplo de como fazer isso?
      Desde já agradeço.
      Zé Roberto
    • Por anderh
      Tenho uma variável com uma string assim:
      "Qualquer texto de qualquer tamanho.Palavras65.00002020-05-26" e/ou "Qualquer texto de qualquer tamanho.Qualquercoisa127.00002020-05-26"
      Preciso pegar deles o "65.0000" e o "127.0000", respectivamente, com a dica de que esses substr são números, não sei se ajuda.
      Alguém já resolveu algo assim? Pesquisei substr mas não tive sucesso.
      Agradeço!
    • Por Luccas Gaulia
      Ola Pessoal,
       
      Queria fazer o seguinte, uma variável que possa dividir em duas partes:
      $var1 = "pro_dados" (Antes), não sei qual função
      $var2 = "id=2" (Depois), essa já fiz com substr
      $link = "pro_dados?id=2"; $page = AQUI!!!!, preciso de uma função que deixe apenas "pro_dados"; $page_list = substr(strrchr($page, "?"), 0); $filename = $page . '.php' . $page_list; include $filaname;  
    • Por jecastro
      Pessoal,
      Estou tentando realizar a inserção de um espaço em branco dentro de uma String, mas não consigo, já tentei com Decode, com case, sempre dá algum erro.

      A regra seria a seguinte, tem uma matricula que pode receber numeros e letras. Só que as 4 primeiras teriam que ser separadas, não necessariamente precisando ter 4, mas nestes casos teria esse espaço em branco, em casos que existam as 4, pode continuar normal. Apos esses 4, começa, por padrão com um CD472343492843, sempre.

      Exemplo: EUSACD9484304934
                        EUA  CD9843274329

      Mas não consigo, já tentei pegar a SUBSTR e inserir. O código que eu fiz, seria mais ou menos assim:
       
      DECODE(SUBSTR(MATR.MATRICULAS_ID, 1,5) LIKE 'CD%',
      SUBSTR(MATR.MATRICULAS_ID, 1, 5) ||' '|| SUBSTR(MATR.MATRICULAS_ID, 6, LENGTH(MATR.MATRICULAS_ID)))

      Alguém tem uma forma de fazer isso com case, com o decode, aceito qualquer um. rs. Obrigada!
       
       
    • Por Carlos Pedro
      Bom dia a todos , agradeço a ajuda , tenho um problema estou recebendo um site externo via CURL , ate ai tudo bem , o problema é que recebo em uma string que preciso formatar e ao usar o SUBSTR para formatar ele esta recortando o texto muito depois da posição correta, segue o codigo que estou usando :
       
      class replace { private $html; private $header; private $body; function __construct($html) { $this->html = $html; } function TagIniNum() { $stringIni = addslashes('<head>'); $Ini = strpos($this->html, $stringIni); return $Ini; } function TagFimNum(){ $stringFim = addslashes('</head>'); $Fim = strpos($this->html, $stringFim); // o corte esta ficando em lugar errado CORRIGIR return $Fim; } function Corte() { $TxtCort = mb_substr($this->html, $this->TagIniNum(), $this->TagFimNum()); echo $TxtCort; } } e este é parte do conteudo da variavel $html
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1; cache" /> <title>Consulta D&eacute;bitos de Ve&iacute;culo</title> <link href="/site/js/jQuery/css/estilo.css" rel="stylesheet" type="text/css" /> <link href="/site/js/jQuery/css/ui-lightness/jquery-ui-1.10.3.min.css" rel="stylesheet" type="text/css"> <script type="text/JavaScript" src="/site/js/jQuery/jquery-1.10.2.min.js"></script> <script type="text/JavaScript" src="/site/js/jQuery/js/jquery-ui-1.10.3.min.js"></script> <script type="text/JavaScript" src="./js/simpleCaptcha.js?ver=1.8"></script> <script type="text/JavaScript" src="/site/js/captcha.js?ver=1.8"></script> </head> <body> <form name="form" action="./consulta.php" method="post"> <div id="dialog" title=""></div> Como quero recortar os texto contido entre as tag's header do html ele executa o recorte muitos caracteres apos a tag de fechamento, já tentei trabalhar diretamente com a variavel transformada com htmlentities e/ou usando o MB_SUBSTR e o resultado é o mesmo o corte sempre acontece muito apos a tag de final que é </header>.
×

Informação importante

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