Search for a word from Input in a TXT and find words that are in the same line in PHP

-3

TXT file example:

  

John; 1

     

Peter; 2

     

Marlon; 3

     

Lucas; 4

     

etc ...

Typing only the name in the Input precise the user ID appears,

Input example: Marlon

and when you enter only name in Input, show result in Echo or

Same .. appear:

  

Name: Marlon

     

ID: 3

If they can be very specific to the code, I'm a beginner ...

    
asked by anonymous 10.10.2018 / 18:08

1 answer

2

I would recommend that you work with a json file that is much more intuitive, at least in my opinion.

You can do the following:

$json = fopen("caminho do arquivo" . $nomedoseuarquivo . ".json", "w+"); 

//você cria um array na estrutura json
$meujson = array(
'ID'   => '1',
'nome'     => 'William',
);

//encoda o array criado anteriormente e deposita no arquivo  
fwrite($json, json_encode(meu_json));
fclose($json);

And to get this data you just have to use the json_decode

 //a função file_get_contents pega todo o conteúdo do seu arquivo e deposita na variável file
 $file = file_get_contents("caminho do seu arquivo" . nome do seu arquivo .".json");
 //decodo o conteudo de file e deposito na variável json 
 $json = json_decode($file);

From here the variable $json will be loading the contents of your file and you only have to search for the elements you want, a tip is you use the in_array function.

But if you want to opt for the traditional way, I've built an example of logic you can follow:

<?php

 $nome='oi';//Seria o conteúdo que está vindo do seu post

 //ESTOU LEVANDO EM CONSIDERAÇÃO QUE SEU ARQUIVO VAI ESTAR NA ESTRUTURA  
 //id-NOME E ACONSELHO QUE VOCÊ FAÇA O MESMO)
 $teste = array('2-oi','3-THAU'); //estou simulando oque o file_get_contents 
 //te retornaria

//Esse foreach vai percorrer toda a string que o file_get_contets retorna
foreach($teste as $x)
{

  //pego o id na minha string
  $id = strstr($x,"-",true);

  //echo $id;

  //retiro o id que coletei anteriormente da variável $teste e deposito o resultado na variável $aux
  $aux = str_replace($id,"",$teste);

  //Retiro agora o - que ficou em $aux e deposito em $aux2
  $aux2 = str_replace('-',"",$aux);

  //para vizualizar você não pode usar o echo pois se trata de uma string e não array
//print_r($aux2) ;

//Como se trata de uma string tenho que pegar uma posição, no caso estou verificando se o conteúdo de $nome existe no arquivo, se existir mostro o seu id
  if ($aux2[0] == $nome)
  {
     echo "elemento encontrado :) seu é id :$id";
  }
  else
  {
    echo 'erro';
   }

}

Of a searched in each function that I used so you also learn to use the facilities of PHP and if you want to test this excerpt that I created just play it on that site link

Links to give you a closer look:

in_array: link

json_decode: link

json_encode: link

Working with files in PHP: link

str_replace: link

strstr: link

    
10.10.2018 / 19:05