Avatar billede zeuszan Nybegynder
26. september 2002 - 13:58 Der er 13 kommentarer og
1 løsning

Søgescript Resource ID #20

Jeg har programmeret et lille søgescript, hvor man skal kunne indtaste et ord og vælge søg, så skal scriptet angive hvor mange poster der eksisterer med
det pågældende søgeord.

Men jeg får udskrevet "Resource ID#20 poster fundet"

Kan i hjælpe ??

<?
if(isset($soeg)){
$conn = mysql_connect("localhost", "*", "*") or die (mysql_error());
mysql_select_db("nyheder") or die (mysql_error());
           
$result = mysql_query("SELECT dato, overskrift, tekst FROM nyheder WHERE overskrift LIKE '%soeg%' OR tekst LIKE '%soeg%' ORDER BY dato DESC");
    echo $result;
    echo mysql_num_rows($result)." poster fundet<br><br>";
while ($data = mysql_fetch_array($result)) {
echo $data[0];
    }
    } else {
    ?>
<form method="post" action="<? echo $PHP_SELF; ?>">
    Søg:<br>
    <input type="text" name="soeg"><br>
    <input type="submit" value="søg">
    </form>
    <?
                            }
                            ?>
Avatar billede kimg Nybegynder
26. september 2002 - 14:00 #1
jeg tror bare du skal fjerne dette:

echo $result;

Kim
Avatar billede barlach Nybegynder
26. september 2002 - 14:01 #2
du kan fjerne
echo $result;
...
Avatar billede kimg Nybegynder
26. september 2002 - 14:02 #3
Det var et svar.
Avatar billede zeuszan Nybegynder
26. september 2002 - 14:16 #4
kimg >>
Jeg havde egentlig bare indsat udskrivningen af resultatet for at
se om den overhovedet fandt noget. nu får jeg ingen fejl, men får
hver eneste gang 0 poster fundet (jeg søger selvfølgelig på noget
eksisterende)...
Avatar billede barlach Nybegynder
26. september 2002 - 14:20 #5
skriver den noget ud fra echo $data[0]; ?

hvis ikke kunne det jo tyde på at det er din query der er forkert.

prøv med en query hvor du helt sikkert ved der kommer et result.

f.eks. ala det her

$result = mysql_query("SELECT dato, overskrift, tekst FROM nyheder");
Avatar billede kimg Nybegynder
26. september 2002 - 14:25 #6
Kan du så ikke gøre sådan, det er ikke checket.

<?
if(isset($soeg)){
$conn = mysql_connect("localhost", "*", "*") or die (mysql_error());
mysql_select_db("nyheder") or die (mysql_error());

$result = mysql_query("SELECT dato, overskrift, tekst FROM nyheder WHERE overskrift LIKE '%soeg%' OR tekst LIKE '%soeg%' ORDER BY dato DESC");
    $num = mysql_num_rows($result);
    echo  "$num poster fundet<br><br>";
    if($num = 0){
    echo "Ingen resultater";
    ?>
    <form method="post" action="<? echo $PHP_SELF; ?>">
    Søg:<br>
    <input type="text" name="soeg"><br>
    <input type="submit" value="søg">
    </form>
    <?
    } else {
      while ($data = mysql_fetch_array($result)) {
      echo $data[0];
    }
    }
    }
    ?>
Avatar billede jakoba Nybegynder
26. september 2002 - 14:33 #7
du leder efter strengen 'soeg' og ikke efter det der står i variablen $soeg

prøv at udskifte:
$result = mysql_query("SELECT dato, overskrift, tekst FROM nyheder WHERE overskrift LIKE '%soeg%' OR tekst LIKE '%soeg%' ORDER BY dato DESC");

med:
$request = "
    SELECT dato, overskrift, tekst
    FROM nyheder
    WHERE overskrift LIKE '%$soeg%'
    OR tekst LIKE '%$soeg%'
    ORDER BY dato DESC
";
$result = mysql_query( $request ) or die( "<br>$request<br>gav fejlen: " .mysql_error() );
echo "<br>$request<br>";
Avatar billede kimg Nybegynder
26. september 2002 - 14:33 #8
Rettelse:

<?
if(isset($soeg)){
$conn = mysql_connect("localhost", "*", "*") or die (mysql_error());
mysql_select_db("nyheder") or die (mysql_error());

$result = mysql_query("SELECT dato, overskrift, tekst FROM nyheder WHERE overskrift LIKE '%soeg%' OR tekst LIKE '%soeg%' ORDER BY dato DESC");
    $num = mysql_num_rows($result);
    echo  "$num poster fundet<br><br>";
    if($num = 0){
    echo "Ingen resultater";

          } else {

      while ($data = mysql_fetch_array($result)) {
      echo $data[0];
    }
    }
    }
    ?>
    <form method="post" action="<? echo $PHP_SELF; ?>">
    Søg:<br>
    <input type="text" name="soeg"><br>
    <input type="submit" value="søg">
    </form>
Avatar billede jakoba Nybegynder
26. september 2002 - 14:34 #9
svar
Avatar billede zeuszan Nybegynder
26. september 2002 - 15:09 #10
Jakoba og Kimg >>

Jeg har siddet og bokset lidt med det og i har begge retett småfejl som jeg ikke selv havde set.

Nu får jeg dog resultatet fra sidste søgning øverst på siden over mit "søg" felt. Min kode ser pt. således ud :

<html>
    <head>
        <title>Søgning</title>
        <link rel="stylesheet" href="style.css" type="text/css">
    </head>
    <body background="xbg.gif">
            <?
if(isset($soeg)){
$conn = mysql_connect("localhost", "*", "*") or die (mysql_error());
mysql_select_db("nyheder") or die (mysql_error());

$request = "SELECT dato, overskrift, tekst FROM nyheder WHERE overskrift LIKE '%$soeg%' OR tekst LIKE '%$soeg%' ORDER BY dato DESC";
$result = mysql_query($request);
    $number = mysql_num_rows($result);
    if($number > 0){
    echo  "$number poster fundet<br><br>";
      }
    elseif($number == 0){
    echo "Ingen poster fundet";
    } else {
    while ($data = mysql_fetch_array($result)) {
    } }
    ?>
    <form method="post" action="<? echo $PHP_SELF; ?>">
    Søg:<br>
    <input type="text" name="soeg"><br>
    <input type="submit" value="søg">
    </form>
    <?
      }
      ?>
        </body>
        </html>
Avatar billede zeuszan Nybegynder
26. september 2002 - 15:12 #11
Resultatet skal vises på en ny side, EFTER at jeg har trukket submit/søg.

Jeg vil gerne hæve mit point antal, da spørgsmålet er blevet udbygget siden mit oprindelige problem!

Så kan i dele pointene 50/50 ??
Avatar billede zeuszan Nybegynder
26. september 2002 - 15:17 #12
Med ovenstående sourcecode får jeg efter en genstart af min maskine,
en helt blank skørm - uden fejl ???

HJÆLP plz...
Avatar billede jakoba Nybegynder
26. september 2002 - 15:21 #13
mon ikke det er denne while løkke du skal bruge til at skrive de resultater du fandt.
    while ($data = mysql_fetch_array($result)) {
    }
brug lidt tid til at få orden i dine indrykninger. Det kan betale sig.
points til kimg.

mvh JakobA
Avatar billede zeuszan Nybegynder
04. december 2002 - 12:33 #14
Spørgsmålet er nu forældet og lukkes derfor.

1000 tak til alle som har deltaget - i har været KANON :0)
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