renzomassaro
Gebruiker
- Lid geworden
- 26 sep 2006
- Berichten
- 44
`Goedemorgen,
Hieronder heb ik een aantal query's in php script, diegegevens uit het voorbeeld daaronder weergeven.
Voorbeeld script>>>>
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
$conn=odbc_connect('stratechdb','sa','sa');
$sql= "SELECT OBJECT.ID AS 'OBJECTID', OBJECT.NUMMER, OBJECT.OMSCHRIJVING
FROM OBJECT,OBJECTSOORTKENMERK,OBJECT_OBJECTKENMERK
WHERE EXISTS
(SELECT OBJECT.ID,OBJECTSOORTKENMERK.OMSCHRIJVING
WHERE OBJECT.IDOBJECTTYPE = 10001219
AND OBJECTSOORTKENMERK.OMSCHRIJVING IN ( 'senseo' , 'ligbad' , 'huisdiervrij' )
AND OBJECT_OBJECTKENMERK.IDOBJECTSOORTKENMERK = OBJECTSOORTKENMERK.ID
AND OBJECT_OBJECTKENMERK.IDOBJECT = OBJECT.ID)
GROUP BY OBJECT.ID,OBJECT.NUMMER,OBJECT.OMSCHRIJVING
having count(object.omschrijving) = 3
";
$rs=odbc_exec($conn, $sql);
$error = "Geen gegevens gevonden!";
echo "<table>";
echo "<tr style=\"background-color : #bee2f9;\"><td><b>OBJECT</b> | </td><td><b>NUMMER</b> </td><td><b>| ID</b></td></tr>";
while (odbc_fetch_array($rs)){
$OBJECTID = odbc_result($rs,"OBJECTID");
$NUMMER = odbc_result($rs,"NUMMER");
$OMSCHRIJVING = odbc_result($rs,"OMSCHRIJVING");
echo "<tr style=\"background-color : #edf8ff;\"><td>" . $OMSCHRIJVING . " | </td><td>" . $NUMMER . " </td><td>| " . $OBJECTID . "</td></tr>";
$sql2="SELECT COUNT($OBJECTID) AS 'OBJECTID2',OBJECTSOORTKENMERK.OMSCHRIJVING, OBJECTSOORTKENMERK.ID
FROM OBJECTSOORTKENMERK, OBJECT_OBJECTKENMERK
WHERE OBJECT_OBJECTKENMERK.IDOBJECTSOORTKENMERK = OBJECTSOORTKENMERK.ID
AND OBJECT_OBJECTKENMERK.IDOBJECT = $OBJECTID
GROUP BY OBJECTSOORTKENMERK.OMSCHRIJVING, OBJECTSOORTKENMERK.ID
";
$rs2=odbc_exec($conn,$sql2);
while (odbc_fetch_row($rs2))
{
$ID = odbc_result($rs2,"ID");
$OMSCHRIJVING = odbc_result($rs2,"OMSCHRIJVING");
$OBJECTID2 = odbc_result($rs2,"OBJECTID2");
echo "<tr><td><td>" . $OMSCHRIJVING . "</td><td>" . $ID . "</td><td>" . $OBJECTID2 . "</td></tr>";
}
}
echo "</table>";
?>
Voorbeeld antwoord script>>>>
Alcyon 21 | 310 | 10005114
badkamer (2e) 10001006 1
toilet (2e) 10001008 1
huisdiervrij 10001104 1
magnetron 10001138 1
open haard 10001156 1
vaatwasser 10001204 1
wasmachine 10001217 1
slaapkamer beneden 60001029 1
douche 60001031 1
ligbad 60001032 1
badkamer boven 60001033 1
vrijstaand 60001050 1
dvd speler 60001053 1
eenpersoonsbedden 60001057 1
berging/schuurtje 60001099 1
slaapkamers (3) 60001149 1
slaapkamer(s) boven 60001174 1
parkeerplaats 60001236 1
senseo 60001315 1
Alcyon 42 | 324 | 10005120
badkamer (2e) 10001006 1
toilet (2e) 10001008 1
CARA 10001059 1
combi magnetron 10001062 1
huisdiervrij 10001104 1
rookvrij 10001166 1
vaatwasser 10001204 1
wasmachine 10001217 1
slaapkamer beneden 60001029 1
douche 60001031 1
ligbad 60001032 1
badkamer boven 60001033 1
badkamer beneden 60001034 1
vrijstaand 60001050 1
dvd speler 60001053 1
eenpersoonsbedden 60001057 1
berging/schuurtje 60001099 1
slaapkamers (3) 60001149 1
slaapkamer(s) boven 60001174 1
parkeerplaats 60001236 1
senseo 60001315 1
Alcyon 43 | 325 | 10005121
badkamer (2e) 10001006 1
toilet (2e) 10001008 1
huisdiervrij 10001104 1
magnetron 10001138 1
open haard 10001156 1
vaatwasser 10001204 1
wasmachine 10001217 1
slaapkamer beneden 60001029 1
douche 60001031 1
ligbad 60001032 1
badkamer boven 60001033 1
badkamer beneden 60001034 1
vrijstaand 60001050 1
dvd speler 60001053 1
eenpersoonsbedden 60001057 1
berging/schuurtje 60001099 1
slaapkamers (3) 60001149 1
slaapkamer(s) boven 60001174 1
parkeerplaats 60001236 1
senseo 60001315 1
De 1'tjes op het eind komt door de count die erin zit. Wat ik nu wil is dat een query gaat vergelijken of bv badkamer in elk huisje voorkomt, zo ja, dan dat huisje laten zien, komt deze niet in elk huisje voor, dan niet laten zien.
Ik had zo'n idee dat ik dan eerst het aantal gevonden huisjes moet laten tellen(bv 10) en dat dan ergens een vergelijking komt, die kijkt of dan badkamer 10 keer voorkomt. Komt die maar 9 keer voor, dan wil ik dat huisje waar deze niet inzit weglaten.
Weet iemand hoe ik hier een beetje aan moet beginnen?
Hieronder heb ik een aantal query's in php script, diegegevens uit het voorbeeld daaronder weergeven.
Voorbeeld script>>>>
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
$conn=odbc_connect('stratechdb','sa','sa');
$sql= "SELECT OBJECT.ID AS 'OBJECTID', OBJECT.NUMMER, OBJECT.OMSCHRIJVING
FROM OBJECT,OBJECTSOORTKENMERK,OBJECT_OBJECTKENMERK
WHERE EXISTS
(SELECT OBJECT.ID,OBJECTSOORTKENMERK.OMSCHRIJVING
WHERE OBJECT.IDOBJECTTYPE = 10001219
AND OBJECTSOORTKENMERK.OMSCHRIJVING IN ( 'senseo' , 'ligbad' , 'huisdiervrij' )
AND OBJECT_OBJECTKENMERK.IDOBJECTSOORTKENMERK = OBJECTSOORTKENMERK.ID
AND OBJECT_OBJECTKENMERK.IDOBJECT = OBJECT.ID)
GROUP BY OBJECT.ID,OBJECT.NUMMER,OBJECT.OMSCHRIJVING
having count(object.omschrijving) = 3
";
$rs=odbc_exec($conn, $sql);
$error = "Geen gegevens gevonden!";
echo "<table>";
echo "<tr style=\"background-color : #bee2f9;\"><td><b>OBJECT</b> | </td><td><b>NUMMER</b> </td><td><b>| ID</b></td></tr>";
while (odbc_fetch_array($rs)){
$OBJECTID = odbc_result($rs,"OBJECTID");
$NUMMER = odbc_result($rs,"NUMMER");
$OMSCHRIJVING = odbc_result($rs,"OMSCHRIJVING");
echo "<tr style=\"background-color : #edf8ff;\"><td>" . $OMSCHRIJVING . " | </td><td>" . $NUMMER . " </td><td>| " . $OBJECTID . "</td></tr>";
$sql2="SELECT COUNT($OBJECTID) AS 'OBJECTID2',OBJECTSOORTKENMERK.OMSCHRIJVING, OBJECTSOORTKENMERK.ID
FROM OBJECTSOORTKENMERK, OBJECT_OBJECTKENMERK
WHERE OBJECT_OBJECTKENMERK.IDOBJECTSOORTKENMERK = OBJECTSOORTKENMERK.ID
AND OBJECT_OBJECTKENMERK.IDOBJECT = $OBJECTID
GROUP BY OBJECTSOORTKENMERK.OMSCHRIJVING, OBJECTSOORTKENMERK.ID
";
$rs2=odbc_exec($conn,$sql2);
while (odbc_fetch_row($rs2))
{
$ID = odbc_result($rs2,"ID");
$OMSCHRIJVING = odbc_result($rs2,"OMSCHRIJVING");
$OBJECTID2 = odbc_result($rs2,"OBJECTID2");
echo "<tr><td><td>" . $OMSCHRIJVING . "</td><td>" . $ID . "</td><td>" . $OBJECTID2 . "</td></tr>";
}
}
echo "</table>";
?>
Voorbeeld antwoord script>>>>
Alcyon 21 | 310 | 10005114
badkamer (2e) 10001006 1
toilet (2e) 10001008 1
huisdiervrij 10001104 1
magnetron 10001138 1
open haard 10001156 1
vaatwasser 10001204 1
wasmachine 10001217 1
slaapkamer beneden 60001029 1
douche 60001031 1
ligbad 60001032 1
badkamer boven 60001033 1
vrijstaand 60001050 1
dvd speler 60001053 1
eenpersoonsbedden 60001057 1
berging/schuurtje 60001099 1
slaapkamers (3) 60001149 1
slaapkamer(s) boven 60001174 1
parkeerplaats 60001236 1
senseo 60001315 1
Alcyon 42 | 324 | 10005120
badkamer (2e) 10001006 1
toilet (2e) 10001008 1
CARA 10001059 1
combi magnetron 10001062 1
huisdiervrij 10001104 1
rookvrij 10001166 1
vaatwasser 10001204 1
wasmachine 10001217 1
slaapkamer beneden 60001029 1
douche 60001031 1
ligbad 60001032 1
badkamer boven 60001033 1
badkamer beneden 60001034 1
vrijstaand 60001050 1
dvd speler 60001053 1
eenpersoonsbedden 60001057 1
berging/schuurtje 60001099 1
slaapkamers (3) 60001149 1
slaapkamer(s) boven 60001174 1
parkeerplaats 60001236 1
senseo 60001315 1
Alcyon 43 | 325 | 10005121
badkamer (2e) 10001006 1
toilet (2e) 10001008 1
huisdiervrij 10001104 1
magnetron 10001138 1
open haard 10001156 1
vaatwasser 10001204 1
wasmachine 10001217 1
slaapkamer beneden 60001029 1
douche 60001031 1
ligbad 60001032 1
badkamer boven 60001033 1
badkamer beneden 60001034 1
vrijstaand 60001050 1
dvd speler 60001053 1
eenpersoonsbedden 60001057 1
berging/schuurtje 60001099 1
slaapkamers (3) 60001149 1
slaapkamer(s) boven 60001174 1
parkeerplaats 60001236 1
senseo 60001315 1
De 1'tjes op het eind komt door de count die erin zit. Wat ik nu wil is dat een query gaat vergelijken of bv badkamer in elk huisje voorkomt, zo ja, dan dat huisje laten zien, komt deze niet in elk huisje voor, dan niet laten zien.
Ik had zo'n idee dat ik dan eerst het aantal gevonden huisjes moet laten tellen(bv 10) en dat dan ergens een vergelijking komt, die kijkt of dan badkamer 10 keer voorkomt. Komt die maar 9 keer voor, dan wil ik dat huisje waar deze niet inzit weglaten.
Weet iemand hoe ik hier een beetje aan moet beginnen?