alternatief voor AND?
"Maximum execution time of 30 seconds exceeded" betekend dat de while-loop oneindig is volgens mij, maar er is niks fout aan toch?
Hoe ziet $group_03_query eruit als je deze op je scherm gooit? Het is nu nogal gissen, het lijkt erop alsof de query een eindeloze lus oplevert. Waarom gebruik je trouwens or die( mysql_error( ) ) terwijl je met odbc werkt?? :)
En dat de max_time overschreden wordt wil zeggen dat je of een hele grote query uitvoert of (en dit is vaak het geval) 1 van de joins vergeten bent waardoor je eigenlijk de resultaten vermenigvuldigt.
Let op:
SELECT a.id, b.id FROM
klanten as a,
adressen as b
WHERE a.id=b.id
geeft bijvoorbeeld 3 rijen
Nu zal
SELECT a.id, b.id FROM
klanten as a,
adressen as b
9 rijen retouneren. Voor alle klanten worden alle adressen oopgehaald dus 3 X3
In een grote database lopen de aantalllen dus redelijk snel op
@Klaasjan;
Ik zal ff de GROUP BY's terugzetten..
maar a.id en b.id gebruik je toch als je gebruik maakt van 2 databases, en die wilt vergelijken met elkaar?
Ik zal zo even mijn script weer updaten op de eerste pagina..
edit:
zie Re: alternatief voor AND? op 16.10.2006 12:26
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Pervasive][ODBC Client Interface][LNA][Pervasive][ODBC Engine Interface]Syntax Error: SELECT u_materiaal, u_maatvoerin FROM artbst WHERE u_merk LIKE '(' << ??? >>&& (u_type LIKE ' ') GROUP BY u_materiaal,u_maatvoerin, SQL state 37000 in SQLExecDirect in W:\Web\Index\Service\installatieoverzicht\linkselect4popup.php on line 141
Notice: 37000 in W:\Web\Index\Service\installatieoverzicht\linkselect4popup.php on line 141
Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in W:\Web\Index\Service\installatieoverzicht\linkselect4popup.php on line 142
line 140-147
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<? $group_03_query = "SELECT ".$table_column_03.", ".$table_column_04." FROM ".$table." WHERE ".$table_column_01." LIKE '".$group_01[$table_column_01]."' && (".$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" ;
} ?>
$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" ;
} ?>
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
............idd Lezen is ook een kunst.......
lost overigens je fout niet op
Gaat mis
Code (php)
1
2
3
2
3
<?php
"WHERE u_merk LIKE '%".$group_01[$table_column_01]."%' & ".$table_column_02." LIKE '%".$group_02[$table_column_02]."%'"
?>
"WHERE u_merk LIKE '%".$group_01[$table_column_01]."%' & ".$table_column_02." LIKE '%".$group_02[$table_column_02]."%'"
?>
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
nee het is maatvoerin.. :) exact kan niet meer lettertekens verwerken ofzo dus dat gaat goed, ik zal het eens proberen met 1 '&'..
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Pervasive][ODBC Client Interface][LNA][Pervasive][ODBC Engine Interface]Syntax Error: SELECT u_materiaal, u_maatvoerin FROM artbst WHERE u_merk LIKE '%(%' << ??? >>& u_type LIKE '% %', SQL state 37000 in SQLExecDirect in W:\Web\Index\Service\installatieoverzicht\linkselect4popup.php on line 141
Notice: 37000 in W:\Web\Index\Service\installatieoverzicht\linkselect4popup.php on line 141
Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in W:\Web\Index\Service\installatieoverzicht\linkselect4popup.php on line 142
.. :)
En heb je de rest van mijn QUERY ook geprobeerd?
Ik ben er nu ook achter als ik op de betreffende regel 140/141 in de query 'AND (".$table_column_02." LIKE '".$group_02[$table_column_02]."')' weglaat dan werkt het script wel... Ook het 4e veld krijgt dan de bijbehorende waarde.. :S
Klaasjan Boven schreef op 20.10.2006 11:03:
En heb je de rest van mijn QUERY ook geprobeerd?
ja, werkte ook niet..
Maar roep ik die AND wel goed aan? want als ik hem weghaal doet hij het wel alleen vergelijkt hij dan de waarde alleen met het eerste veld..
edit: typo
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
op line 142..
krijg ik dit als output:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<? // in code tags, zodat het netjes onder elkaar staat ?>
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE '(') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'A') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'B') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'C') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'E') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'H') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'I') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'M') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'P') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'R') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'S') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'T') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE 'GBF 512 ')AND(u_merk LIKE 'T') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE '(') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'A') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'B') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'C') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'E') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'H') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'I') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'M') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'P') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'R') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'S') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE ' ')AND(u_merk LIKE 'T') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE (u_type LIKE 'GBF 512 ')AND(u_merk LIKE 'T') GROUP BY u_materiaal,u_maatvoerin
SELECT u_materiaal, u_maatvoerin FROM artbst WHERE u_type LIKE ' ' AND u_merk LIKE '' GROUP BY u_materiaal,u_maatvoerin
Er is toch eigenlijk gewoon geen reet mis met mijn query :) ?
Ik snap der niks van