query fout: invalid in the select list...
Ik heb het volgende probleem. Wat ik doe is ik haal bij de eerste query een ID uit de tabel documenten door te zoeken op projectnummer. Daarna voor ik de query uit om het bedrijf erbij te zoeken. Daarna wil ik dat hij op onderdeel sorteerd.
Ik gebruik de volgende code maar ik krijg steeds de volgende error en snap niet wat deze betekend:
Column 'bedrijven.mobielenummer' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Code (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
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
<?php
$query5= "SELECT bedrijfid,naam_bedrijf,adres,postcode,plaats,onderdeel,telefoonnummer,faxnummer,email,contactpersoon,mobielenummer FROM bedrijven WHERE EXISTS (SELECT 1 FROM documenten WHERE documenten.projectnummer LIKE '%" . $_POST["docproject"] . "%') GROUP BY bedrijven.bedrijfid ORDER BY naam_bedrijf ASC";
$result5= mssql_query($query5) or die (mssql_get_last_message());
while ($row5 = mssql_fetch_array($result5)){
echo ("<tr><td>");
echo ($row5["naam_bedrijf"]);
echo ("</td><td>");
echo ($row5["adres"]);
echo ("</td><td>");
echo ($row5["postcode"]);
echo ("</td><td>");
echo ($row3["plaats"]);
echo ("</td><td>");
echo ($row5["onderdeel"]);
echo ("</td><td>");
echo ($row5["telefoonnummer"]);
echo ("</td><td>");
echo ($row5["faxnummer"]);
echo ("</td><td>");
echo ($row5["email"]);
echo ("</td><td>");
echo ($row5["contactpersoon"]);
echo ("</td><td>");
echo ($row5["mobielenummer"]);
echo ("</td></tr>");
}
?>
$query5= "SELECT bedrijfid,naam_bedrijf,adres,postcode,plaats,onderdeel,telefoonnummer,faxnummer,email,contactpersoon,mobielenummer FROM bedrijven WHERE EXISTS (SELECT 1 FROM documenten WHERE documenten.projectnummer LIKE '%" . $_POST["docproject"] . "%') GROUP BY bedrijven.bedrijfid ORDER BY naam_bedrijf ASC";
$result5= mssql_query($query5) or die (mssql_get_last_message());
while ($row5 = mssql_fetch_array($result5)){
echo ("<tr><td>");
echo ($row5["naam_bedrijf"]);
echo ("</td><td>");
echo ($row5["adres"]);
echo ("</td><td>");
echo ($row5["postcode"]);
echo ("</td><td>");
echo ($row3["plaats"]);
echo ("</td><td>");
echo ($row5["onderdeel"]);
echo ("</td><td>");
echo ($row5["telefoonnummer"]);
echo ("</td><td>");
echo ($row5["faxnummer"]);
echo ("</td><td>");
echo ($row5["email"]);
echo ("</td><td>");
echo ($row5["contactpersoon"]);
echo ("</td><td>");
echo ($row5["mobielenummer"]);
echo ("</td></tr>");
}
?>
Weet iemand hoe dit op te lossen?
Alvast bedankt
Nilis
Code (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
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
<?php
$sql = "SELECT
bedrijfid,
naam_bedrijf,
adres,
postcode,
plaats,
onderdeel,
telefoonnummer,
faxnummer,
email,
contactpersoon,
mobielenummer
FROM
bedrijven
WHERE EXISTS
(SELECT
1
FROM
documenten
WHERE
documenten.projectnummer
LIKE '%".htmlentities($_POST["docproject"])."%'
)
GROUP BY
bedrijfid
ORDER BY
naam_bedrijf ASC";
$res = mssql_query($sql);
if ($res && mssql_num_rows($res) >= 1)
{
echo '<table cellspacing="0" cellpadding="0" border="0">';
while ($row = mssql_fetch_array($res))
{
echo '<tr>
<td>'.$row["naam_bedrijf"].'</td>
<td>'.$row["adres"].'</td>
<td>'.$row["postcode"].'</td>
<td>'.$row["plaats"].'</td>
<td>'.$row["onderdeel"].'</td>
<td>'.$row["telefoonnummer"].'</td>
<td>'.$row["faxnummer"].'</td>
<td>'.$row["email"].'</td>
<td>'.$row["contactpersoon"].'</td>
<td>'.$row["mobielenummer"].'</td>
</tr>';
}
echo '</table>';
} else {
echo 'Geen resultaat';
}
?>
$sql = "SELECT
bedrijfid,
naam_bedrijf,
adres,
postcode,
plaats,
onderdeel,
telefoonnummer,
faxnummer,
email,
contactpersoon,
mobielenummer
FROM
bedrijven
WHERE EXISTS
(SELECT
1
FROM
documenten
WHERE
documenten.projectnummer
LIKE '%".htmlentities($_POST["docproject"])."%'
)
GROUP BY
bedrijfid
ORDER BY
naam_bedrijf ASC";
$res = mssql_query($sql);
if ($res && mssql_num_rows($res) >= 1)
{
echo '<table cellspacing="0" cellpadding="0" border="0">';
while ($row = mssql_fetch_array($res))
{
echo '<tr>
<td>'.$row["naam_bedrijf"].'</td>
<td>'.$row["adres"].'</td>
<td>'.$row["postcode"].'</td>
<td>'.$row["plaats"].'</td>
<td>'.$row["onderdeel"].'</td>
<td>'.$row["telefoonnummer"].'</td>
<td>'.$row["faxnummer"].'</td>
<td>'.$row["email"].'</td>
<td>'.$row["contactpersoon"].'</td>
<td>'.$row["mobielenummer"].'</td>
</tr>';
}
echo '</table>';
} else {
echo 'Geen resultaat';
}
?>
Gewijzigd op 01/01/1970 01:00:00 door - wes -
(Btw de tabel heb ik boven al aangemaakt en onder afgesloten buiten de php code).
Gewijzigd op 01/01/1970 01:00:00 door Nils
ging me meer om de opmaak, dat je het verschil ziet in onduidelijk en omslachtig, en duidelijk geordend
wes schreef op 08.05.2007 12:21:
ging me meer om de opmaak, dat je het verschil ziet in onduidelijk en omslachtig, en duidelijk geordend
Dat mijn opmaak niet altijd even mooi is dat weet ik, word daar steeds netter in maar zolang doe ik nog geen php vandaar, weet je toevallig ook wat het probleem is ?
mobielenummer heet waarschijnlijk anders in je tabel, moet je even kijken hoe dat er staat
nee wanneer ik mobielenummer weg haal krijg ik dezelfde foutmelding alleen dan nu met email en zo steeds door. De laatste uit de select statement krijgt de error alleen weet ik nie wrom :S