Miért nem műküdik ez a script? (PHP)
Azt szeretném elérni, hogyha a beirt dátum már benne van az adatbázisban, és ha azon a napon benne van ugyanaz az óra is, akkor irja ki hogy foglalt. Elnézést, hogyha bonyolúltan fogalmaztam. Nem tudtam jobban megfogalmazni.
$letezodatum = mysqli_query($con, "select * from tblappointment where where AptDate='$adate'");
$letezoido = mysqli_query($con, "select * from tblappointment where AptTime='$atime'");
if(mysqli_num_rows($letezodatum) > 0) {
if(mysqli_num_rows($letezoido) > 0) {
echo "Foglalt időpont!";
}
else {
mysqli_query($con,"insert into tblappointment(AptNumber,Name,Email,PhoneNumber,AptDate,AptTime,Services) value('$aptnumber','$name','$email','$phone','$adate','$atime','$services')");
echo "<script>window.location.href='thank-you.php'</script>";
}
}
else {
mysqli_query($con,"insert into tblappointment(AptNumber,Name,Email,PhoneNumber,AptDate,AptTime,Services) value('$aptnumber','$name','$email','$phone','$adate','$atime','$services')");
echo "<script>window.location.href='thank-you.php'</script>";
}
Például először megnézed van-e 2021-07-17 -re foglalás,
- tegyük fel van, reggel 8 órási.
aztán következő lekérdezéssel megnézed van-e reggel 10 órási, de ott már a dátumot nem figyeled, három évvel ezelőtt 10 órai is megfelel és máris foglalt lesz.
$letezoFoglalas = mysqli_query($con, "select * from tblappointment where where AptDate='$adate' AND AptTime='$atime'");
máris nem kell két if, máris nem kell duplán írnod ugyan azt a kódrészletet amik elseben vannak.
Ha még ez sem segít akkor írd le milyen hibát dob legalább, anélkül ne várj jobb választ.
A lekérdezésed nem jó, az első minden aznapi foglalást visszaad, a második meg minden foglalást abban az időpont bármelyik napra is esik.
Egy lekérdezésbe kellene összefoglalnod a kettőt ÉS kapcsolattal.
Illetve most tűnt fel, első querynél kétszer írtad a where-t, ahogy én is tőled copyztem :) az azonnal mysql hiba.
#1 voltam.
#6 úgy lenne a legjobb, igen. De egyenlőte még nem tudom, hogy azt milyen módon lehetne megoldani, mivel Bootstrap-et használok.
#1 Köszi szépen! Ez működik! :D
Én lekérném mi van foglalva és azt mondjuk ilyesmiben alkalmazod:
Persze mivel ahogy említettük az insert előtt érdemes ellenőrizni, hogy okés-e még a dátum, mert a js-be is bele lehet túrni stb..
lekéred sql-el a már foglalt dátumokat és berakod egy tömbbe, fetcharray stb.. , jqueryui jobb, mint amit előbb linkeltem, legalábbis nem pénzes, és itt vannak példák hogyan lehet tiltani. Ennél egyszerűbb leírást nem találtam..
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!