Permalänk
Inaktiv

Platsbokningssystem

Hej

Jag har bestämt mig för att göra ett platsbokningssystem som Projektarbete i 3:an. Jag skulle nu vilja ha lite tips hur man gör själva "kartan" över platserna.

/med vänliga hälsningar
Snuffle

Permalänk
Hedersmedlem

Jag har också funderat över det, eftersom att man vill ha det dynamiskt så skulle ju imagemaps + PHP (GD2) eventuellt fungera men det är svårt att komma på hur man skulle kunna göra med GD för att hitta platserna. Det går säkert, kruxet är bara hur.

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

Min teori går ut på en databas som håller reda på plats och användarid, bild med GET länkar, kortfattat.

Permalänk
Hedersmedlem

Leon: Jo men någonting måste ju hålla reda på vart platserna finns osv, iof kan ju GD identifiera olika färger så det är väl kanske inte så stora problem nu när jag tänker efter.

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk

går att göra med bara css + php med... : )

Permalänk
Hedersmedlem

walter groupius: Idé om hur man ska göra det? Visserligen så kan man ju ha typ länkar och stuff men lättast är ju en bild som man klickar på och detta går nog inte att lösa på världens enklaste sätt utan PHP + GD. Men det är väl bara min åsikt?

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

En databas med platsnummer och rad sedan om den är bokad eller inte och är den det blir den en röd fyrkant och är den obokad en grön fyrkant..

Permalänk
Hedersmedlem

Icanos: Och hur ska platserna visas upp? En tabell med femtitusen celler?
Men din lösning kombinerat med min dvs med GD + PHP blir nog bra.

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

Hehe, gillar du tabeller går det väl?

Permalänk
Hedersmedlem

Jag avskyr tabeller så därför envisas jag med att säga en bild + imagemaps!

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

Man behöver inte imagemaps. Om man gör en bild i ett formulär,

<input type="image" src="min_bild.php" />

, så skickas koordinaterna med formuläret när man klickar på bilden, som POST-/GET-variablerna "x" och "y".

Permalänk
Medlem

Såhär har jag löst en liknande grejj:
http://www.dr-code.org/kartgrejj

Ett javascript för att placera (boka) och imagemap för att kolla på existerande.. men om man kör platser så behövs ju inte koordinater så då behövs inte javascriptet och man kan göra allt ännu lättare.

Visa signatur

I just love the fact that there is a global integer variable named 'i'. Just think, you will never need to declare your loop variable again!
To avoid collisions where a loop that uses 'i' calls another function that loops with 'i', be sure to stack 'i' and restore it when your function exits.

Permalänk
Inaktiv
Citat:

Ursprungligen inskrivet av Malesca
Man behöver inte imagemaps. Om man gör en bild i ett formulär,

<input type="image" src="min_bild.php" />

, så skickas koordinaterna med formuläret när man klickar på bilden, som POST-/GET-variablerna "x" och "y".

Och sen kan man kanske bbestämma vilken plats det riktar sig till genom att platserna har x och y värden mellan vissa punkter. Så att man bestämmer att en ruta är t.ex 10pixlar stor i en kvadrat så får den då t.ex mellan x=100-110 och y=100-110. Kan det gå att göra så här?

OT: Förlåt får att jag väcker tråden igen, men jag hade tänkt att börja med platserna och sånt nu, har pillat med inloggningsscript och registreringsscript innan.

Permalänk
Medlem

Japp, det låter som en schysst lösning. Fast det hade blivit 100-109, om det ska vara 10 pixlar.

Permalänk
Inaktiv
Citat:

Ursprungligen inskrivet av Malesca
Japp, det låter som en schysst lösning. Fast det hade blivit 100-109, om det ska vara 10 pixlar.

Jojo, det är ju klart. Nu måste man bara hålla koll på var alla pixlar är på mappen. Finns det något lätt system som visar vilka koordinater en viss punkt har, något att utgå ifrån när man bygger upp platserna? Kanske i ritprogrammet man använder är en bra ide?

Vilken filtyp ska det vara? JPEG, PNG, BMP, GIF?

Permalänk
Medlem

