[mysql] tijdlijn in database omzetten

Pagina: 1
Acties:

  • hobbeldebobbel
  • Registratie: Februari 2001
  • Laatst online: 15-02-2023
voor een reserverings systeem zoek ik een manier om een tijdlijn in een database te zetten.
Het gaat om het volgende... op tijdstip 0 zijn er 5 boten in stock, op tijdstip 2 zijn er nog maar 4, daarna bijvoorbeeld t3= 25.

ik zat zelf te denken aan deze opzet van de tabel:
id || tijdstip || aantal || soort
het soort veld is hier een middel om meerdere tijdlijnen achter elkaar te gebruiken.
ik zou dat per datum dat opgevraagd word moeten gaan kijken welke waarde van tijdstip kleiner is dan de opgevraagde tijd en dan de grootste waarde van tijdstip nemen. (als ik alles goed redeneer).
Mijn vraag is hoe ik dat doe in mysql en php....
tijdstip is overigens gewoon een time() stamp :)

thanx

hier zou een slimme opmerking kunnen staan
maar die staat er niet


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Als je alleen maar bij hoeft te houden hoeveel boten er zijn dan is deze structuur wel toe te passen. Wanneer je echter bij wil houden wie wanneer welke boot mee heeft en hoe laat ie weer terug is gebracht, dan zul je het compleet anders moeten doen.

Daarnaast, wat is het probleem? Van hoe het in MySQL moet lijk je al een aardig idee te hebben, en het PHP-gedeelte stelt niet gek veel voor. Wat snap je niet? Waar verwacht je problemen?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • hobbeldebobbel
  • Registratie: Februari 2001
  • Laatst online: 15-02-2023
ik verwacht eigenlijk geen problemen... maar ik vind die structuur een beetje omslachtig.... maar blijkbaar is het wel goed mogelijk zo.
wat ik niet weet hoe te doen ( heb eigenlijk allen basis sql-query's in mn hoofd) is dus het volgende:
ik zou dat per datum dat opgevraagd word moeten gaan kijken welke waarde van tijdstip kleiner is dan de opgevraagde tijd en dan de grootste waarde van tijdstip nemen.


is het echt zo makkelijk als:
PHP:
1
2
3
4
$sql = "SELECT * FROM stock WHERE tijdstip <= '$nu' ORDER BY tijdstip DESC"

$arr = mysql_fetch_array($sql);
print $arr[0]

hier zou een slimme opmerking kunnen staan
maar die staat er niet


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Die query doet inderdaad wat je in het cursief als wens omschreven hebt. Wel kan het wat slimmer; je haalt nu alle records op die voldoen aan de voorwaarde, terwijl je maar 1 rij gebruikt -> 'LIMIT 1' toevoegen.

[ Voor 8% gewijzigd door Voutloos op 21-07-2006 08:14 ]

{signature}