Hej ...kan någon vänlig person hjälpa mig att klura ut detta.
Sätter ihop en sökfunktion som ska ta fram data från en databas.
man ska kunna söka efter, mobilnr (mnr), subject, eller id.
med denna kod så funkar det att söka efter alla inlägg från ett visst mobnr, jag kan även söka på subject, men när jag letar efter id på mms, så får jag inga träffar. fast jag söker efter ett id som jag vet finns i databasen..
vart har det blivit fel?
eller vad ska ändras?
Misstänker att det är fel nånstans på rad 57-68 if (preg_match("/^07[0-9]+$/",$sok)) {
För när jag ändra där så kan jag ibland söka efter ID på MMS men då kan jag inte söka subject eller mnr (mobilnr)
KOD:
Kod:
<?PHP
$sok = $_GET['s'];
$sok_html = htmlentities(stripslashes($sok));
$sok_url = urlencode(stripslashes($sok));
// Inställningar
// Antal resultat per sida
$limit = "10";
?>
<html>
<head>
<title><?=$sok_html?> - Liv - bilderna</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="content-language" content="sv">
<link rel=stylesheet href="../style.css" type="text/css">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<table BORDER=0 CELLSPACING=1 CELLPADDING=1 COLS=3 WIDTH="800">
<tr><td ALIGN=CENTER WIDTH="200">
<img src="http://www.lxxxxxx.se/bilder/logga.jpg" height="92" border="0" alt="xxxxxxx- logga">
</td><td ALIGN=center>
<div id="MMSinfo">
<b>MMS:a in era festbilder till liv.se</b><br>
Skriv <b>party</b> mellanslag och din hälsning till <b>72575</b>.<br>
<small>Pris 5 kr/mms + ev. trafikavgift
</div>
</td>
</tr></table>
<hr width="800" ALIGN=left>
<form method="get" action="sok.php">
Sök efter :
<input size="20" name="s" value="<?=$sok_html?>">
<input type="submit" value="Sök nu">
</form>
<br>
<table BORDER=0 CELLSPACING=0 CELLPADDING=5 COLS=3 WIDTH="800">
<?php
include 'inlogg_db.php';
if (preg_match("/^07[0-9]+$/",$sok)) {
$SQL1 = " WHERE mms.status='Aktiv' AND mnr = '$sok' AND (typ = 'image' OR typ = 'video') GROUP BY mms.id ORDER BY `mms` . `tilllagd_tid` DESC";
$SQL2 = " FROM mms WHERE mms.status='Aktiv' AND mnr = '$sok' GROUP BY mms.id";
}else if ($sok != ""){
$SQL1 = " WHERE mms.status='Aktiv' AND MATCH (subject) AGAINST('$sok' IN BOOLEAN MODE) AND (typ = 'image' OR typ = 'video') GROUP BY mms.id ORDER BY `mms` . `tilllagd_tid` DESC";
$SQL2 = " FROM mms WHERE mms.status='Aktiv' AND MATCH (subject) AGAINST ('$sok' IN BOOLEAN MODE) GROUP BY mms.id";
}else if ($sok != "") {
$SQL1 = " WHERE mms.status='Aktiv' AND mms.id = '$sok' AND (typ = 'image' OR typ = 'video') GROUP BY mms.id ORDER BY `mms` . `tilllagd_tid` DESC";
$SQL2 = " FROM mms WHERE mms.status='Aktiv' AND mms.id = '$sok' GROUP BY mms.id";
}else{
$SQL1 = " WHERE mms.status='Aktiv' AND (typ = 'image' OR typ = 'video') GROUP BY mms.id ORDER BY `mms` . `tilllagd_tid` DESC";
$SQL2 = " FROM mms WHERE mms.status='Aktiv' GROUP BY mms.id";
}
$surl = urlencode(stripslashes($sok));
$next_value .= "&s=".$surl;
$sok_html = htmlentities(stripslashes($sok));
$title_html = $sok_html;
$beskrivning_html = $sok_html;
$sok_url = urlencode(stripslashes($sok));
$limit = 10;
if (isset ($_GET['page']) ) {
$page = $_GET['page'];
} else {
$page = 0;
}
$offset = $page * $limit;
// Kör första sql-frågan som tar reda på antalet rader.
$sql = "SELECT COUNT(*) AS rows_tot " . $SQL2;
$result = mysql_query($sql)
or die(mysql_error());
$row = mysql_fetch_array ($result);
if ($row['rows_tot'] > 0 ) { // Kolla om det finns någon data i tabellen
$pages_tot = (ceil($row['rows_tot'] / $limit) - 1); // Räknar ut hur många sidor det blir.
// Räknar ut vilka resultat vi tittar på.
$ant_hits = $row['rows_tot'];
$resultf = $offset + 1;
$resultt = $offset + $limit;
if ($resultt > $row['rows_tot']){ $resultt = $row['rows_tot'];}
// Kör andra sql-frågan som hämtar valda rader.
$sql = "SELECT `mms`.*, `filer`.* FROM `mms` LEFT JOIN filer ON filer.id = mms.id " . $SQL1 . " LIMIT $offset, $limit";
$result = mysql_query($sql)
or die('Kan inte lista inlägg i databasen! '.$sql_start.$sql. mysql_error() . ' : ' . mysql_errno());// Hämta en rad i taget frå databasen, fortsätt tills inga fler rader finns att hämta
$temp = "0";
while ( $row = mysql_fetch_array($result) ) {
$tid = $row['tilllagd_tid'];
$subject = $row['subject'];
$subject = ucfirst($subject);
$id = $row['id'];
$type = $row['typ'];
$filnamn = $row['namn'];