De flesta någorlunda avancerade ritprogram kan visa koordinater, t.ex. Paint Shop Pro och Photoshop. Enklast är väl att ta reda på var i bilden platserna börjar ("platsområdets" övre vänstra hörn), och sen låta platserna ha en fast storlek, och ett känt antal platser per rad.

Permalänk
Inaktiv

Jo, just det jag tänkt. Något tips på hur man kan göra "uträkningen" automatisk eller blir man tvungen att skriva allt manuellt?

Permalänk
Medlem

Jag vet inte om det var det du tänkte på, men jag kluddrade ihop nånting, eftersom jag tycker den typen av beräkningar är hemskt roliga.

<? // Konstanter $platser_borjar_x = 50; $platser_borjar_y = 100; $platsbredd = 10; $platshojd = 10; $platser_per_rad = 5; // Vilken plats? $plats = 14; // Då är den i denna kolumn $kolumn = $plats % $platser_per_rad == 0 ? $platser_per_rad : $plats % $platser_per_rad; // Och i denna rad $rad = ceil($plats / $platser_per_rad); // Detta är platsens övre vänstra hörn $plats_topleft_x = $platser_borjar_x + ($kolumn-1) * $platsbredd; $plats_topleft_y = $platser_borjar_y + ($rad-1) * $platshojd; // Och dess nedre högra hörn $plats_bottomright_x = $plats_topleft_x + $platsbredd - 1; $plats_bottomright_y = $plats_topleft_y + $platshojd - 1; echo "Plats: $plats<br />Rad: $rad<br />Kolumn: $kolumn <br /> $plats_topleft_x, $plats_topleft_y till $plats_bottomright_x, $plats_bottomright_y"; ?>

Med reservation för feltänk.

Nämnas bör kanske:

% är modulo, dvs. rest vid heltalsdivision. 3%5 blir 2 eftersom 3 går en gång i 5, med 2 som rest. Väldigt användbart i sådana här sammanhang.

"ett ? två : tre" är en kortform av

if (ett) { två; } else { tre; }

EDIT: Kolumn-raden kan förkortas lite enligt nedanstående, men det kanske försämrar läsbarheten.

$kolumn = $plats % $platser_per_rad ? $plats % $platser_per_rad : $platser_per_rad;

EDIT 2: Fast nu kom jag på att du antagligen snarare vill gå från pixlar till platsnummer. Då kan man göra såhär:

<? // Konstanter $platser_borjar_x = 50; $platser_borjar_y = 100; $platsbredd = 10; $platshojd = 10; $platser_per_rad = 5; $antal_platser = 100; // Vilken koordinat? $x = 20; $y = 45; // Räkna ut vilken rad det innebär $rad = ceil(($y - $platser_borjar_y + 1) / $platshojd); // Räkna ut vilken kolumn det innebär $kolumn = ceil(($x - $platser_borjar_x + 1) / $platsbredd); // Räkna ut vilken plats det innebär $plats = $platser_per_rad * ($rad - 1) + $kolumn; echo "Du klickade i <$x, $y>. "; // Kolla att man klickade på en plats if (!$kolumn || !$rad || $kolumn > $platser_per_rad || $plats > $antal_platser) echo "Du klickade utanför alla platser!"; else echo "Du klickade i rad $rad och kolumn $kolumn, alltså plats $plats."; ?>

Permalänk
Medlem

det är säkert bara jag... men hur får man fram x / y koordinaterna från
bilden då?? som ska skickas i post/get allså

Permalänk
Inaktiv
Citat:

Ursprungligen inskrivet av Icedude
det är säkert bara jag... men hur får man fram x / y koordinaterna från
bilden då?? som ska skickas i post/get allså

Citat:

Ursprungligen inskrivet av Malesca
Man behöver inte imagemaps. Om man gör en bild i ett formulär,

<input type="image" src="min_bild.php" />

, så skickas koordinaterna med formuläret när man klickar på bilden, som POST-/GET-variablerna "x" och "y".

Permalänk
Medlem

det besvarar inte min fråga...
om man nu använder det så... hur ska man då få fram bilden??

det blir ju bara en liten bild med fyrkant i... du vet..
och det blir ju inte direkt automatiskt att x/y fylls med rätt värden i koden... ->>

