Avatar billede funny Nybegynder
06. marts 2007 - 08:56 Der er 29 kommentarer og
1 løsning

søg på min side

Jeg har lave den her side som henter tekst ud fra sqlen med id det jeg nu ønsker. Er at man skal kunne søge på siden

er der en der kan sige hvordan jeg kan sætte et søge script ind i den kode

i min sql er der

id
tekst
menu

og den måde jeg får det ud på er

<?php
include('db.php');
$id=(isset($_GET['id'])?$_GET['id']:'1');
$query = mysql_query("SELECT tekst FROM site WHERE id = '$id'") or die ("Fejl: ".mysql_error());
$row = mysql_fetch_array($query);
{
    echo '<font face="Verdana, Arial, Helvetica, sans-serif">'.nl2br($row['tekst']).'</font>';
}
?>
Avatar billede jakobdo Ekspert
06. marts 2007 - 11:04 #1
Hvad mener du med at søge?
Mener du highlight?
Eller mener du rent faktisk søge?

Du kan jo søge med LIKE i sql.

F.eks. SELECT id FROM site WHERE tekst LIKE '% NOGET_VI_LEDER_EFTER %'
Avatar billede funny Nybegynder
06. marts 2007 - 11:25 #2
det jeg ønsker man skulle kunne søge efter er tekst under vær id og få det ud sådan her

(søge teksten)
(max 40 chars)fra teksten i sqlen
(linket til iden)
Avatar billede funny Nybegynder
06. marts 2007 - 11:27 #3
har den her men men jeg ved ikke hvordan jeg får den til at virke sammen med min side lige nu køre den som en side for sig selv

<?php
if(isset($_POST['sSearch']))
{
    include("db.php");
    $search = mysql_escape_string($_POST['sSearch']);
    $query = mysql_query("SELECT * FROM site WHERE type LIKE '%".$search."%' OR navn LIKE '%".$search."%' OR tekst LIKE '%".$search."%' OR link LIKE '%".$search."%'");
    if(mysql_num_rows($query) > 0)
    {
        //Vi fandt noget...
        while($row = mysql_fetch_array($query))
        {
        echo $row['type'] . "<br>";
        echo $row['navn'] . "<br>";
        echo $row['tekst'] . "<br>";
        echo "<a href=\"" . $row['link'] . "\">". $row['link'] ."</a><br><br>";


        }
    }
    else
    {
        //Vi fandt ikke noget...
        echo "Vi fandt desv&aelig;rre ikke: " . $search . " i vores database, pr&oslash;v igen!";
    }
}

echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n";
echo "<input type=\"text\" name=\"sSearch\">\n";
echo "<input type=\"submit\" name=\"search\" value=\"S&oslash;g\">\n";
echo "</form>\n";

?>
Avatar billede funny Nybegynder
06. marts 2007 - 11:28 #4
men jeg vil have den til at vise det på min index side hvor alt andet tekst kommer ud
Avatar billede jakobdo Ekspert
06. marts 2007 - 11:47 #5
Det kræver jo lidt sammensmeltning ja. :o)
Der tror jeg simpelthen du bare skal tage det stykke for stykke.
Start med at få formen til at være hvor den skal være.
Når den er klar, så kan du tilføje selve søgefunktionen.

Har du en header eller footer, hvor du genbruger data?
Avatar billede funny Nybegynder
06. marts 2007 - 12:25 #6
nej jeg bruger ikke header og footer sorry

i min venstre side har jeg menuen under den har jeg lavet den her

<table width="120" height="100" border="0" align="center" cellpadding="2" cellspacing="2" background="images/ok.gif" >
          <form id="form1" name="form1" method="post" action="">
            <tr>
              <td align="center" class="link">S&oslash;g</td>
            </tr>
            <tr>
              <td align="center"><input name="textfield" type="text" class="link" size="14"></td>
            </tr>
            <tr>
              <td align="center"><label>
                <input type="image" name="imageField" src="images/knap.gif">
              </label></td>
            </tr>
          </form>
        </table>
Avatar billede funny Nybegynder
06. marts 2007 - 12:26 #7
og her kommer min tekst

