Paging og søgefunktion virker ikke m. php ver.5
Nedenstående kode virkede super før jeg skiftede til php ver.5. Nogen som ved hvad der kan være galt :(<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../NewFiles/CSS/styleAnnoncesider.css">
</head>
<body>
<div align="center">
<form action="salgsannoncerBaerbare.php" method="GET">
<div align="left">
<table border="0" cellspacing="5" cellpadding="0" height="42">
<tr height="37">
<td height="37"><span class="lille">Søgeord:</span><br>
<div align="left">
<input type="text" name="search" size="20"> </div>
</td>
<td height="37"><span class="lille">Kategori:</span><br>
<select name="selectKategori" size="1">
<option value="">Alle kategorier</option>
<option value="Packard bell">Packard bell</option>
<option value="Toshiba">Toshiba</option>
<option value="Fujitsu Siemens">Fujitsu Siemens</option>
</select></td>
<td height="37"><span class="lille">Område:</span><br>
<select name="selectName" size="1">
<option value="0000-9990">Hele Danmark</option>
<option value="0">-------------------------------</option>
<option value="0800-2990">Storkøbenhavn</option>
<option value="8000-8210">Århus</option>
<option value="5000-5270">Odense</option>
<option value="9000-9220">Aalborg</option>
<option value="0">-------------------------------</option>
<option value="0800-4990">Sjælland & øerne</option>
<option value="3000-3670">Nordsjælland</option>
<option value="4000-4990">Midt og Sydsjælland</option>
<option value="0">-------------------------------</option>
<option value="3700-3790">Bornholm</option>
<option value="0">-------------------------------</option>
<option value="5000-5985">Fyn</option>
<option value="0">-------------------------------</option>
<option value="6000-9990">Jylland</option>
<option value="9000-9990">Nordjylland</option>
<option value="7000-8990">Midt og Vestjylland</option>
<option value="6000-6990">Sønderjylland</option>
</select> <input type="submit" name="submit" value="Søg"></td>
</tr>
</table>
</div>
</form>
</div>
<table width="560" border="0" cellspacing="0" cellpadding="0"bgcolor="#658091">
<tr>
<td><span class="mini"> </span></td>
</tr>
</table>
<table width="560" border="0" cellspacing="5" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<td width="360" valign="top"><span class="mellem1">Annonce</span></td>
<td width="70" align="center" valign="top"><span class="mellem1">Pris</span></td>
<td width="130" align="center" valign="top"><span class="mellem1">Område</span></td>
</tr>
</table>
<table width="560" border="0" cellspacing="0" cellpadding="0"bgcolor="#658091">
<tr>
<td><span class="mini"> </span></td>
</tr>
</table>
<?PHP
require("../members/common.php");
// Funktion, der "klipper" en tekst over på det mest hensigtsmæssige sted (".", " ", )
// str klip(str tekst, int længde, int tolerance)
function klip($tekst, $laengde = 130, $tolerance = 10) // $laengde og $tolerance kan udelades
{
$punktum = strpos(substr($tekst, $laengde-$tolerance, 2*$tolerance), "."); // position af punktum
$mellemrum = strpos(substr($tekst, $laengde-$tolerance, 2*$tolerance), " "); // position af mellemrum
$mere = "..."; // punktummer hvis mere tekst
if (strlen($tekst) <= $laengde + $tolerance) {
$slut_pos = strlen($tekst); // slutposition = slut på tekst, da denne er kortere end $laengde og $tolerance
$mere = ""; // ikke andet
} elseif ($punktum !== false) {
$slut_pos = $laengde-$tolerance+$punktum; // slutposition = punktum
} elseif ($mellemrum !== false) {
$slut_pos = $laengde-$tolerance+$mellemrum; // slutposition = mellemrum
} else {
$slut_pos = $laengde; // slutposition $laengde (ikke noget at gøre - skær ord over)
}
return substr($tekst, 0, $slut_pos) . $mere; // udskriv del + evt. punktummer
}
echo "<table border=\"0\" cellspacing=\"5\" cellpadding=\"0\"><tr><td>";
$pr_side = "20"; //Definerer antal resultater pr. side
if (!isset($s))
{
$s = "0"; //Tjekker om $s - som står for start - er sat, hvis ikke sættes den
}
if(!isset($_GET['selectName']) || $_GET['selectName']=="") {
$g_total = mysql_query("select count(id) as total from salgAfProdukt WHERE produkt LIKE '%".$_GET['search']."%'") or die(mysql_error());
} else {
$g_total = mysql_query("select count(id) as total from salgAfProdukt WHERE produkt LIKE '%".$_GET['search']."%' AND salgAfProdukt.postNr BETWEEN LEFT('".$selectName."',4) AND RIGHT('".$selectName."',4) AND kategori LIKE '%".$_GET['selectKategori']."%'") or die(mysql_error());
}
$total = mysql_result($g_total,0);
if($total>$pr_side)
{
if ($total > $s+5){
##
#Find ud af om derskal være et Forrige link
##
if ($s >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side
$previous_s = $s-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes
echo "<a href='?s=$previous_s'><font color=\"#4682B4\">Forrige</font></a> "; //Udskriver linket
}
##
#Find ud af hvis/hvor mange sider der er rows til
##
$page = 1; //Definerer hvor sidetal skal starte
for($start=0; $total > $start; $start=$start+$pr_side){ //For-løkke der kører indtil der ikke er nok rows til en side mere
if ($start != $s) { //Tjekker om linket vil komme til at pege på den side man er på
echo "<a href='?s=$start&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">$page</font></a> "; //...hvis ikke, udskrives link med værdien af $page
} else { //Ellers, dvs. hvis linket vil pege på den side man er på..
echo "<font color=\"#000000\">$page </font>"; //...udskrives værdien af $page bare, altså ikke som link
}
$page++; //Lægger en til $page til næste gang løkken køres
}
##
#Find ud af om der skal være et næste link
##
if ($total > $s+$pr_side) { //Tjekker om der er flere sider
$next_s = $s+$pr_side; //Regner ud hvor mysql skal starte hvis næste side kaldes
echo "<a href='?s=$next_s&search=$_GET[search]&selectName=$_GET[selectName]'><font color=\"#4682B4\">Næste</font></a>"; //Udskriver linket "næste"
}
}
}
echo "</tr></td></table>";
echo " <table width=\"560\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"bgcolor=\"#CAD9EA\">
<tr>
<td><span class=\"mini\"> </span></td>
</tr>
</table>";
if (!isset($_GET['selectName']) || trim($_GET['selectName']) == "")
{
$sql = "SELECT * FROM salgAfProdukt LEFT JOIN postnr ON salgAfProdukt.postNr = postnr.postnr WHERE produkt LIKE '%" . $_GET['search'] . "%' ORDER BY id DESC LIMIT $s, $pr_side";
}
else
{
$sql = "SELECT * FROM salgAfProdukt LEFT JOIN postnr ON salgAfProdukt.postNr = postnr.postnr WHERE produkt LIKE '%" . $_GET['search'] . "%' AND salgAfProdukt.postNr BETWEEN LEFT('" . $selectName . "', 4) AND RIGHT('".$selectName."', 4) AND kategori LIKE '%" . $_GET['selectKategori'] . "%' ORDER BY id DESC LIMIT $s, $pr_side";
}
$query = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_array($query))
{
$sql2 = "SELECT count(*) AS antalBilleder FROM billeder_salgAfProdukt WHERE artikelid=" . $row["Id"];
$query2 = mysql_query($sql2) or die(mysq_error());
$row2 = mysql_fetch_assoc($query2);
echo "
<table width='560' border='0' cellspacing='5' cellpadding='0' bgcolor='#FFFFFF'>
<tr>
<td width='370' valign='top'><span class='mellem'><a href='visSalgsannoncer.php?id=$row[Id]' target='vs'>$row[produkt]</a></span> <br><span class='lille'>".klip($row['supplerendeTekst'])."</span></td>
";
echo"<td width='25'>";
if ($row2["antalBilleder"] > 0) echo "<img src='../NewFiles/kamera.gif' height=\"21\" width=\"23\">";
echo "</td>";
echo "
<td width='70' align='center' valign='top'><span class='lilleS'>" . $row['pris'] . ",-</span></td>
<td width='95' align='center' valign='top'><span class='lilleS'>" . $row['bynavn'] . "</span></td></tr></table>
<table width='560' border='0' cellspacing='0' cellpadding='0'bgcolor='#CAD9EA'>
<tr>
<td><span class='mini'> </span></td>
</tr>
</table>
";
}
echo "<table border='0' cellspacing='5' cellpadding='0'><tr><td>";
$total = mysql_result($g_total,0);
if ($total > $pr_side)
{
##
#Find ud af om der skal være et Forrige link
##
if ($s >= $pr_side)
{
// Tjekker om værdien af $s er større eller lig $pr_side
$previous_s = $s-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes
echo "<a href='?s=$previous_s&search=$_GET[search]&selectName=$_GET[selectName]'><font color='#4682B4'>Forrige</font></a> "; // Udskriver linket
}
##
#Find ud af hvis/hvor mange sider der er rows til
##
$page = 1; // Definerer hvor sidetal skal starte
for ($start = 0; $total > $start; $start += $pr_side)
{
// For-løkke der kører indtil der ikke er nok rows til en side mere
if ($start != $s)
{
// Tjekker om linket vil komme til at pege på den side man er på
echo "<a href='?s=$start&search=$_GET[search]&selectName=$_GET[selectName]'><font color='#4682B4'>$page</font></a> "; //...hvis ikke, udskrives link med værdien af $page
}
else
{
// Ellers, dvs. hvis linket vil pege på den side man er på..
echo "<font color='#000000'>$page </font>"; // ...udskrives værdien af $page bare, altså ikke som link
}
$page++; //Lægger en til $page til næste gang løkken køres
}
##
#Find ud af om der skal være et næste link
##
if ($total > $s+$pr_side)
{
// Tjekker om der er flere sider
$next_s = $s + $pr_side; // Regner ud hvor mysql skal starte hvis næste side kaldes
echo "<a href='?s=$next_s&search=$_GET[search]&selectName=$_GET[selectName]'><font color='#4682B4'>Næste</font></a>"; // Udskriver linket "næste"
}
}
echo "</tr></td></table>";
?>
</body>
