Salve,
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><br>");
$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><br>");
else
echo("Settore di lavoro cercato: <b>".$settoreLavoro."</b><br>");
// 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><br>");
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("<br>");
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."<br>".$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("<p><b>Nessuna offerta presente.</b></p><br>");
?>
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