<td width="540" height="475" valign="top" background="images/index_07.gif" bgcolor="#FFFFFF" class="default"><?php
include('includes/db.php');
$id=(isset($_GET['id'])?$_GET['id']:'1');
$query = mysql_query("SELECT tekst FROM site WHERE id = '$id'") or die ("Fejl: ".mysql_error());
$row = mysql_fetch_array($query);
{
    echo '<font face="Verdana, Arial, Helvetica, sans-serif">'.nl2br($row['tekst']).'</font>';
}
?></td>
Avatar billede jakobdo Ekspert
06. marts 2007 - 12:37 #8
Hvad er det du vil have svar på?
Vil du have en færdig kode?
Avatar billede funny Nybegynder
06. marts 2007 - 12:47 #9
nej ikke en færdig kode men hvor kan jeg få de to ting til at arbejde sammen

06/03-2007 12:25:02 & 12:26:56
Avatar billede funny Nybegynder
06. marts 2007 - 12:48 #10
Kan man det på den måde jeg har lavet det på?
Avatar billede funny Nybegynder
06. marts 2007 - 12:50 #11
når man søge vil jeg godt have den kode til at vise det

<td width="540" height="475" valign="top" background="images/index_07.gif" bgcolor="#FFFFFF" class="default"><?php
include('includes/db.php');
$id=(isset($_GET['id'])?$_GET['id']:'1');
$query = mysql_query("SELECT tekst FROM site WHERE id = '$id'") or die ("Fejl: ".mysql_error());
$row = mysql_fetch_array($query);
{
    echo '<font face="Verdana, Arial, Helvetica, sans-serif">'.nl2br($row['tekst']).'</font>';
}
?></td>
Avatar billede jakobdo Ekspert
06. marts 2007 - 19:12 #12
Men den side som viser dit søge resultat, er vel ikke gemt i databasen?
Der kunne du vel lave en side der hed: search.php ?
Avatar billede funny Nybegynder
19. marts 2007 - 08:41 #13
Nu er jeg her igen sorry tiden. nu har jeg lavet siden om til footer / header / middle / column_left / column_right

Selve search.php hvordan får jeg den til at vise resultater i middle.php

Jeg vil godt give fler point for hjælpen.
Avatar billede funny Nybegynder
19. marts 2007 - 08:42 #14
søge boxen skal være i column_left.php
Avatar billede jakobdo Ekspert
19. marts 2007 - 08:53 #15
Du skal smide din søge form ind i column_left.php

Og så skal du lave kode i middle.php, som jo giver søgeresultaterne, hvis der vel at mærke bliver foretaget en søgning.
Avatar billede funny Nybegynder
19. marts 2007 - 08:59 #16
lige nu bruger jeg middle til at hente tekst ud til forsiden. Hvordan kan jeg lave når man søger at den så lige fjerner teksten fra den side man er på og kommer med resultaterne.
Avatar billede jakobdo Ekspert
19. marts 2007 - 09:25 #17
Du kunne lave det på den grimme måde:

if($_POST['search'])
{
//VIS SØGERESULTATET
}
else
{
//GØR SOM DU PLEJER.
}
Avatar billede funny Nybegynder
19. marts 2007 - 09:34 #18
skal den kode bare ind i der hvor jeg henter tekst ud
Avatar billede funny Nybegynder
19. marts 2007 - 09:34 #19
men kan se at jeg skal dele min søge script op i to
Avatar billede funny Nybegynder
19. marts 2007 - 09:35 #20
smider lige lidt fler point på
Avatar billede funny Nybegynder
19. marts 2007 - 09:40 #21
den her kode bruger jeg i middel.php
<?php
include('includes/db.php');
$id=(isset($_GET['id'])?$_GET['id']:'1');
$query = mysql_query("SELECT tekst FROM site WHERE id = '$id'") or die ("Fejl: ".mysql_error());
$row = mysql_fetch_array($query);
{
    echo '<font face="Verdana">'.nl2br($row['tekst']).'</font>';
}
?>
Avatar billede jakobdo Ekspert
19. marts 2007 - 09:46 #22
Så kunne du jo lave det sådan her:

