Buongiorno,
stò realizzando alcune pagine per degli annuni di lavoro, questo il codice:
Codice PHP:
<?php
// Ultimi annunci inseriti...
include("admin/include/function.paging.php");
$nomeTabellaLavoro = $tbl_prefix."lavoro";
$where = "";
isset($_REQUEST['cosa']) ? $tipoLavoro = mysql_real_escape_string($_REQUEST['cosa']) : $tipoLavoro = "";
isset($_REQUEST['cat']) ? $settoreLavoro = mysql_real_escape_string($_REQUEST['cat']) : $settoreLavoro = "";
isset($_REQUEST['luogo']) ? $luogoLavoro = mysql_real_escape_string($_REQUEST['luogo']) : $luogoLavoro = "";
if (!isset($cercaTrova))
isset($_REQUEST['cercaTrova']) ? $cercaTrova = mysql_real_escape_string($_REQUEST['cercaTrova']) : $cercaTrova = "offro";
// Categoria --- regione --- provincia...
if ((isset($nomeCat)) AND (strlen($nomeCat)>0))
{
$keyCatLav = ucfirst(stripslashes($datiCat['key_catl']));
$settoreLavoro = $keyCatLav;
}
if ((isset($nomeProv)) AND (strlen($nomeProv)>0))
$luogoLavoro = str_replace("a ","",$nomeProv);
// Luogo
if (strlen($luogoLavoro)>0)
{
echo("Luogo di lavoro cercato: [b]".$luogoLavoro."[/b]
");
$where = " WHERE provincia_azienda = '$luogoLavoro'";
}
// Settore...
if (strlen($settoreLavoro)>0)
{
if ((isset($nomeCat)) AND (strlen($nomeCat)>0))
echo("Settore di lavoro cercato: [b]".$nomeCat."[/b]
");
else
echo("Settore di lavoro cercato: [b]".$settoreLavoro."[/b]
");
// Se non e' numerico devo cercare la chiave associata...
if (!is_numeric($settoreLavoro))
{
$nomeTabellaSettore = $tbl_prefix."categorie_lavoro";
$queryCatLavoro = "SELECT * FROM $nomeTabellaSettore WHERE nome = '$settoreLavoro'";
$sqlCatLavoro = @mysql_query($queryCatLavoro);
if (($sqlCatLavoro) AND (mysql_num_rows($sqlCatLavoro)>0))
{
$datiSettore = mysql_fetch_array($sqlCatLavoro);
$keySettore = $datiSettore['key_catl'];
if (strlen($where) == 0)
$where = " WHERE settore_azienda = '$keySettore'";
else
$where .= " AND settore_azienda = '$keySettore'";
}
}
else
{
if (strlen($where) == 0)
$where = " WHERE settore_azienda = '$settoreLavoro'";
else
$where .= " AND settore_azienda = '$settoreLavoro'";
}
}
// Testo...
if (strlen($tipoLavoro)>0)
{
echo("Chiave di ricerca usata: [b]".$tipoLavoro."[/b]
");
if (strlen($where) == 0)
$where = " WHERE titolo_annuncio LIKE '%$tipoLavoro%' OR descrizione_lavoro LIKE '%$tipoLavoro%'";
else
$where .= " AND (titolo_annuncio LIKE '%$tipoLavoro%' OR descrizione_lavoro LIKE '%$tipoLavoro%')";
}
// Regione ...
if ((isset($nomeReg)) AND (strlen($nomeReg)>0))
if (strlen($where) == 0)
$where = " WHERE regione_azienda LIKE '%$nomeReg%'";
else
$where .= " AND (regione_azienda LIKE '%$nomeReg%')";
// Solo annunci attivi...
if (strlen($where) == 0)
$where = " WHERE attivo = '1'";
else
$where .= " AND (attivo = '1')";
echo("
");
if (isset($cercaTrova))
{
if (strlen($where) == 0)
$where = " WHERE cerco_offro = '".$cercaTrova."'";
else
$where .= " AND (cerco_offro = '".$cercaTrova."')";
}
$queryOfferteLavoro = "SELECT * FROM $nomeTabellaLavoro";
$queryOfferteLavoro .= $where;
$sqlLavoro = @mysql_query($queryOfferteLavoro);
if (($sqlLavoro) AND (mysql_num_rows($sqlLavoro)>0))
{
$numElementiLavoro = mysql_num_rows($sqlLavoro);
$rpp = 8;
$sortby = "data_ins";
$order = "DESC";
$res = paging($queryOfferteLavoro,$rpp,$sortby,$order);
echo('<table border="0" cellpadding="0" cellspacing="0" width="100%">');
// echo ("<tr><td>[b]Annunci[/b]</td><td>[b]Provincia[/b]</td><td>[b]Inserimento[/b]</td></tr>");
while($datiLavoro = mysql_fetch_array($res[0]))
{
$keyLavoro = stripslashes($datiLavoro['key_lav']);
$keyAzienda = stripslashes($datiLavoro['key_az']);
$cercaTrova = stripslashes($datiLavoro['cerco_offro']);
$titoloAnnuncio = stripslashes($datiLavoro['titolo_annuncio']);
$urlAnnuncio = stripslashes($datiLavoro['url_annuncio']);
$descLavoro = stripslashes($datiLavoro['descrizione_lavoro']);
$provinciaAzienda = stripslashes($datiLavoro['provincia_azienda']);
$regioneAzienda = stripslashes($datiLavoro['regione_azienda']);
$telAzienda = stripslashes($datiLavoro['tel_azienda']);
$emailAzienda = stripslashes($datiLavoro['email_azienda']);
$settoreAzienda = stripslashes($datiLavoro['settore_azienda']);
$descAzienda = stripslashes($datiLavoro['descrizione_azienda']);
$oraIns = stripslashes($datiLavoro['ora_ins']);
$dataIns = stripslashes($datiLavoro['data_ins']);
$arrayData = explode("-",$dataIns);
$dataIns = $arrayData['2']."-".$arrayData['1']."-".$arrayData['0'];
if (strlen($cercaTrova) == 0)
$cercaTrova = "OFFRO";
// echo("<tr>");
// if (strtolower(substr($urlAnnuncio,-4)) != ".php")
// $urlAnnuncio .= ".php";
//echo("<td><a class='lavoro' href='".$docRoot."lavoro/".$urlAnnuncio."'>[".strtoupper($cercaTrova)."] - ".$titoloAnnuncio."</td>");
echo ("<tr>");
echo("<td><a class='lavoro' href='".$docRoot."tpl_lavoro.php?url=".$urlAnnuncio."'>[".strtoupper($cercaTrova)."] - ".$titoloAnnuncio."</td>");
echo("<td>".$provinciaAzienda."</td>");
echo("<td align='right'>".$dataIns."
".$oraIns."</td>");
echo("</tr>");
echo("<tr><td colspan='3'></td></tr>");
}
if ($numElementiLavoro > $rpp)
echo "<tr><td colspan='3'><div align='right'>Offerte di lavoro presenti: [b]$numElementiLavoro[/b] | Vai a pagina: ".$res[1]."</div></td></tr>
</tr>";
echo("</table>");
}
else
echo("
[b]Nessuna offerta presente.[/b]</p>
");
?>
Cerco di spiegare il problema.
In pratica ho un box, dove compaiono gli annunci inseriti.
Il limite è 8 annunci per pagina, perchè lo spazio è poco.
Con lo stesso codice però visualizzo anche i risultati della ricerca.
Sopra al box ho un motore di ricerca per parola,categoria,cerco-offro e provincia.
Il problema è quando faccio una ricerca esempio, se cerco le offerte di lavoro a Roma ed ho 15 annunci, si dovranno visualizzare in 2 pagine.
Sotto all'elenco ho le frecce per scorrere la pagina 1 e 2 solo che si clicco sulla 2 pagina...vedo anche gli altri annunci presenti.
Quindi non più solo quelli su Roma.
Se volete per farvi capire meglio vi passo il link alla pagina in privato.
Questo codice è un include..quindi la SESSION è sulla pagina principale
Grazie