Kezdőoldal » Számítástechnika » Weblapkészítés » Miért nem műküdik ez a script?...

Miért nem műküdik ez a script? (PHP)

Figyelt kérdés

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>";

}



2021. júl. 17. 19:50
1 2
 1/11 anonim ***** válasza:
100%

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.

2021. júl. 17. 20:14
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:

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.

2021. júl. 17. 20:16
Hasznos számodra ez a válasz?
 3/11 anonim ***** válasza:
100%

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.

2021. júl. 17. 20:18
Hasznos számodra ez a válasz?
 4/11 anonim ***** válasza:
Bocsánat, de az nem lenne jó, ha a datetime mezőben tárolná és unique indexxel, és beszúráskor dobna egy hibát, amit lekezelne?
2021. júl. 19. 10:03
Hasznos számodra ez a válasz?
 5/11 anonim ***** válasza:
#4 de, ha később nem merülhet fel, hogy nő a kapacitás például és egy időpontra több ember is jöhet. Ha ez valami éles rendszer nem pedig tanuló feladat, akkor ilyenekre érdemes előre gondolni.
2021. júl. 19. 14:54
Hasznos számodra ez a válasz?
 6/11 anonim ***** válasza:
Illetve nyilván a leglogikusabb az lenne, ha ki se választhatnának már foglalt időpontot. (persze attól még kell a validálás)
2021. júl. 19. 14:54
Hasznos számodra ez a válasz?
 7/11 A kérdező kommentje:

#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

2021. júl. 19. 16:45
 8/11 anonim ***** válasza:

Én lekérném mi van foglalva és azt mondjuk ilyesmiben alkalmazod:

[link]


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..

2021. júl. 19. 17:21
Hasznos számodra ez a válasz?
 9/11 A kérdező kommentje:
Igen, eddig megvan, de ezt hogy? Ez az amit nem tudok, ezért csinálom ezzel a gagyi megoldással!
2021. júl. 19. 18:44
 10/11 anonim ***** válasza:

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..


[link]

2021. júl. 20. 09:19
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!