The trip to Walmart was supposed to be fun: An excuse for David Johnson and his wife Kathy to take their 9-year-old granddaughter, Katie Melendez, to pick out some new outfits that she had had her eye on.
Instead, Saturday's outing ended in horror when a gunman opened fire at the El Paso, Texas, store, killing 22 people. Johnson — who relatives say was always willing to do anything for his family — was among those killed.
The gunshots rang out as the three were checking out at the cash register. Johnson, 63, immediately moved to protect his wife and granddaughter, his daughter, Stephanie Melendez, told NBC News, and died using his body as a shield against the bullets that were torpedoing toward them. Kathy Johnson and Katie, who is Melendez's daughter, escaped unscathed.
"He pushed them down underneath to hide," Melendez, 31, said. "That's something he would have done without a thought. That's just him."
Johnson, of El Paso, did lighting installation, and often worked long days, said Melendez, who also lives in El Paso. But that never kept him from volunteering to help Melendez — a stepdaughter who he officially adopted after he married her mother 26 years ago.
A day before the shooting, Melendez reached out to Johnson because her car had a flat tire. She said even though Johnson had just finished a long shift, he drove her "all over El Paso, picking up my girls even though he was tired. That was just the kind of guy he was."
Dominic Patridge, a nephew of Johnson's, said the family is traumatized and heartbroken, and in awe of the sacrifice Johnson made. He said Johnson was shot three times.
"He's a hero," Patridge said. "He always put everyone before him, till the day he died."
Other victims of the massacre included Jordan Anchondo, a 25-year-old woman killed while shielding her 2-month-old baby. Anchondo's husband, Andre Anchondo, also died in the shooting.
Details were still emerging about the other victims who were killed at the shopping centre close to the U.S.-Mexican border. At least seven of the victims were Mexican citizens; Mexico's secretary of foreign affairs identified them as Sara Esther Regalado of Ciudad Juarez; Adolfo Cerros Hernández of Aguascalientes; Jorge Calvillo García of Torreon, Coahuila; Elsa Mendoza de la Mora of Yepomera, Chihuahua; Gloria Irma Márquez Juárez of Ciudad Juarez; María Eugenia Legarreta Rothe of the city of Chihuahua; and Ivan Filiberto Manzano of Ciudad Juarez.
Among the American citizens killed were a 15-year-old boy named Javier Amir Rodriguez. The Associated Press reported that the teen played soccer through the Express Futbol Club, a co-ed soccer club, which was planning a charity game to help his family.
Other Americans killed included Arturo Benavides, an Army veteran and retired Sun Metro, transit operator; Angelina Englisbee, an 86-year-old whose granddaughter told the New York Times that she loved watching sports and "General Hospital"; Margie Reckard, 67, whose partner of 22 years, Antonio Basco, confirmed her death to NBC News; and a married couple, Leonardo Campos and Maribel Hernandez.
Hernandez's brother, Al, told CNN affiliate KFOX-TV that the couple had just dropped their dog off at a dog groomer before going to Walmart. He said their family did not realize anything was amiss until the groomer called them, saying the couple had not returned for the dog.