vergelijk query

Status
Niet open voor verdere reacties.

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?
 
Eyz...

Het is een beetje afhankelijk van de database die erachter zit, maar ik zou alle huisjes op een aparte rij zetten en dan in de kolommen de faciliteiten.

Daarna kun je de faciliteiten met 0-en en 1-en vullen. Als je dan je script maakt kun je eenvoudig meerdere condities in je where opnemen (met php dus vinkvakjes of iets dergelijks) en als resultaat alleen alle 1-en of desgewenst de 0-en weergeven...

Weet niet of je er iets aan hebt, ik hoor het wel! :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan