Avatar billede noidem Nybegynder
03. oktober 2008 - 16:29 Der er 23 kommentarer og
1 løsning

Tjek ledige datoer.

Hejsa

Kan man i PHP lave et som kan checke om jeg er ledige den dag?

Som f. eks. denne her: http://www.mybooking.dk/booking.asp?userId=1143

På forhånd 1000 tak

Mvh
Ulla
Avatar billede noidem Nybegynder
03. oktober 2008 - 16:43 #1
Avatar billede majbom Novice
03. oktober 2008 - 17:53 #2
ja, det kan man, det er lavet i dit andet link ;)

hvad er det du vil?

vil du have noget kode, links, hjælp?
Avatar billede noidem Nybegynder
03. oktober 2008 - 18:35 #3
"vil du have noget kode, links, hjælp?"

Kode tak!

mvh
Ulla
Avatar billede lexkorbs Nybegynder
03. oktober 2008 - 19:06 #4
Håber det virker, biksede det lige sammen ved at copy-paste ind fra nogle af mine gamle filer!
100% homemade, hvis der er fejl eller noget, bare sig til :)


<?
// Rediger
include_once "din connect fil";
$ledig = "Navnet på din kalender-tabel. Her hvor du indsætter de datoer du ikke er ledig";
$datefield = "Feltet i din kalender-tabel der indeholder dato du er optaget, formatet yyyymmdd fx 20081006";
$sucess = "Datoen er ledig :) Tryk på kontakt for yderligere information";
$unsucess = "Datoen er optaget! Søg efter en anden dato";
$autorefresh = "Skriv her antal sekunder i helt tal der skal gå fra man får optaget-beskeden til man kommer tilbage til vælg-dato siden. Skriv 'na' hvis denne funktion skal være inaktiv.";
$tekst = "Vælg en dato, og tryk for at se om jeg er ledig på valgte dato!";



// Kode
if($_POST['submit']){
$selecteddate = $_POST['year'].$_POST['month'].$_POST['day'];
$available = mysql_query("SELECT * FROM ".$ledig." WHERE ".$datefield." = '$selecteddate'") or die());
if(mysql_num_rows($available) == "0"){
print $sucess;
}else{
print $unsucess;
if($autorefresh != "na"){
print "<meta http-equiv=\"refresh\" content=\"".$autorefresh."; url=".$_SERVER['php self']."\">";
}
}
}else{
print "<form action=\"\" method=\"post\">".$tekst."<br>
<select name=\"myinfo\" onchange=\"getElementById('day').value=this.value;\">
<option selected>Dag</option>
<option value=\"01\">1</option>
<option value=\"02\">2</option><option value=\"03\">3</option><option value=\"04\">4</option><option value=\"05\">5</option><option value=\"06\">6</option><option value=\"07\">7</option><option value=\"08\">8</option><option value=\"09\">9</option><option value=\"10\">10</option><option value=\"11\">11</option><option value=\"12\">12</option><option value=\"13\">13</option><option value=\"14\">14</option><option value=\"15\">15</option><option value=\"16\">16</option><option value=\"17\">17</option><option value=\"18\">18</option><option value=\"19\">19</option><option value=\"20\">20</option><option value=\"21\">21</option><option value=\"22\">22</option><option value=\"23\">23</option><option value=\"24\">24</option><option value=\"24\">24</option><option value=\"25\">25</option><option value=\"26\">26</option><option value=\"27\">27</option><option value=\"28\">28</option><option value=\"29\">29</option><option value=\"30\">30</option><option value=\"31\">31</option>
</select></td>
<td>
<select name=\"myinfo\" onchange=\"getElementById('month').value=this.value;\">
<option selected>Måned</option>
<option value=\"01\">Januar</option>
<option value=\"02\">Februar</option>
<option value=\"03\">Marts</option>
<option value=\"04\">April</option>
<option value=\"05\">Maj</option>
<option value=\"06\">Juni</option>
<option value=\"07\">Juli</option>
<option value=\"08\">August</option>
<option value=\"09\">September</option>
<option value=\"10\">Oktober</option>
<option value=\"11\">November</option>
<option value=\"12\">December</option>
</select></td>
<td><select name=\"myinfo\" onchange=\"getElementById('year').value=this.value;\">
<option selected>År</option><option value=\"2008\">2008</option><option value=\"2009\">2009</option><option value=\"2010\">2010</option><option value=\"2011\">2011</option><option value=\"2012\">2012</option><option value=\"2013\">2013</option><option value=\"2014\">2014</option></select></td></tr></table></p>
<input type=\"hidden\" id=\"year\" name=\"year\" value=\"\">
<input type=\"hidden\" id=\"month\" name=\"month\">
<input type=\"hidden\" id=\"day\" name=\"day\"><input type=\"submit\" name=\"submit\" value=\"Tjek Dato\"></form>";
?>
Avatar billede lexkorbs Nybegynder
03. oktober 2008 - 19:06 #5
- Jeg ved godt det er grimt :p Men det virker vel forhåbentligt ^^
Avatar billede lexkorbs Nybegynder
03. oktober 2008 - 19:13 #6
årgh, den virker ikke... Har ikke mere overskud til at lede efter fejlen, desvære, lige nu.
Avatar billede majbom Novice
03. oktober 2008 - 19:44 #7
ret:

$available = mysql_query("SELECT * FROM ".$ledig." WHERE ".$datefield." = '$selecteddate'") or die());

til:

$available = mysql_query("SELECT * FROM ".$ledig." WHERE ".$datefield." = '$selecteddate'") or die();

og sæt en } lige før den sidste ?>
Avatar billede noidem Nybegynder
04. oktober 2008 - 08:53 #8
Tak for tilbagemeldingen.

Jeg ved ikke helt, hvordan man gør det:

include_once "din connect fil";
$ledig = "Navnet på din kalender-tabel. Her hvor du indsætter de datoer du ikke er ledig";
$datefield = "Feltet i din kalender-tabel der indeholder dato du er optaget, formatet yyyymmdd fx 20081006";
$sucess = "Datoen er ledig :) Tryk på kontakt for yderligere information";
$unsucess = "Datoen er optaget! Søg efter en anden dato";
$autorefresh = "Skriv her antal sekunder i helt tal der skal gå fra man får optaget-beskeden til man kommer tilbage til vælg-dato siden. Skriv 'na' hvis denne funktion skal være inaktiv.";
Avatar billede majbom Novice
04. oktober 2008 - 09:20 #9
har du en database? adgang til phpmyadmin eller andet admin-modul til?
Avatar billede noidem Nybegynder
04. oktober 2008 - 09:34 #10
har du en database? Nej. Men jeg har prøvet at skrive data ind i tekstfiler. Dette virker ikke. Jeg har haft en datatjekker men den virker ikke mere, efter jeg bruger linux server. Så tror kun at denne kan virke i windows.

adgang til phpmyadmin eller andet admin-modul til?

phpmyadmin? Ved ikke hvad dette betyder. Er det noget hvor man kan ændre ting på serveren?

Jeg ville gerne have det sådan, at folk ikke kan se hvilke datoer der er booket. Hvis dette kan lade sig gøre.

På forhånd tak.

mvh
Ulla
Avatar billede majbom Novice
04. oktober 2008 - 18:28 #11
okay, ovenstående script er bygget om omkring en tabel i en mysql-database.

hvor har du din side hostet?
Avatar billede noidem Nybegynder
04. oktober 2008 - 19:51 #12
< hvor har du din side hostet?

Den er privat hostet (min svoger)

Er det svært at lave en database, når det er en Linux server?
Avatar billede noidem Nybegynder
04. oktober 2008 - 19:58 #13
Ps. Server er en QNAP209
Avatar billede majbom Novice
05. oktober 2008 - 13:24 #14
som jeg ser det (f.eks. her: http://www.qnap.com/images/products/Application/TS109AP07.htm) har en qnap209 mulighed for mysql, det skal bare slås til.

men det kan helt sikker osse laves i en tekst-fil, når det ikke er mere avanceret end en liste med datoer...
Avatar billede noidem Nybegynder
05. oktober 2008 - 14:31 #15
mysgl er slået til. Har snakket med min svoger om det.

Min gamle datotjekker var rimelig simpel, da det kun var en tekstfil jeg skulle gå ind og skrive datoerne i.
Men den virker som sagt ikke på den nye server. Hvis man kunne gøre så den gjorde ville jeg gerne det, men har ikke nogen forstand på databaser og hvor meget arbejde der er i det.
Avatar billede majbom Novice
05. oktober 2008 - 15:58 #16
har du det gamle script, hvor den tjekker en fil? så kunne man evt. rette det til?
Avatar billede noidem Nybegynder
05. oktober 2008 - 16:16 #17
Der er en del filer.

ConversionReport.txt
dateBusy.htm
dateError.htm
dateFree.htm
Global.asax
Global.asax.resx
Web.config
WebForm1.aspx.resx
WebForm1.aspx
WebForm1.aspx.cs
calendar.txt (den var tekstfil. Jeg gå ind og skrive datoerne.)
Avatar billede majbom Novice
05. oktober 2008 - 16:32 #18
ja okay, det er skrevet i asp...

men nu du har mulighed for mysql, kan du jo bruge det script der er postet tidligere her i tråden. du skal bare lige have oprettet en tabel i databasen med 2 felter (id - int og dates - varchar(8)).

så er det nemt at udvide scriptet, så du kan indtaste optagede datoer og smide dem i databasen.
Avatar billede noidem Nybegynder
06. oktober 2008 - 15:35 #19
Min svoger har lave en (databasen)til mig.
*********************************************

// Rediger
include_once "connect.php";
$ledig = "optaget";
$datefield = "dato";
$sucess = "Datoen er ledig :) Tryk på kontakt for yderligere information";
$unsucess = "Datoen er optaget! Søg efter en anden dato";
$autorefresh = "5";
$tekst = "Vælg en dato, og tryk for at se om jeg er ledig på valgte dato!";

*************************************************************

connect.php

<?php
// Connects to Our Database
mysql_connect("localhost", "xxxx", "www.xxxx.dk") or die(mysql_error());
mysql_select_db("pifoto") or die(mysql_error());
?>

*********************************************************


Smid lige et svar... Takker for hjælpen.
Avatar billede majbom Novice
06. oktober 2008 - 15:48 #20
selv tak, husk at lexkorbs også skal have nogle point, det var ham der kom med scriptet, jeg rettede kun et par fejl... :)
Avatar billede noidem Nybegynder
06. oktober 2008 - 15:54 #21
splazz det kan da ikke være rigtigt, et UPS... sorry.

lexkorbs kan du ikke smid lige et svar.
Avatar billede majbom Novice
06. oktober 2008 - 19:21 #22
?
Avatar billede noidem Nybegynder
06. oktober 2008 - 20:24 #23
Ups. (det kan da ikke være MERE rigtigt)

Jeg mener selvfølgelig også at "lexkorbs" skal have point.
Avatar billede Excizted Nybegynder
02. november 2009 - 18:55 #24
Hej. Jeg er Lexkorbs :)
Jeg har lige modtaget en email om at der er kommet svar til tråden. Ved ikke lige hvad der er sket for eksperten, det her er jo et ÅR siden? :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester