No, si può fare benissimo anche senza Database.
Si tratta di lavorare con Array multidimensionali.
Non ti spaventare.


Considera questo Array:
codice:
<?php

 $parcoauto = array(

   0 => 'ciao',
   1 => array('Fuoristrada', 'Lada', 'Niva', 'rosso'),
   2 => array('Utilitaria',  'FIAT', 'Panda', 'bianco'),
   3 => array('Utilitaria',  'Lancia', 'Y', 'verde'),
   4 => array('Sportiva',   'Lancia', 'Beta Montecarlo', 'rosso') //no virgola at ultimo

 );

?>
Alle varie posizioni (=>) ci sono gli articoli contenuti, senonché questi possono a loro volta essere degli altri Array.
Quindi, se con echo $parcoauto[0]; accedo-a e stampo ciao nella consueta via mono-dimensionale,
echo $parcoauto[1]; mi farebbe invece accedere all' Array 'Fuoristrada', 'Lada', 'Niva', 'rosso'
che tuttavia non posso stampare per intero con un semplice echo; lo potrei fare con la funzione print_r()
print_r($parcoauto[1]);

Ma quello che a noi ora interessa sapere, è che:

con $parcoauto[1][1]; accedo a Lada
con $parcoauto[2][0]; accedo a Utilitaria
e questi li posso pure stampare in echo. Stiamo gestendo un Array bi-dimensionale.

Quindi posso fare ciclare degli if dove se a posizione [0] nella seconda dimensione trovo Utilitaria allora faccio stampare anche tutti gli altri articoli dell' Array interno.
codice:
$cosacerco = 'Utilitaria';

for($i=1; $i<5; $i++){
 if($parcoauto[$i][0]==$cosacerco){
   echo 'Qui mi aspetto un altro ciclo for per stampare la/le righe
';
 };
};
$cosacerco mi dovrà venir valorizzata in $_POST o in $_GET al submit del form di ricerca.