Foros del Web » Programando para Internet » PHP »

Consulta, generar ID usando un nombre de cliente

Estas en el tema de Consulta, generar ID usando un nombre de cliente en el foro de PHP en Foros del Web. Hola comunidad, soy novato con el php (me dedico a front-end) y quisiera saber si me pueden ayudar a resolver una duda; resulta que necesito ...
  #1 (permalink)  
Antiguo 13/07/2018, 14:13
 
Fecha de Ingreso: agosto-2010
Mensajes: 7
Antigüedad: 7 años, 11 meses
Puntos: 0
Consulta, generar ID usando un nombre de cliente

Hola comunidad, soy novato con el php (me dedico a front-end) y quisiera saber si me pueden ayudar a resolver una duda; resulta que necesito un codigo php para un script propio que tengo, el ejemplo de lo que necesito seria algo asi:

Resulta que en un archivo .txt guardo varias filas con el siguiente formato:
Código:
id="" nombre="Nombre Cliente" categoria="abc"
Y lo que necesito es que el campo id se complete con el nombre de cliente, quitando los espacios y añadiendo unas letras al final, osea el id deberia quedar algo asi: "NombreCliente"+".com" donde lo único variable sería el "NombreCliente"

Código:
id="MiguelCastillo.com" nombre="Miguel Castillo" categoria="abc"
Actualmente lo hago asi, y si un dia se agregar un nuevo cliente le agrego manualmente su respectivo str_replace

Código PHP:
<?php 
        $str
=file_get_contents('../clientes.txt');
        
//Para cada cliente hago así
        
$str=str_replace('id="" nombre="Miguel Castillo"''id="MiguelCastillo.com" nombre="Miguel Castillo"',$str);
        
//Guarda todos los cambios en un nuevo archivo
        
file_put_contents('../lista.data'$str);
?>
Espero me halla explicado bien y me puedan orientar o ayudar con el php necesario para lograrlo.

Gracias de antemano

PD: Uso txt porque es un archivo que puede tener variaciones diariamente asi que por eso no uso BD, ademas que ese archivo luego lo paso a otro formato para poder usarlo en el script.
  #2 (permalink)  
Antiguo 13/07/2018, 14:28
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.912
Antigüedad: 5 años
Puntos: 358
Respuesta: Consulta, generar ID usando un nombre de cliente

Y cual se dupone que es la duda ?
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 13/07/2018, 14:40
 
Fecha de Ingreso: agosto-2010
Mensajes: 7
Antigüedad: 7 años, 11 meses
Puntos: 0
Respuesta: Consulta, generar ID usando un nombre de cliente

Cita:
Iniciado por hhs Ver Mensaje
Y cual se dupone que es la duda ?
Quisiera saber que codigo parecido puedo usar que recorra todo el .txt y haga el codigo automaticamente ya que este codigo
Código PHP:
$str=str_replace('id="" nombre="Miguel Castillo"''id="MiguelCastillo.com" nombre="Miguel Castillo"',$str); 
si bien funciona, me toca a mi buscar las líneas nuevas y yo crearle su replace, por eso quisiera que me recomienden un código que copie el campo nombre para llenar el campo id fila por fila.
  #4 (permalink)  
Antiguo 13/07/2018, 16:10
Avatar de emilio_viguri  
Fecha de Ingreso: junio-2011
Ubicación: Mexico
Mensajes: 97
Antigüedad: 7 años, 1 mes
Puntos: 2
Respuesta: Consulta, generar ID usando un nombre de cliente

utilizar explode() PHP para separar las cadenas y así generar lo que necesitas !?
__________________
Ing. Emilio Viguri de NEXCEN Visitamos en lo que podamos ayudarte.
  #5 (permalink)  
Antiguo 13/07/2018, 16:52
 
Fecha de Ingreso: abril-2006
Mensajes: 62
Antigüedad: 12 años, 2 meses
Puntos: 6
Respuesta: Consulta, generar ID usando un nombre de cliente

te sugeriria para que veas otras alternativas o formatos guardar esa informacion en TXT,
INI files
JSON files

al tener funciones en el "core" php, estas son un poco mas rapidas
  #6 (permalink)  
Antiguo 13/07/2018, 18:47
 
Fecha de Ingreso: agosto-2010
Mensajes: 7
Antigüedad: 7 años, 11 meses
Puntos: 0
Respuesta: Consulta, generar ID usando un nombre de cliente

Cita:
Iniciado por emilio_viguri Ver Mensaje
utilizar explode() PHP para separar las cadenas y así generar lo que necesitas !?
Justo eso he realizado amigo

Código PHP:
<?php
//Lee el txt
$text=file_get_contents('BD.txt');

function 
multiexplode ($delimiters,$string)
{
    
$ready str_replace($delimiters$delimiters[0], $string);
    
$launch explode($delimiters[0], $ready);
    return  
$launch;
}

list(
$d1$d2$d3$d4) = multiexplode(array('"|','|"'),$text);
//Imprime los valores d1 (solo imprime campo vacio) y los valores de d2 (solo imprime Miguel Castillo)
print_r($d2);
print_r("<br>");
print_r($d4);
?>
Ese es el código que lee el txt y me muestra el d2 (campo id, q en este caso esta vacio) y d4 que es el campo que tiene el nombre que quiero usar

¿Cómo haría ahora para agregarle el contenido del campo "d4" al campo "d2" y quitarle los espacios?

Gracias de antemano

PD: Disculpen que soy muy novato



La zona horaria es GMT -6. Ahora son las 00:58.