eikum Skrevet 21. april 2009 Del Skrevet 21. april 2009 Hei. Jeg prøver å lage en søk funksjon som "skriver ut" den informasjonen jeg har i den raden jeg ønsker å søke på. Altså, om jeg søker på '1400' skal det komme opp på siden at dette er fra Ski og at her kan man f.eks få ADSL. Men det kommer ikke opp noen ting. Sok.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <form name="form" action="search2.php" method="get"> <input type="text" name="q" /> <input type="submit" name="Submit" value="Search" /> </form> </body> </html> search.php <?php $hostname_logon = "localhost"; $database_logon = "database"; $username_logon = "brukernavn"; $password_logon = "passord"; //open database connection $connections = mysql_connect($hostname_logon, $username_logon, $password_logon) or die ( "Unabale to connect to the database" ); //select database mysql_select_db($database_logon) or die ( "Unable to select database!" ); //specify how many results to display per page $limit = 10; // Get the search variable from URL $var = @$_GET['q']; //trim whitespace from the stored variable $trimmed = trim($var); //separate key-phrases into keywords $trimmed_array = explode(" ",$trimmed); // check for an empty string and display a message. if ($trimmed == "") { $resultmsg = "<p>Search Error</p><p>Please enter a search...</p>"; } // check for a search parameter if (!isset($var)){ $resultmsg = "<p>Search Error</p><p>We don't seem to have a search parameter! </p>"; } // Build SQL Query for each keyword entered foreach ($trimmed_array as $trimm){ // EDIT HERE and specify your table and field names for the SQL query $query = "SELECT * FROM leverandorer WHERE Postnummer LIKE '%$trimm%' OR Sted like '%$trimm%' ORDER BY Postnummer DESC"; // Execute the query to get number of rows that contain search kewords $numresults=mysql_query ($query); $row_num_links_main =mysql_num_rows ($numresults); // next determine if 's' has been passed to script, if not use 0. // 's' is a variable that gets set as we navigate the search result pages. if (empty($s)) { $s=0; } // now let's get results. $query .= " LIMIT $s,$limit"; $numresults = mysql_query ($query) or die ( "Couldn't execute query" ); $row= mysql_fetch_array ($numresults); //store record id of every item that contains the keyword in the array we need to do this to avoid display of duplicate search result. do{ $adid_array[] = $row[ 'fieldid' ]; }while( $row= mysql_fetch_array($numresults)); } //end foreach if($row_num_links_main == 0 && $row_set_num == 0){ $resultmsg = "<p>Search results for: ". $trimmed."</p><p>Sorry, your search returned zero results</p>"; } //delete duplicate record id's from the array. To do this we will use array_unique function $tmparr = array_unique($adid_array); $i=0; foreach ($tmparr as $v) { $newarr[$i] = $v; $i++; } // now you can display the results returned. But first we will display the search form on the top of the page ?> <form action="search.php" method="get" name="search"> <div align="center"> <input name="q" type="text" value=" <?php echo $q; ?> " size="15"> <input name="search" type="submit" value="Search"> </div> </form> <?php // display what the person searched for. if( isset ($resultmsg)){ echo $resultmsg; exit(); }else{ echo "Search results for: " . $var; } foreach($newarr as $value){ // EDIT HERE and specify your table and field names for the SQL query $query_value = "SELECT * FROM leverandorer WHERE Postnummer = '$value'"; $num_value=mysql_query ($query_value); $row_linkcat= mysql_fetch_array ($num_value); $row_num_links= mysql_num_rows ($num_value); //now let's make the keywods bold. To do that we will use preg_replace function. //Replace field $titlehigh = preg_replace ( "'($var)'si" , "<b> //1</b>" , $row_linkcat[ 'Postnummer' ] ); $linkhigh = preg_replace ( "'($var)'si" , "<b> //1</b>" , $row_linkcat[ 'Sted' ] ); $linkdesc = preg_replace ( "'($var)'si" , "<b> //1</b>" , $row_linkcat[ 'Leverandor' ] ); foreach($trimmed_array as $trimm){ if($trimm != 'b' ){ $titlehigh = preg_replace( "'($trimm)'si" , "<b> //1</b>" , $titlehigh); $linkhigh = preg_replace( "'($trimm)'si" , "<b> //1</b>" , $linkhigh); $linkdesc = preg_replace( "'($trimm)'si" , "<b> //1</b>" , $linkdesc); } //end highlight ?> <p> <?php echo $titlehigh; ?><br> <?php echo $linkhigh; ?><br> <?php echo $linkhigh; ?> </p> <?php } //end foreach $trimmed_array if($row_num_links_main > $limit){ // next we need to do the links to other search result pages if ($s>=1) { // do not display previous link if 's' is '0' $prevs=($s-$limit); echo "<div align='left'><a href='$PHP_SELF?s=$prevs&q=$var&catid=$catid'>Previous " .$limit. "</a></div>"; } // check to see if last page $slimit =$s+$limit; if (!($slimit >= $row_num_links_main) && $row_num_links_main!=1) { // not last page so display next link $n=$s+$limit; echo "<div align='right'><a href='$PHP_SELF?s=$n&q=$var&catid=$catid'>Next " .$limit. "</a></div>"; } } } //end foreach $newarr ?> Leverandorer DB: Lenke til kommentar
ISOS6 Skrevet 24. april 2009 Del Skrevet 24. april 2009 Ikke rart! bytt search2.php til search.php i Sok.html-filen i Form Hvis ikke det var feilen, jeg har en egen script jeg kan gi deg Men da må du endre noe der selv for jeg kombinerte et prosjekt Lenke til kommentar
eikum Skrevet 24. april 2009 Forfatter Del Skrevet 24. april 2009 Takk for svar, men det var ikke problemet Var en skriveleif i html koden, den skal hete search2 hehe.. Hadde med åpne armer tatt imot et script som fungerer Lenke til kommentar
ISOS6 Skrevet 25. april 2009 Del Skrevet 25. april 2009 (endret) Her er kodene, jeg har endret alt slik at det blir lette for deg å tilpasse dit behov, håper du forstår kodingen Endre customer, domain og id til dine komandoer Spør gjerne hvis noe feiler hvasomhelst.html <form name="searchform" method="GET" action="search.php"> <table width='250' border='1' cellspacing='0' cellpadding='3' align='center'><tr><td> Geran be duway bekarhêner: <input type="text" name="search" class="felt" value=''/> <input type="submit" value=" Bigerê " class='knapp'/> </td></tr></table> </form> search.php <?php //Endre disse $hostname = "host"; //Hostnavn $username = "user"; //Brukernavn $database = "data"; //Database $password = "pass"; //Passord //IKKE endre $connect = mysql_connect($hostname, $username, $password) or die ( "Hîç peywendî legell databas niye" ); mysql_select_db($database) or die ( "Hîç databas destnîşan nekrawe" ); //=============================================================// if(isset($_GET['search'])) { $search = $_GET['search']; } $search = trim($search); $search = preg_replace('/\s+/', ' ', $search); $keywords = explode(" ", $search); $keywords = array_diff($keywords, array("")); if ($search == NULL or $search == '%'){ } else { for ($i=0; $i<count($keywords); $i++) { $query = "SELECT * FROM customer WHERE domain LIKE '%".$keywords[$i]."%' ORDER BY id"; } $result = mysql_query($query) or die(mysql_error()); $totalrows = mysql_num_rows($result); } if ($search == NULL or $search == '%'){ } else { $count = mysql_num_rows($result); } echo"<form name=\"searchform\" method=\"GET\" action=\"search.php\"> <table width='250' border='1' cellspacing='0' cellpadding='3' align='center'><tr><td> Geran be duway bekarhêner: <input type=\"text\" name=\"search\" class=\"felt\" value='$search'/> <input type=\"submit\" value=\" Bigerê \" class='knapp'/></td></tr></table></form>"; if ($search == NULL){ echo "<center><b>Helle:</b> Şitêk binuse tikaye!"; // Feilmelding: Vennligst skriv noe } elseif ($search == '%'){ echo "<center><b>Helle:</b> Şitêk binuse tikaye!"; // Feilmelding: Vennligst skriv noe } elseif ($count <= 0){ echo "<center><b>Bibure,</b> hîç <b>$search</b> le databas niye"; //Feilmelding: Søket gav ingen treff } else { echo "<table width='250' border='1' cellspacing='0' cellpadding='3' align='center'><tr><td colspan='2'>Resultat</td></tr>"; while($row = mysql_fetch_array($result)) { echo "<tr> <td width='40' align='center'>$row[id]</td> <td width='192'>$row[domain]</td> </tr>"; //Inkluder $row[feltnavn] slik -->> $row[leverandor] $row_count++; } echo "</table>"; } if ($search == NULL or $search == '%') { } else { mysql_free_result($result); } ?> Endret 25. april 2009 av ISOS6 Lenke til kommentar
eikum Skrevet 27. april 2009 Forfatter Del Skrevet 27. april 2009 Hei! Ser ut som jeg får det til nå, etter litt feiling, hehe:) Takk for hjelpen kompis! Forresten, vet du hvordan man får textboxene til å kunne godkjenne tall? Gjelder både i html og php filene. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå