ragazzi allora questo è un problema un po' serio...
allora io devo contare quanti oggetti il motore di ricerca mi ha selezionato
dal database... avevo in mente una query di questo tipo:
SELECT count(DISTINCT notizia)"%parola%" AS tot FROM news
però sembra che non funzioni... ci tengo a precisarvi che l'SQL non lo conosco tanto... ho cercato di commentare le zone calde della pagina...
in realtà mi interessa solo che mi diciate come andrebbe impostata la query per contare quante righe della tabella del database contengono una cella con dentro, oltre ad altre parole, una data parola che ho ricercato...
siate tempestivi plz perché altrimenti mando all'aria tutta la mia tabella di marcia...grazie mille in anticipo
Codice PHP:
<?php
//questo non interessa voi
session_start();
$_SESSION['mode']="searchnews";
//inizia la pagina
$parole=trim($_GET['search']);
$start=$_GET['start'];
//LA FUNZIONE CONTENUTO VIENE ESEGUITA DALLA FUNZIONE ASPETTO (VEDI FONDO PAGINA) CONTENUTA APPUNTO NEL FILE ASPETTO.INC.PHP
//CI TENGO A PRECISARE CHE è UN METODO CHE NON Dà ERRORI QUINDI NON CERCATELI Lì
function contenuto(){
global $parole,$start;
if (empty($parole)){$error=true;echo "Errore: non hai specificato le parole da ricercare.<br><br><a href=\"allnews.php\">Torna alle notizie</a>";};
if (!isset($error)){
$search=explode(" ",$parole);
//DATABASE PARTE UNO
include("config.inc.php");
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
//DATABSE PARTE 2
$queryADD="";
reset($search);
while (list(,$parola)=each($search)){
$parola=trim($parola);
if (!empty($parola)){
$queryADD.="notizia LIKE '%$parola%' OR ";};
}
$queryADD.="0";
$ORZERO=" OR 0";
$ORZEROKILL="";
$queryADD=str_replace($ORZERO,$ORZEROKILL,$queryADD);
if ((empty($start))||($start<0))
$start=0;
$step=5;
$query="SELECT id,data,notizia FROM news WHERE ". $queryADD ." ORDER BY id DESC LIMIT $start,$step";
//LA SECONDA QUERY, CHE NON FUNZIONA!
$query2="SELECT count(".$queryADD.") AS tot FROM news";
//----------------------------------------------------
$result = mysql_query($query, $db);
$result2 = mysql_query($query2, $db);
$row2 = mysql_fetch_array($result2);
while ($row = mysql_fetch_array($result))
{echo"<hr>$row[data]<hr>$row[notizia] <br><br>";};
if ($start>0)
{ $start_back = $start - $step;
echo "<a href=searchnews.res.php?start=$start_back&search=$parole>precedenti</a> ";
};
$pages = intval(($row2[tot]-1) / $step)+1;
for ($i=0; $i<$pages AND $i<5; $i++)
{ $start_page = $i * $step;
echo "<a href=searchnews.res.php?start=$start_page&search=$parole>" . ($i+1) . "</a> ";
};
if ($start + $step < $row2[tot])
{ $start_next = $start + $step;
echo "<a href=searchnews.res.php?start=$start_next&search=$parole>successivi</a>";
};
//QUESTO è SOLO PER RIFERIMENTO PER VEDERE CHE RISULTATI DAVANO LE QUERY
echo "<br>$row2[tot]<br>";
echo "$query<br>$query2";
//fine funzione contenuto()
};};
include ("aspetto.inc.php");
aspetto();
?>