Salve a tutti
questo e' veramente complicato (almeno per me)
ho un motore di ricerca in ajax che fa il suo lavoro perfettamente, tramite una form inserisco i dati e poi viene passato il tutto su un'altra pagina che mi visualizza i risultati
la seconda pagina result_actor.php ha questa query
Codice PHP:
$_POST['input_nome']=trim($_POST['input_nome']); // funzione per eliminare spazi vuoti
$value = $_POST["input_nome"];
$query = mysql_query ("SELECT *
FROM actor WHERE (nome LIKE '%" . $value . "%')
OR (performer_aka LIKE '%" . $value . "%')
OR (career_status LIKE '%" . $value . "%')
OR (start LIKE '%" . $value . "%')
OR (end LIKE '%" . $value . "%')
", $db);
quello che vorrei e prelevare i dati da altre 2 tabelle in cui il tutto e' stato processato con regex (vedi post precedenti)
prima tabella da prelevare i dati ed inserli nella query e' ptgweb, campo alias
Alias: Alex, Dylan, Jack, Dylan
Alias: dovrebbe essere tolto
codice usato per estrarre i dati
Codice PHP:
<?php
$haystack = $row->alias;
preg_match('#<strong><span class="bleutitle">Alias:</span>(.*?)</strong>#', $haystack, $matches);
$data = explode(',', $matches[1]);
$data = array_filter(array_unique(array_map('trim', $data)));
natsort($data);
//echo '<b>' . join(', ' , $data ) . '</b>'; disabilitato perche' e' presente echo alias sopra
echo "<br>\n";
echo '<font color="blue">' . '<b>' . count( $data ) . '</b>' . '</font>' . " alias were found.";
?>
seconda tabella da prelevare i dati e' ptgweb2, campo websites
codice usato per estrarre i dati by darbula
Codice PHP:
$haystack2 = $row->websites;
preg_match_all('#href=\"/out/website[^"]+\">(.*?)</a>#', $haystack2, $matches2); // fix by darbula
$data2 = $matches2[1];
$data2 = array_filter(array_unique(array_map('trim', $data2)));
natsort($data2);
echo '<b>' . join(', ' , $data2 ) . '</b>';
echo "<br>\n";
echo '<font color="blue">' . '<b>' . count( $data2 ) . '</b>' . '</font>' . " web were found.";
quindi ricapitolando, i risultati delle 2 tabelle estratte con regex devono essere presenti nella query, spero di essere stato chiaro