2013-08-26 3 views
0

Привет всем,php query, окончательный результат календаря

Я пытаюсь создать систему календаря для планировщика гаража. Поэтому я делаю видео-учебник по YT.

Я почти закончил и застрял в последнем запросе, который supposted выплюнул «события» в определенный день.

почти полностью работает демо можно увидеть здесь Calendar Demo Кроме того, я обеспечиваю все файлы для скачивания здесь Calendar Tutorial SRC-Code DL

Проблема в том, что он не окончательный Выполнение выражений запроса - я не знаю, почему , В настоящий момент он подключается к базе данных, но запрос даже не повторяет кнопку «закрыть» события, давая мне представление о том, что сценарий не продолжается до этой точки.

Вот исходный запрос из файла events.php

$deets = $_POST['deets']; 
// $deets = preg_replace('#[^0-9/]#i', '', $deets); 

include_once('inc/connect.inc.php'); 

$events = ''; 
$query = mysql_query('SELECT description FROM events WHERE evdate = "'.$deets.'"'); 
$num_rows = mysql_num_rows($query); 
if($num_rows > 0){ 
    $events .= '<div id="eventControl"><button onMouseDown="javascript:overlay();">Close</button><br />'; 
    while($row = mysql_fetch_array($query)){ 
     $desc = $row['description']; 
     $events .= '<div id="eventbody">'. $desc . '<br /><hr><br /></div>'; 
    } 
} 
echo $events; 

Если кто-то может дать мне намек, что делает триггер потерпеть неудачу, это было бы здорово.

Заранее благодарим за идеи и помощь.

привет

Toby

+1

* sidenote: * перестать использовать устаревшие функции 'mysql_ *'. Вместо этого используйте PDO или MySQLi. – Raptor

+1

Я знаю об этом факте, я попытался использовать * i версию запросов, но таким образом он сработает с самого начала. Учебное пособие - 1 год, но у него есть хорошая логика, чтобы учиться на нем. Думаю, что я мог бы сделать лучше, не вопрос :( –

ответ

0

Вы должны работать через свой код и проверить все, как вы ожидаете.

Если я правильно вас понимаю, это возвращает false: if($num_rows > 0){ В этом случае перед тем, как ваш запрос выйдет из $deets и убедитесь, что это значение, которое вы ожидаете, знает так, что работает в запросе.

Кроме того, попробуйте добавить следующее:

if (!$query) 
    { 
    die('Invalid query: ' . mysql_error()); 
    } 
else 
    { 
    echo "Query ok"; 
    } 

заготовки из вашего num_rows() с /* */ только во время тестирования и попробовать выше. Кроме того, есть ли что-нибудь полезное в вашем журнале ошибок PHP?

Как указывалось, mysql_ амортизируется, и вы должны использовать подготовленные операторы в PDO или mysqli. По крайней мере, используйте mysql_real_escape_string() на вашем var $deets перед использованием его в вашем запросе ...

+0

Спасибо, что дал мне подсказку. Я проверю и вернусь , –

Смежные вопросы