<? // Konstanter $platser_borjar_x = 50; $platser_borjar_y = 100; $platsbredd = 10; $platshojd = 10; $platser_per_rad = 5; $antal_platser = 100; // Vilken koordinat? $x = 20; $y = 45; // Räkna ut vilken rad det innebär $rad = ceil(($y - $platser_borjar_y + 1) / $platshojd); // Räkna ut vilken kolumn det innebär $kolumn = ceil(($x - $platser_borjar_x + 1) / $platsbredd); // Räkna ut vilken plats det innebär $plats = $platser_per_rad * ($rad - 1) + $kolumn; echo "Du klickade i <$x, $y>. "; // Kolla att man klickade på en plats if (!$kolumn || !$rad || $kolumn > $platser_per_rad || $plats > $antal_platser) echo "Du klickade utanför alla platser!"; else echo "Du klickade i rad $rad och kolumn $kolumn, alltså plats $plats."; ?>

Permalänk
Medlem

Icedude, jag tror inte jag förstår din fråga. Om man vill markera bokade och obokade platser i olika färger eller liknande, kan man låta bilden genereras dynamiskt av PHPs GD-modul.

Enklare (men inte lika kul) än allt detta är kanske att klippa en bild i bitar och ha länkar typ

<a href="boka.php?plats=1"><img src="plats.png" alt="Plats" /></a> <a href="boka.php?plats=2"><img src="plats.png" alt="Plats" /></a> <a href="boka.php?plats=3"><img src="plats.png" alt="Plats" /></a>

Permalänk
Medlem

hmmz... ska strukturera det här...

första...
hur får man en bild att visas via en php fil sådär som t.ex ->>

<input type="image" src="min_bild.php" />

eller är det bara bra att köra en php fil som bild source när man använder
en bild som görs av php... t.ex. med GD då...

andra...
hur om man nu får fram en bild från "min_bild.php" kan php scriptet tillsammans
med formen läsa av vart man tryckt någonstans och sedan skicka x/y koordinaterna
via POST eller GET variablar??

lättare att förstå??

Permalänk
Inaktiv

Icedude: Aha, nu förstår jag hur du menar: Hur får man fram bilden genom ett PHP-dokument? Och hur får man koordinaterna ifrån bilden in till koden?

Permalänk

Inte för att jag gillar det själv men det går göra det med flash och php med. kan bli snyggare men även jobbigare.

Permalänk
Medlem

Det var kanske dumt av mig att ha en fil med php-ändelse som exempel på bilden. Det här kanske är tydligare:

index.html:

<form method="post" action="boka_plats.php"> <input type="image" src="salongen.jpg" /> </form>

boka_plats.php:

<? echo 'Du klickade på x: '.$_POST['x'].', y: '.$_POST['y']; ?>

Permalänk
Medlem

jag skrev ett platsboknings-system för ett bra tag sen.
Det finns fina serialize funktioner i php, bara att ha platserna i en array, serializa och spara i databasen.

Visa signatur

flippy @ Quakenet

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Snuffle
Icedude: Aha, nu förstår jag hur du menar: Hur får man fram bilden genom ett PHP-dokument? Och hur får man koordinaterna ifrån bilden in till koden?

exaaaakt

Citat:

Ursprungligen inskrivet av Malesca
Det var kanske dumt av mig att ha en fil med php-ändelse som exempel på bilden. Det här kanske är tydligare:

index.html:

<form method="post" action="boka_plats.php"> <input type="image" src="salongen.jpg" /> </form>

boka_plats.php:

<? echo 'Du klickade på x: '.$_POST['x'].', y: '.$_POST['y']; ?>

haha du behöver inte göra det övertydligt...
visste inte att x och y skickades med <input type='image'> det var därför jag undra hur ni
tänkte få fram koordinaterna

Citat:

Ursprungligen inskrivet av ante84
jag skrev ett platsboknings-system för ett bra tag sen.
Det finns fina serialize funktioner i php, bara att ha platserna i en array, serializa och spara i databasen.

databas och kod är väl inga problem tror jag...
mer är det grafiska om jag förstått det??

typ få till det som DH ->>
http://www.swemod.com/tickets.png

fast det måste ju vara gjort med GD??