alternatief voor AND?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Wout van der Burg

Wout van der Burg

16/10/2006 09:51:00
Quote Anchor link
Hallo, is er een alternatief voor het SQL commando 'AND'? Ik maak gebruik van een Pervasive Btrieve DB en ik heb het idee dat hij AND niet herkent..

dit is mijn huidige query;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
$group_03_query
= "SELECT * FROM ".$table." WHERE (".$table_column_03." LIKE '".$group_02[$table_column_03]."' AND ".$table_column_02." LIKE '".$group_01[$table_column_02]."')  GROUP BY ".$table_column_04;
            $group_03_result = odbc_exec($connectie,$group_03_query) or trigger_error("Could not connect to tabel (update DDF files)");
?>
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
 
PHP hulp

PHP hulp

18/11/2024 14:51:53
 
Klaasjan Boven

Klaasjan Boven

16/10/2006 10:01:00
Quote Anchor link
Volgens mij kan & ook
 
- wes  -

- wes -

16/10/2006 10:14:00
Quote Anchor link
dan is het nog altijd && , maar ik denk van niet
 
Wout van der Burg

Wout van der Burg

16/10/2006 10:28:00
Quote Anchor link
Nee dan krijg ik errors.. :)
 
Hipska BE

Hipska BE

16/10/2006 11:06:00
Quote Anchor link
even in de handleiding ervan kijken?
 
Remco van Arkelen

Remco van Arkelen

16/10/2006 11:37:00
Quote Anchor link
Waaruit leidt je af dat de error door je AND komt? Kun je de error eens laten zien? Ik vermoed dat het meer met je GROUP BY te maken heeft, kijk ook eens naar de SQL HAVING() functie.
 
Frank -

Frank -

16/10/2006 12:23:00
Quote Anchor link
Welke foutmelding krijg je retour? Echo voor het gemak ook de query eens even, dan weet je precies wat er nu richting de database wordt gestuurd.

En wat Remco ook al zegt, het zou best wel eens de GROUP BY kunnen zijn.
 
Wout van der Burg

Wout van der Burg

16/10/2006 12:26:00
Quote Anchor link
@Hipska; er is geen duidelijke handleiding over Pervasive net als MySQL

Nee ik krijg geen fouten... dat is het hem juist..

Ik maak gebruik van link select fields (zie script (4 velden) in de library hier), waaarvan de eerste 2 velden het gewoon doen, en de 3e en 4e niet...
Alleen bij de 3e en 4e maak ik gebruik in de query van AND, dus das het enige verschil
Ik heb het eerst gebruikt in combinatie met MySQL en toen deed hij het wel en nu met Pervasive Btrieve (ODBC dus) va nExact for Windows...
Hier mijn script;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
<?php
function quad_linked_selects(
$table,        // Table name
$table_column_01,    // Root category
$table_column_02,    // Available items in sub category
$table_column_03,    // Available items in sub-sub category
$table_column_04,    // Available items in sub-sub-sub category
$group_02_default_option_text,    // Default option text for the group 2 select
$group_03_default_option_text,    // Default option text for the group 3 select
$group_04_default_option_text)    // Default option text for the group 4 select
{
    error_reporting(E_ALL);
    
    include ('W:/Web/Index/odbcconf.php');
// Database connection
$connectie = odbc_connect("conectienaam","","") or die("Could not connect to ODBC client (Main connection)");

// Define globals
    global $javascript;
    global $group_01_options;
// Define variables
    $javascript = null; // Holds all the generated javascript
    $group_01_options = null; // Holds all the select options for group 1
// Static Javascript

    $javascript .=<<<content
    /* Linked Dropdown Selects Script Start */
    function DefaultGroup2()
    {
        var x = document.getElementById("Group2");
        x.length = 0;
        VarGroup2 = document.getElementById("Group2");
        VarGroup2.options[VarGroup2.options.length] = new Option("$group_02_default_option_text","");
        document.getElementById("Group2").disabled = true;
    }
    function DefaultGroup3()
    {
        var x = document.getElementById("Group3");
        x.length = 0;
        VarGroup3 = document.getElementById("Group3");
        VarGroup3.options[VarGroup3.options.length] = new Option("$group_03_default_option_text","");
        document.getElementById("Group3").disabled = true;
    }
    function DefaultGroup4()
    {
        var x = document.getElementById("Group4");
        x.length = 0;
        VarGroup4 = document.getElementById("Group4");
        VarGroup4.options[VarGroup4.options.length] = new Option("$group_04_default_option_text","");
        document.getElementById("Group4").disabled = true;
    }
    function ClearGroup3()
    {
        var x = document.getElementById("Group3");
        x.length = 0;
        document.getElementById("Group3").disabled = false;
    }
    function ClearGroup4()
    {
        var x = document.getElementById("Group4");
        x.length = 0;
        document.getElementById("Group4").disabled = false;
    }
    function CheckGroup1Select()
    {
        // If no Group1 is selected clear the Group2 and Group3 selects and set them to their default values
        if(document.getElementById("Group1").value == "")
        {
            // Clear the Group2 select and set to default value
            DefaultGroup2();
            // Clear the Group3 select and set to default value
            DefaultGroup3();
            // Clear the Group4 select and set to default value
            DefaultGroup4();
        }
content
;
// Groups 1 & 2 Javascript
    $group_01_query = "SELECT u_merk FROM ".$table." WHERE (artcode LIKE '".$_GET['artgrp'].".%') GROUP BY u_merk";
    $group_01_result = odbc_exec($connectie,$group_01_query) or trigger_error(odbc_error());
    while($group_01 = odbc_fetch_array($group_01_result))
    {

        $group_01_options .= '<option value="'.$group_01[$table_column_01].'">'.$group_01[$table_column_01].'</option>'."\r\n";
        $javascript .=<<<content
        else if(document.getElementById("Group1").value == "$group_01[$table_column_01]")
        {
            // Clear the Group2 select and set to default value
            DefaultGroup2();
            // Set dynamic options for Group2 select
            VarGroup2 = document.getElementById("Group2");
content
;
        $group_02_query = "SELECT ".$table_column_02." FROM ".$table." WHERE (".$table_column_01." LIKE '".$group_01[$table_column_01]."') GROUP BY ".$table_column_02;
        $group_02_result = odbc_exec($connectie,$group_02_query) or trigger_error(odbc_error());
        while($group_02 = odbc_fetch_array($group_02_result))
        {

            $javascript .='            VarGroup2.options[VarGroup2.options.length] = new Option("'.$group_02[$table_column_02].'","'.$group_02[$table_column_02].'");'."\r\n";
        }

            $javascript .=<<<content
            document.getElementById("Group2").disabled = false;
            // Clear the Group3 select and set to default value
            DefaultGroup3();
            DefaultGroup4();
        }
content
;
    }

        $javascript .='    }'."\r\n";
// Group 3 Javascript
    $javascript .=<<<content
    function CheckGroup2Select()
    {
content
;
    $group_01_query = "SELECT ".$table_column_01." FROM ".$table." GROUP BY ".$table_column_01."";
    $group_01_result = odbc_exec($connectie,$group_01_query) or trigger_error(odbc_error());
    while($group_01 = odbc_fetch_array($group_01_result))
    {

    $javascript .=<<<content
        if((document.getElementById("Group1").value == "$group_01[$table_column_01]") && (!document.getElementById("Group2").value))
        {
            // Clear the Group3&4 select and set to default value
            DefaultGroup3();
            DefaultGroup4();
        }
content
;
        $group_02_query = "SELECT ".$table_column_02." FROM ".$table." WHERE (".$table_column_01." LIKE '".$group_01[$table_column_01]."') GROUP BY ".$table_column_01.",".$table_column_02;
        $group_02_result = odbc_exec($connectie,$group_02_query) or trigger_error(odbc_error());
        while($group_02 = odbc_fetch_array($group_02_result))
        {

        $javascript .=<<<content
        else if((document.getElementById("Group1").value == "$group_01[$table_column_01]") && (document.getElementById("Group2").value == "$group_02[$table_column_02]"))
        {
            DefaultGroup3();
            VarGroup3 = document.getElementById("Group3");
content
;
            $group_03_query = "SELECT ".$table_column_03.", ".$table_column_04."  FROM ".$table." WHERE ".$table_column_01." LIKE '".$group_01[$table_column_01]."' AND (".$table_column_02." LIKE '".$group_02[$table_column_02]."')  GROUP BY ".$table_column_03.",".$table_column_04."";
            $group_03_result = odbc_exec($connectie,$group_03_query) or trigger_error(odbc_error());
            while($group_03 = odbc_fetch_array($group_03_result))
            {

                $javascript .='            VarGroup3.options[VarGroup3.options.length] = new Option("'.$group_03[$table_column_03].'","'.$group_03[$table_column_03].'");
                            VarGroup4.options[VarGroup4.options.length] = new Option("'
.$group_03[$table_column_04].'","'.$group_03[$table_column_04].'");
                '
."\r\n"            ;
            }

    $javascript .='            document.getElementById("Group3").disabled = false;
             document.getElementById("Group4").disabled = false;
        }'
."\r\n";
        }
    }

    $javascript .=<<<content
    }
content
;
// Group 4 Javascript
    $javascript .=<<<content
    function CheckGroup3Select()
    {
content
;
    $group_01_query = "SELECT ".$table_column_01.", ".$table_column_02." FROM ".$table." GROUP BY ".$table_column_01.",".$table_column_02."";
    $group_01_result = odbc_exec($connectie,$group_01_query) or trigger_error(odbc_error());
    while($group_01 = odbc_fetch_array($group_01_result))
    {

    $javascript .=<<<content
        if((document.getElementById("Group2").value == "$group_01[$table_column_02]") && (document.getElementById("Group3").value == "$group_02[$table_column_03]") && (!document.getElementById("Group4").value))
        {
            // Clear the Group4 select and set to default value
            DefaultGroup4();
            VarGroup4 = document.getElementById("Group4");
        }
content
;
        $group_02_query = "SELECT ".$table_column_02.", ".$table_column_03." FROM ".$table." WHERE (".$table_column_02." LIKE '".$group_01[$table_column_02]."') GROUP BY ".$table_column_02.",".$table_column_03;
        $group_02_result = odbc_exec($connectie,$group_02_query) or trigger_error(odbc_error());
        while($group_02 = odbc_fetch_array($group_02_result))
        {


        $javascript .=<<<content
        else if((document.getElementById("Group2").value == "$group_01[$table_column_02]") && (document.getElementById("Group3").value == "$group_02[$table_column_03]"))
        {
            DefaultGroup4();
            VarGroup4 = document.getElementById("Group4");
content
;
            $group_03_query = "SELECT * FROM ".$table." WHERE ".$table_column_03." LIKE '".$group_02[$table_column_03]."' AND (".$table_column_02." LIKE '".$group_01[$table_column_02]."')  GROUP BY ".$table_column_04;
            $group_03_result = odbc_exec($connectie,$group_03_query) or trigger_error(odbc_error());
            while($group_03 = odbc_fetch_array($group_03_result))
            {

                $javascript .='            VarGroup4.options[VarGroup4.options.length] = new Option("'.$group_03[$table_column_04].'","'.$group_03[$table_column_04].'");'."\r\n";
            }

    $javascript .='            document.getElementById("Group4").disabled = false;

                        }'
."\r\n";
        }
    }

    $javascript .=<<<content
    }
    window.onload = CheckGroup1Select;
    /* Linked Dropdown Selects Script End */
content
;
}
// End of quad_linked_selects function
// Call the quad_linked_selects function

quad_linked_selects('artbst','u_merk','u_type','u_materiaal','u_maatvoerin','Selecteer...','Selecteer...','Selecteer...',$_GET['artgrp']);
?>
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
 
Wout van der Burg

Wout van der Burg

16/10/2006 14:12:00
Quote Anchor link
Dus ik zou zeggen dat AND de boosdoener is, omdat dit het enige verschil is.. :( kan iemand me please helpen??
 
Willem Jan Z

Willem Jan Z

16/10/2006 14:20:00
Quote Anchor link
Als ik mijn bescheiden mening mag geven...
Als jij een SQL server draait die geen AND ondersteunt, moet je je serieus afvragen waarom je dat zou doen. Misschien heb je geen keus, maar neem dan een andere host.
 
Wout van der Burg

Wout van der Burg

16/10/2006 14:28:00
Quote Anchor link
Nee, de administratie maakt gebruik van Exact for Windows, een softwarepakket welke debiteuren en artikelen informatie beheren mogelijk maakt (goed voor boekhouden).
De achterhangende DB hiervoor is een Btrieve DB, dus ideaal als je met ODBC kan koppelen... Anders moet ik exporteren naar xls en dan met navicat importeren naar MySQL... dus dan heb je alsnog niet via je intranet live gegevens va nje debiteuren en artikelen.. :(
 
Frank -

Frank -

16/10/2006 14:31:00
Quote Anchor link
AND wordt gewoon ondersteund, zie http://www.pervasive.com/library/docs/psql/950/sqlref/sqlref-04-68.html

Ik had ook niet anders verwacht! Wat moet in vredesnaam met een database die geen AND kent? Dat heeft in elk geval niets meer met SQL te maken.
 
Wout van der Burg

Wout van der Burg

16/10/2006 14:33:00
Quote Anchor link
:) ja dat dacht ik ook al idd... maar wat zou het anders kunnen zijn?
 
Wout van der Burg

Wout van der Burg

16/10/2006 14:35:00
Quote Anchor link
Gezien het voorbeeld op de gegeven site van Frank staan mijn haakjes verkeerd?
voorbeeld;
SELECT * FROM t1 WITH (INDEX (ndx1, ndx2)) WHERE (c1 = 1
OR c2 > 1) AND c3 = 1


.. maar dat maakt ook gee nreet uit.. :)
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
 
Frank -

Frank -

16/10/2006 15:21:00
Quote Anchor link
De haakjes lijken mij goed te staan, al zijn de haakjes om INDEX() niet nodig. Alleen INDEX gebruikt haakjes, lijkt me logisch.
 
Remco van Arkelen

Remco van Arkelen

16/10/2006 15:36:00
Quote Anchor link
Ik weet nagenoeg zeker dat het aan je GROUP BY ligt. Hoe kun je nu SELECT * doen en GROUP BY? Waar wil je op groeperen? Let op, dit is dus geen MySQL hé, die iedere group by gewoon slikt en zelf de output daarbij verzint.

Weet je zeker dat je geen foutmelding krijgt? Heb je de volledige query al eens op je beeld getoverd en uitgevoerd?
 
Klaasjan Boven

Klaasjan Boven

16/10/2006 15:50:00
Quote Anchor link
IK ben het met Remco eens: Ik zit nu in ORACLE te stoeien. :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
SELECT
     COUNT(B.IDENT),
     B.GEM_KODE,
     B.SEKTIE,
     B.PERCEELNR,
    IX_LETTER,
    IX_NUMMER,
     C.IDENT,
    C.IDENT_PBS,
    E.IDENT
FROM
    PEROBJ B,
      PERSUB C,
    PERALG A,
        VGBEL D,
    PERALG E
WHERE
    A.IDENT_OBJ=B.IDENT
AND
    C.IDENT = A.IDENT_SUB
AND
    A.VESTIGING= '27-09-2006'
AND
    D.STAMNR_SUB=C.IDENT_PBS

GROUP BY
    C.IDENT,  //als
    B.GEM_KODE,  //ik
     B.SEKTIE, // van
    B.PERCEELNR, //deze
     IX_LETTER,/weglaat
     IX_NUMMER,// krijg
    C.IDENT_PBS / ik geen resultaten
ORDER BY
    C.IDENT_PBS
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
 
Klaasjan Boven

Klaasjan Boven

16/10/2006 15:52:00
Quote Anchor link
expression & expression Dus & is wel een alternatief voor AND
 
Wout van der Burg

Wout van der Burg

18/10/2006 13:55:00
Quote Anchor link
Ik zal het proberen wanneer het mogelijk is!, maar dan vraag ik me af waarom hij de eerste 2 velden wél pakt.. :S
Ik laat het horen
 
Wout van der Burg

Wout van der Burg

18/10/2006 14:25:00
Quote Anchor link
Ik heb nu alle group by's weggehaald maar;

Ik krijg constand de volgende melding:

Fatal error: Maximum execution time of 30 seconds exceeded in W:\Web\Index\Service\installatieoverzicht\linkselect4popup.php on line 145

Waneer ik 30 secs naar 90 secs verleng, krijg ik nog steeds dezelfde fout op dezelfde line..

line 138 tm 145:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?          $group_03_query = "SELECT * FROM ".$table." WHERE ".$table_column_02." = '".$group_02[$table_column_02]."' AND ".$table_column_01." = '".$group_01[$table_column_01]."'";
            $group_03_result = odbc_exec($connectie,$group_03_query) or die(mysql_error());
            while($group_03 = odbc_fetch_array($group_03_result))
            {

                $javascript .='            VarGroup3.options[VarGroup3.options.length] = new Option("'.$group_03[$table_column_03].'","'.$group_03[$table_column_03].'");
                            VarGroup4.options[VarGroup4.options.length] = new Option("'
.$group_03[$table_column_04].'","'.$group_03[$table_column_04].'");
                '
."\r\n"            ;
            }
?>
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
 
Wout van der Burg

Wout van der Burg

20/10/2006 08:21:00
Quote Anchor link
Kan iemand mij helpen met mijn laatst geposte foutmelding?
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.