13. april 2010 - 08:26Der er
18 kommentarer og 1 løsning
hjælp lidt søgening i mysql DB
Hejsa alle sammen !..
Jeg skal ha lavet lidt simpelt søgening i min mysql database :)
jeg har 3 felter i mysql start_dato, mellem_dato, slut_dato. de 3 felter indeholder kun timestamp's.
Når en bruger søger efter en dato på siden bliver den lavet om til et timestamp. hvordan skal min query se ud for at se tjekker i alle 3 tabel rækker. håber i forstår. eller skriver i bare lige så uddyber jeg :)
Skal du søge på de præcise datoer eller er det intervaller du vil søge i? Jeg hæfter mig lidt ved at du har et felt kaldet mellem_dato...
Synes godt om
Slettet bruger
13. april 2010 - 09:24#2
Det skal fungere på denne måde:
Jeg har brugerens dato/timestamp (den dato brugeren gerne vil søge efter).
Og det timestamp skal tjekkes i de 3 tabel rækker, hvis datoen findes i databasen skal der udskrives en fejl besked, hvis datoen ikke findes skal der udskrives en anden besked.
<?php $sql = "SELECT * FROM table WHERE start_dato=timestamp OR mellem_dato=timestamp OR slut_dato=timestamp" $res = mysql_query($sql);
if(mysql_num_rows($res) > 0) echo "Datoen er fundet"; else echo "Datoen blev ikke fundet";
?>
Synes godt om
Slettet bruger
13. april 2010 - 10:10#4
Jeg afprøver lige når jeg kommer hjem og vender så tilbage :)
.db
Synes godt om
Slettet bruger
13. april 2010 - 15:33#5
Hej igen. jeg er stødt ind i et andet problem før jeg kan få testet det kode du skrev :)
Jeg troede at mine timestamps var rigtige nok, men det er de jo self. ikke :-/
Beskriver lige problemet: Jeg har to værdier fra to select bokse fx. 4 og 7(D. 4/7). det smider jeg i en mktime(0,0,0,$4,$7,"2010") hvilket skulle give et unikt timestamp for lige præcis D. 4/7/2010.
Men når jeg tester får jeg datoen 01/Jan/1970.
Hvad gør jeg galt? vil i se mer' kode eller lign.?:)
Jeg ved ikke helt hvad for noget kode jeg mer skal smide ind :)
Men jeg har 2 variabler med tal hvilket udgør en dato fx. 4/7 og smider 2010 i enden så datoen hedder 4/7/2010, hvordan får jeg lavet den dato om til et unikt timestamp? Når det fungere kan jeg komme videre.
Og så mangler du stadig at forklare hvad de enkelt felter i tabel i din database står for.
Synes godt om
Slettet bruger
13. april 2010 - 20:10#9
Det er til et lille booking system af et forsamlingshus man kan leje det fra 1 - 3 dage, der af de 3 dato felter (start_dato, mellem_dato, slut_dato) det er måske ikke de bedste navne men det kom de nu en gang til at hedde.
Laver du noget tjek på om brugen indtaster 3 på hinanden efterfølgende dage ? Hvad sker der hvis brugen ikke har valgt en mellem_dato, hvis han/hun kun vil have to dage ?
Synes godt om
Slettet bruger
13. april 2010 - 21:11#12
mellem_dato er for at få alle 3 datoer i databasen.
jeg har ikke andet tjek end det jeg har postet endnu da jeg er gået lidt i stå nu hvor de her timestamps ikke virkede rigtigt.
Ville du lave databasen på en anden måde med dato felterne? alle 3 datoer skal jo stå som optaget hvis man har lejet det i 3 dage.
Jeg ville nok vælge bare at have en start og en slut dato. Så kan du altid tjekke hvor mange dage de dækker over samt om perioden er opdaget. Det findes der smarte mysql funktioner til.
Synes godt om
Slettet bruger
13. april 2010 - 21:41#14
Burde jeg slette mellem_dato og arbejde i kun at have en start og en slut dato? jeg syntes det lyder mere "besværligt" og giver en masse unødvendig kode :) det kan godt være det bare er mig?:)
Vil næppe tro det giver dig mere kode at have et tidsrum i stedet for 3 enkelt dage.
Hvad sker der hvis det bliver tilladt at bruge mere end 3 dage ? Hvor vil du løse det ?
Synes godt om
Slettet bruger
14. april 2010 - 08:18#16
Hvis det bliver tilladt at leje det mere end 3 dage, er der ligepludselig en masse kode jeg skal ind og ændre, det kan jeg godt se :-/ men det må jeg tage til den tid, nu skal jeg ha det til at virke, så kan jeg starte på en mere "dynamisk" version bagefter :)
Jeg kan med én simpel sql-sætning tjekke om tiden er optaget, kun med brug af start og slut dato.
Du mangler også at tjekke om de 3 dage hænger sammen.
Jeg lavede engang for lang tid siden en lille kalender, hvor man kunne book tider. Måske du kan bruge det til noget: http://www.eksperten.dk/spm/767295
Synes godt om
Slettet bruger
15. april 2010 - 16:26#18
Den vil jeg lige tage et kig på også, men nu vil jeg ha det her færdig, så kan det være den komme i en 2. udgave :) dkfire og repox, smider i et svar så vi kan få den her lukket :)
Et svar ;-) ( Måske lidt forsinket, men faldt over spørgsmål )
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.