<?php
include('includes/db.php');
if($_POST['search'])
{
    //Vis søgningens resultat.
}
else
{
    $id=(isset($_GET['id'])?$_GET['id']:'1');
    $query = mysql_query("SELECT tekst FROM site WHERE id = '$id'") or die ("Fejl: ".mysql_error());
    $row = mysql_fetch_array($query);
    {
    echo '<font face="Verdana">'.nl2br($row['tekst']).'</font>';
    }
?>
Avatar billede funny Nybegynder
19. marts 2007 - 09:54 #23
Det vil sige sådan her

<?php
include('includes/db.php');
if($_POST['search'])
{
    if(isset($_POST['sSearch']))
{
    include("db.php");
    $search = mysql_escape_string($_POST['sSearch']);
    $query = mysql_query("SELECT * FROM site WHERE type LIKE '%".$search."%' OR navn LIKE '%".$search."%' OR tekst LIKE '%".$search."%' OR link LIKE '%".$search."%'");
    if(mysql_num_rows($query) > 0)
    {
        //Vi fandt noget...
        while($row = mysql_fetch_array($query))
        {
        echo $row['type'] . "<br>";
        echo $row['navn'] . "<br>";
        echo $row['tekst'] . "<br>";
        echo "<a href=\"" . $row['link'] . "\">". $row['link'] ."</a><br><br>";


        }
    }
    else
    {
        //Vi fandt ikke noget...
        echo "Vi fandt desv&aelig;rre ikke: " . $search . " i vores database, pr&oslash;v igen!";
    }
}
else
{
    $id=(isset($_GET['id'])?$_GET['id']:'1');
    $query = mysql_query("SELECT tekst FROM site WHERE id = '$id'") or die ("Fejl: ".mysql_error());
    $row = mysql_fetch_array($query);
    {
    echo '<font face="Verdana">'.nl2br($row['tekst']).'</font>';
    }
?>
Avatar billede jakobdo Ekspert
19. marts 2007 - 10:11 #24
Ja, det kunne godt laves sådan der.
Virker det? :o)
Avatar billede funny Nybegynder
19. marts 2007 - 10:37 #25
den her virker ikke.

<?php
include('includes/db.php');
if (@$_POST['search']=="search")
{
$keyword=$_POST['keyword'];
$result=mysql_query("SELECT * FROM websites WHERE `title` LIKE '%$keyword%' OR `url` LIKE '%$keyword%' OR `description` LIKE '%$keyword%' ");
while ($results = mysql_fetch_array($result))
{
$title=$results['title'];
$url=$results['url'];
$description=$results['description'];
echo "<br><a href='$url'>$title</a><br><i>$description</i><br>$url";
}
else
{
    $id=(isset($_GET['id'])?$_GET['id']:'1');
    $query = mysql_query("SELECT tekst FROM site WHERE id = '$id'") or die ("Fejl: ".mysql_error());
    $row = mysql_fetch_array($query);
    {
    echo '<font face="Verdana">'.nl2br($row['tekst']).'</font>';
    }
?>
Avatar billede funny Nybegynder
19. marts 2007 - 10:37 #26
prøvet med et andet søge script
Avatar billede funny Nybegynder
19. marts 2007 - 11:32 #27
Fik lavet det her og det virker.
<?php
include('includes/db.php');
if (@$_POST['search']=="search")
{
$keyword=$_POST['keyword'];
$result=mysql_query("SELECT * FROM websites WHERE `title` LIKE '%$keyword%' OR `url` LIKE '%$keyword%' OR `description` LIKE '%$keyword%' ")
OR
die("MYSQL ERROR: ".mysql_error());



while ($results = mysql_fetch_array($result))
{
  $title=$results['title'];
  $url=$results['url'];
  $description=$results['description'];
  echo "<br><a href='$url'>$title</a><br><i>$description</i><br>$url";
}

}else{
    $id = (isset($_GET['id'])) ? $_GET['id'] : '1';
    $query = mysql_query("SELECT tekst FROM site WHERE id = '$id'") or die ("Fejl: ".mysql_error());
    $row = mysql_fetch_array($query);

    echo '<font face="Verdana">'.nl2br($row['tekst']).'</font>';
}
?>
Avatar billede jakobdo Ekspert
19. marts 2007 - 11:43 #28
Så får du et svar!
Avatar billede funny Nybegynder
19. marts 2007 - 12:05 #29
takker for hjælpen
Avatar billede jakobdo Ekspert
19. marts 2007 - 13:09 #30
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester