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>';
Aihe on jo aika vanha, joten et voi enää vastata siihen.