Avatar billede holm18 Nybegynder
22. marts 2002 - 13:37 Der er 12 kommentarer og
1 løsning

Hvad er der galt?

<TABLE border="1">
<TR>
    <TD><h5>Varenr.</h5></TD>
    <TD><h5>Produktnavn</h5></TD>
    <TD><h5>Beskrivelse</h5></TD>


<?
if($tekst_soeg){
    $db = mysql_connect("localhost", "root", "");
    mysql_select_db("columbus marine", $db);
    $hent = mysql_query ("SELECT * FROM varer WHERE tekst LIKE '%$tekst_soeg%' ORDER BY varer DESC");
    while($data = mysql_fetch_array($hent)) {

   
echo "<br><tr>
     
      <td>$data[varenr]</td>
      <td>$data[produktnavn]</td>
      <td>$data[beskrivelse]</td>";
}

?>
</TR>
</TABLE>
<?

} else{
?>
<FORM METHOD=POST ACTION=soeg.php>
<input  type=TEXT NAME=tekst_soeg class="form"><br>
<input type=SUBMIT VALUE=søg>
</form>
<?
}
mysql_close();
?>
</body>
</html> 

Den skriver følgende:
Warning: Supplied argument is not a valid MySQL result resource in C:\apache\htdocs\php2\soeg.php on line 16

Kan i fortælle mig hvad der er galt?
Avatar billede jonas- Nybegynder
22. marts 2002 - 13:39 #1
...mysql_query ("SELEC...
Der skal ikke være mellemrum.
Avatar billede holm18 Nybegynder
22. marts 2002 - 13:42 #2
Det gør det ikke bedre
Avatar billede holm18 Nybegynder
22. marts 2002 - 13:43 #3
der må være en fejl mere
Avatar billede sthen Nybegynder
22. marts 2002 - 13:53 #4
hvis din db hedder varer, kan du ikke sortere outputtet efter varer, og hvis du i din db som du evt. har kaldt varer har en kollonne som også hedder varer, må du finde et andet navn enten til db eller feltet.
Avatar billede sthen Nybegynder
22. marts 2002 - 13:54 #5
$hent = mysql_query ("SELECT * FROM varer WHERE tekst LIKE '%$tekst_soeg%' ORDER BY varer DESC");

skal måske i stedet hedde

$hent = mysql_query ("SELECT * FROM varer WHERE tekst LIKE '%$tekst_soeg%' ORDER BY varenr DESC");
Avatar billede sthen Nybegynder
22. marts 2002 - 13:56 #6
Men har du i det hele taget et felt i din db der hedder tekst ??
Ellers må du jo skrive f.eks.

$hent = mysql_query ("SELECT * FROM varer WHERE beskrivelse LIKE '%$tekst_soeg%' ORDER BY varenr DESC");
Avatar billede sthen Nybegynder
22. marts 2002 - 13:57 #7
takker
Avatar billede holm18 Nybegynder
22. marts 2002 - 13:59 #8
d virker. Jeg takker
Avatar billede holm18 Nybegynder
22. marts 2002 - 14:30 #9
Nu siger den at der ikke er nogen fejl, men når jeg søger i database kommer der ikke noget frem, selvom jeg ved d ligger der og søger rigtig. Det kommer kun frem hvis jeg skriver % i søgningen
Avatar billede sthen Nybegynder
22. marts 2002 - 14:39 #10
Problemet ligger nok i det jeg beskrev tidligere, at du IKKE i dit input-felt har fortalt hvad det er du søger på i din db.

Hvis dit input-felt skal søge i de felter der hedder 'beskrivelse' må du skrive:

$hent = mysql_query ("SELECT * FROM varer WHERE beskrivelse LIKE '%$tekst_soeg%' ORDER BY varenr DESC");
Avatar billede holm18 Nybegynder
22. marts 2002 - 14:42 #11
Jamen det jeg ordnet og det virker stadigvæk ikke
Avatar billede sthen Nybegynder
22. marts 2002 - 14:44 #12
<TABLE border="1">
<TR>
    <TD><h5>Varenr.</h5></TD>
    <TD><h5>Produktnavn</h5></TD>
    <TD><h5>Beskrivelse</h5></TD>


<?
if($tekst_soeg){
    $db = mysql_connect("localhost", "root", "");
    mysql_select_db("columbus marine", $db);
    $hent = mysql_query ("SELECT * FROM varer WHERE '$valg' LIKE '%$tekst_soeg%' ORDER BY varenr");
    while($data = mysql_fetch_array($hent)) {

   
echo "<br><tr>
     
      <td>$data[varenr]</td>
      <td>$data[produktnavn]</td>
      <td>$data[beskrivelse]</td>";
}

?>
</TR>
</TABLE>
<?

} else{
?>
<FORM METHOD=POST ACTION=soeg.php>
<input  type=TEXT NAME=tekst_soeg class="form"><br>
<SELECT SIZE="1" NAME="valg">
        <OPTION VALUE="varenr">Varenr
        <OPTION VALUE="produktnavn">Produktnavn
        <OPTION VALUE="beskrivelse">Beskrivelse
        </SELECT>
<input type=SUBMIT VALUE=søg>
</form>
<?
}
mysql_close();
?>
</body>
</html> 

Ellers prøv at gøre sådan
Avatar billede sthen Nybegynder
22. marts 2002 - 14:46 #13
Undskyld - sådan

<TABLE border="1">
<TR>
    <TD><h5>Varenr.</h5></TD>
    <TD><h5>Produktnavn</h5></TD>
    <TD><h5>Beskrivelse</h5></TD>


<?
if($tekst_soeg){
    $db = mysql_connect("localhost", "root", "");
    mysql_select_db("columbus marine", $db);
    $hent = mysql_query ("SELECT * FROM varer WHERE '$valg' LIKE '%$tekst_soeg%' ORDER BY varenr");
    while($data = mysql_fetch_array($hent)) {

   
echo "<br><tr>
     
      <td>$data['varenr']</td>
      <td>$data['produktnavn']</td>
      <td>$data['beskrivelse']</td>";
}

?>
</TR>
</TABLE>
<?

} else{
?>
<FORM METHOD=POST ACTION=soeg.php>
<input  type=TEXT NAME=tekst_soeg class="form"><br>
<SELECT SIZE="1" NAME="valg">
        <OPTION VALUE="varenr">Varenr
        <OPTION VALUE="produktnavn">Produktnavn
        <OPTION VALUE="beskrivelse">Beskrivelse
        </SELECT>
<input type=SUBMIT VALUE=søg>
</form>
<?
}
mysql_close();
?>
</body>
</html>
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
Computerworld tilbyder specialiserede kurser i database-management

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