Kom ihåg mig?
Home Menu

Menu


PHP strul, sökfuntion

 
Ämnesverktyg Visningsalternativ
Oläst 2008-09-10, 17:47 #1
Eddan Eddan är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2008
Inlägg: 17
Eddan Eddan är inte uppkopplad
Nykomling
 
Reg.datum: Aug 2008
Inlägg: 17
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&auml;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'];
Eddan är inte uppkopplad   Svara med citatSvara med citat
 


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 23:29.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017