Beh, allora possiamo passare ai livello successivi!
Innanzitutto bisogna leggere i nuovi parametri
frequenza e
codifica che hai aggiunto al
form HTML. Questi li mettiamo subito dopo marca, numero e colore dei tasti. Poi bisogna intervenire sulla condizione dell'
if in modo da aggiungere una condizione per ciascun filtro. Complessivamente diventa così:
Codice PHP:
<?php
$marca = isset($_GET['marca']) && !empty($_GET['marca']) ? strtolower($_GET['marca']) : 'any';
$numero_tasti = isset($_GET['numero_tasti']) && !empty($_GET['numero_tasti']) ? strtolower($_GET['numero_tasti']) : 'any';
$colore_tasti = isset($_GET['colore_tasti']) && !empty($_GET['colore_tasti']) ? strtolower($_GET['colore_tasti']) : 'any';
$frequenza = isset($_GET['frequenza']) && !empty($_GET['frequenza']) ? strtolower($_GET['frequenza']) : 'any';
$codifica = isset($_GET['codifica']) && !empty($_GET['codifica']) ? strtolower($_GET['codifica']) : 'any';
$items = file('files/telecomandi2.txt', FILE_IGNORE_NEW_LINES);
$results = [];
foreach ($items as $record) {
$data = explode('|', $record);
if (($marca === 'any' || strtolower($data[0]) == $marca)
&& ($numero_tasti === 'any' || strtolower($data[4]) == $numero_tasti)
&& ($colore_tasti === 'any' || strtolower($data[5]) == $colore_tasti)
&& ($frequenza === 'any' || strtolower($data[6]) == $frequenza)
&& ($codifica === 'any' || strtolower($data[7]) == $codifica)
) {
$results[] = [
'marca' => $data[0],
'modello' => $data[1],
'link' => $data[2],
'immagine' => $data[3],
'numero_tasti' => $data[4],
'colore_tasti' => $data[5],
'frequenza' => $data[6],
'codifica' => $data[7]
];
}
}
header('Content-Type: application/json');
echo json_encode($results);
?>
Se non dovesse funzionare al primo colpo, cosa ahimè sempre possibile, puoi provare a commentare le righe dei filtri e decommenntarle una alla volta (tranne la prima che abbiamo verificato funzionare) finché non trovi il colpevole:
Codice PHP:
if (($marca === 'any' || strtolower($data[0]) == $marca)
// && ($numero_tasti === 'any' || strtolower($data[4]) == $numero_tasti)
// && ($colore_tasti === 'any' || strtolower($data[5]) == $colore_tasti)
// && ($frequenza === 'any' || strtolower($data[6]) == $frequenza)
// && ($codifica === 'any' || strtolower($data[7]) == $codifica)
) {