Kombinerad sökning i MySQL

Tråden skapades och har fått 4 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Höganäs
  • 2003-03-04 19:42

Hej
Har just påbörjat ett litet projekt i den för mig nya miljön PHP/MySQL. (Det handlar om ett litet bokningssystem)

Vid ett tillfälle vill jag utföra en sökning i tabellen "bokningar", där jag är intresserad av att
hitta bokningar som krockar med den bokning som användaren valt att göra.

Jag gör detta mha en rad sökningar, enligt följande exempel :
(Jag vill dock koppla ihop dem till en enda sökning, se mer efter exemplet)

Citat:

kod:<pre style="font-size:x-small; font-family: monospace;">// Exempel:

$koll = 0; // Koll är den variabel som ökas på om sökningen hittar bokning som krockar

// Sökning 1:

$result = mysql_query("
SELECT * FROM `bokningar`
WHERE `ObjektID` = $ID
AND `Datum` = ´$Datum´
AND `StartTid` >= ´$StartTid´
AND `SlutTid` <= ´$SlutTid´
AND `Status` = ´OK´");

while($line = mysql_fetch_array($result))
{
$koll ++;
}

// Sökning 2:

$result = mysql_query("
SELECT * FROM `bokningar`
WHERE `ObjektID` = $ID
AND `Datum` = ´$Datum´
AND `SlutTid` >= ´$StartTid´
AND `SlutTid` <= ´$SlutTid´
AND `Status` = ´OK´");

while($line = mysql_fetch_array($result))
{
$koll ++;
}
// osv</pre>

// (+ ytterligare två liknande sökkriterier. (Det som i
// princip skiljer sökningaran åt är alltså <= och >= ,,,)

Nu till mitt problem / min fråga:

Kan jag förena dessa (det är fyra) sökningar till en enda?!?

Hur ska det i så fall se ut?

Tacksam för hjälp!!!

ps.
Ett alternativ att öka $koll på var detta, som jag kom på i ett senare skede:

Citat:

kod:<pre style="font-size:x-small; font-family: monospace;">
$count = mysql_num_rows($result);
{
if($count > 0)
{
$koll ++;
}
}

</pre>

  • Medlem
  • Höganäs
  • 2003-03-05 08:09

Ingen?

*bump*

Citat:

kod:<pre style="font-size:x-small; font-family: monospace;">// Exempel:

$koll = 0; // Koll är den variabel som ökas på om sökningen hittar bokning som krockar

// Sökning 1:

$result = mysql_query("
SELECT * FROM `bokningar`
WHERE (`ObjektID` = $ID
AND `Datum` = ´$Datum´
AND `StartTid` >= ´$StartTid´
AND `SlutTid` <= ´$SlutTid´
AND `Status` = ´OK´)

OR

(`ObjektID` = $ID
AND `Datum` = ´$Datum´
AND `SlutTid` >= ´$StartTid´
AND `SlutTid` <= ´$SlutTid´
AND `Status` = ´OK´)");

while($line = mysql_fetch_array($result))
{
$koll ++;
}
// osv</pre>

//

Sedan får du bygga på med en ifsats för att ta reda på vilken av sökkriterierna som stämde, eller båda.

Ursäkta om det ser slarvigt ut men tab-tangenten ville inte fungera i safari utan hoppade till adressfältet trots att markören befann sig i en textarea.

  • Medlem
  • Höganäs
  • 2003-03-05 08:59

Tack Scooterbabe!

Keine Ursache - jag postar snart en annan fråga på samma tema - kanske du kan vara till hjälp då

1
Bevaka tråden