Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP, MySQL -Ongelma

efteri [25.02.2011 17:47:27]

#

Heips,

Teen tässä pientä ajan tarkistus systeemiä jossa ensinmäisellä sivulla käyttäjältä kysytään: vuosi, kuukausi sekä päivämäärä. Tämän jälkeen koodin pitäisi tulostaa vapaat ajat 14 - 21 väliltä, varauksia voi siis olla yhtenä kellon aikana vain yksi. Jos bindParamilla annetun :date:n ja :gameid:n kohtiin syöttää itse esimerkiksi: '2011-2-26' ja '1' toimii koodi muutoin oikein mutta jokaiselta päivältä vähentyy vapaat ajat oli sitten valinnut minkä päivämäärän tahansa edellisellä sivulla. Missähän menee vikaan, vai meneekö kaikki?

$kysely = $yhteys->prepare("SELECT Date_Time FROM Challenge WHERE DATE_FORMAT(Date_Time,'%Y-%c-%e') = ':date' AND Game_ID = ':gameid'");
	$kysely->bindParam(':gameid', $_POST['game_id'], PDO::PARAM_INT);
	$kysely->bindParam(':date', sprintf('%d-%d-%d', $_POST['date_year'], $_POST['date_month'], $_POST['date_day']), PDO::PARAM_STR);
$kysely->execute();

echo '<select name="time_hour">';

$ajat = array();

for ($i = 14; $i < 22; $i++) {
	$ajat[$i] = $i;
}

while ($rivi = $kysely->fetch(PDO::FETCH_BOTH)) {
	unset($ajat[date("H", strtotime($rivi["Date_Time"]))]);
}

foreach ($ajat as $vapaat) {
	echo '<option value="' . $vapaat. '">' . $vapaat . '</option>';
}

echo '</select>';

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta