[mysql/php] Where meerdere keren

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb een HTML file:

code:
1
2
3
4
5
6
7
8
<html>
<form
<form action="result.php" action="post">
Trefwoord: <input type="text" name="trefwoord" value=""><br>
Lengte:    <input type="text" name="Lengte" value=""><br>
<input type="submit" name="submit" value="Zoeken!"> 
</form>
</html>


en een PHP file:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 

 // Verbinding maken, een database selecteren
 $link = mysql_connect("localhost", "root", "*****")
     or die("Kan geen verbinding maken");
 print "Verbinding succesvol gemaakt";
 mysql_select_db("matthijs")
     or die("Kan geen database selecteren");

 // Een SQL query uitvoeren
 $query = "SELECT * FROM aanbod where soort like '%$trefwoord%' ORDER BY soort ";
 $result = mysql_query($query)
     or die("Fout bij uitvoeren query");


nu wil ik dus in die HTML file en alleen op lengte kunnen zoeken en alleen op trefwoord. Maar ook op beide tegelijk, maar zodra ik dat aanpas in mijn PHP file met het woordje AND ertussen krijg ik meteen errors.
Hoe moet ik het nou precies neerzetten?

edit:
root ww wegeditten :*

[ Voor 20% gewijzigd door Glimi op 10-02-2003 15:20 ]


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:51
Je query dynamisch opbouwen.

Check of trefwoord ingevuld is, check of lengte ingevuld is.

Bouw aan de hand daarvan je query op.

Ik weet ook niet of MySQL een functie geeft zoals ISNULL() van SQL Server, anders kan je daar ook wel mee aan de slag...

[ Voor 32% gewijzigd door whoami op 10-02-2003 14:50 ]

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 15:47

TheDane

1.618

offtopic:
leuk, root + password


en wat voor errors geeft ie allemaal dan ? en wat heb je geprobeerd ?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
offtopic : leuk dat je denkt dat lollie mijn password is :D

ontopic:

"Fout bij uitvoeren query" :)

hoe kan ik de echte foutmelding eigenlijk zien?

Acties:
  • 0 Henk 'm!

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

ik heb het (met hulp) zo opgelost
dis m'n "zoekmachine"
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?
error_reporting(E_ALL);
include("connect.php");
        switch($art_nr)
        {
                default:
                /* deze default-actie is heel belangrijk: zo krijg je, wanneer
                er geen if-statement true geeft, toch een gedefinieerde variabele 'q_soort' */
                case "":
                     $q_art_nr = "";
                break;
        }
        if ($art_nr != "")
        {
                //ff checke voor letters enzow
                if (eregi ("[a-z]", $art_nr))
                {
                        header("Location: zoek.htm");
                }
                else
                {
                        $q_art_nr = " AND
                                    catalogus.nr_trein = $art_nr";
                }
        }
        $datum = date('Y');
        switch($neuheit)
        {
                default:
                /* deze default-actie is heel belangrijk: zo krijg je, wanneer
                er geen if-statement true geeft, toch een gedefinieerde variabele 'q_soort' */
                case "Geen voorkeur":
                     $q_neuheit = "";
                break;
                case "Ja":
                     $q_neuheit = " AND catalogus.nieuw_item = $datum ";
                break;
                case "Nee":
                     $q_neuheit = " AND catalogus.nieuw_item != $datum ";
                break;
         }

         switch($int_expr)
         {
                 default:
                 /* deze default-actie is heel belangrijk: zo krijg je, wanneer
                 er geen if-statement true geeft, toch een gedefinieerde variabele 'q_soort' */
                 case "Geen voorkeur":
                      $q_int_expr = "";
                 break;
                 case "Inter":
                      $q_int_expr = " AND catalogus.inter_trein = 'ja'";
                 break;
                 case "Express":
                      $q_int_expr = " AND catalogus.express_trein = 'ja'";
                 break;
                 case "Inter Express":
                      $q_int_expr = " AND catalogus.inter_trein = 'ja'
                                     AND catalogus.express_trein = 'ja'";
                 break;
         }
         switch($soort)
         {
                 default:
                 /* deze default-actie is heel belangrijk: zo krijg je, wanneer
                 er geen if-statement true geeft, toch een gedefinieerde variabele 'q_soort' */
                 case "Geen voorkeur":
                      $q_soort = "";
                 break;
                 case "Locomotief":
                      $q_soort = " AND catalogus.type_id = 1 ";
                 break;
                 case "Wagon":
                      $q_soort = " AND catalogus.type_id = 2 ";
                 break;
                 case "Overig":
                      $q_soort = " AND catalogus.type_id = 3 ";
                 break;
         }
         $query = "
         SELECT
               *
         FROM
             catalogus,
             type_catalogus,
             merk_catalogus
         WHERE
              catalogus.merk_id = merk_catalogus.merk_id
         AND
              catalogus.type_id = type_catalogus.type_id
         ".
         "$q_art_nr".
         "$q_int_expr".
         "$q_soort".
         "$q_neuheit".
         "ORDER BY nr_trein";
         //echo "$query";
         $result = mysql_query ($query)
                                or die (mysql_error());

er zit nog meer meuk tussen, je moet maar kijken wat je gebruikt ;)
-edit- met
or die (mysql_error());
zie je je errors;

[ Voor 18% gewijzigd door EL_Loco op 10-02-2003 16:45 ]

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bovenstaand script is iets te ingewikkeld voor mij :)

Ik ben nu 2 dagen bezig met php dus ik vind dat ik met mijn eigen script al een heel eind was :)

Iemand die hier een kleine uitleg bij kan geven. ik wil ook best zoeken, als er maar iemand is die een zetje de goeie richting in geeft..

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Iemand die mij hier nog bij kan helpen?

Acties:
  • 0 Henk 'm!

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 04:26

GrimaceODespair

eens een tettenman, altijd ...

/me GrimaceODespair kan zich niet van de indruk ontdoen dat Haco iets te graag met zijn code te koop loopt, en ITsMatthijs eerst fora afschuimt, en daarna tutorials doorneemt.

Maar xou zeggen, probeer hier es.

Wij onderbreken deze thread voor reclame:
http://kalders.be


Acties:
  • 0 Henk 'm!

  • KillR-B
  • Registratie: Mei 2002
  • Laatst online: 09-09 09:55
whoami schreef op 10 februari 2003 @ 14:49:
....
....

Ik weet ook niet of MySQL een functie geeft zoals ISNULL() van SQL Server, anders kan je daar ook wel mee aan de slag...
Tadaaaaaaaa!!!

http://www.mysql.com/doc/...on_Operators.html#IDX1121

Acties:
  • 0 Henk 'm!

  • esf
  • Registratie: Juni 2002
  • Laatst online: 21-02 08:56

esf

Zoiets kan het misschien zijn....
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
$trefwoord = $_POST["trefwoord"];
$lengte = $_POST["lengte"];
if($trefwoord == "" || $lengte == "")
{
    /* Ga naar error afhandeling */
}
$query = "SELECT * FROM aanbod where ";
if (soort != "")
    $query .="soort like '%$trefwoord%' ";
if (lengte != "")
    $query .= "lente = '$lengte' ";

$query .= "ORDER BY soort ";


Misschien heb ik dan al te veel geholpen, maar echt moeilijk is dit niet. Ik heb het alleen nog niet op fouten gecheckt. Misschien moet hij nog wat aangepast worden..

The hardest thing in the world to understand is the income tax. - Albert Einstein

Pagina: 1