2012-04-22 3 views
0

ОБНОВЛЕНО PHPPHP SQL событий по месяцам и годам

Кажется, что-то делать с угловыми скобками ...

Мой первый раз кодирования свой собственный PHP и SQL, но с немного неприятностей, так даже не включил HTML. Я бы предположил, что я ничего не убегаю, или мое форматирование находится в милях от ... или что-то ДЕЙСТВИТЕЛЬНО простое.

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

Так я ищу

YEAR 

MONTH 
EVENT 

MONTH 
EVENT 
EVENT 

YEAR etc 

Мой HTML выглядит следующим образом ...

<div id="year"> 
<p class="vert">YEAR</p> 
    <div id="month"> 
     <h1>MONTH</h1> 
     <div class="event"> 
      <p>DATE START - DATEEND IF DIFFERENT/AVAILABLE</p> 
      <div class="eventmain"> 
       <img class="flag" src="./img/defaultflag.png"> 
       <img class="open" src="./img/plus.png"> 
       <img class="close" src="./img/minus.png"> 
       <h2> Event Name </h2> 
       <div class="eventdetails"> 
        <p>FORMAT</p> 
        <p>INFO</p> 
        <p>CONTACT</p> 
        <p>EMAIL</p> 
        <p>WEBSITE</p> 
       </div> <!-- close div event details --> 
      </div> <!-- close div event main --> 
     </div> <!-- close div event --> 
    </div> <!-- close div month --> 
</div> <!--close div year--> 

С помощью следующих полей БД в debate_calendar БД, таблицы событий event_name, event_startdate, event_enddate , event_flag, event_format, event_info, event_contactinfo, event_email, event_website, event_reg

У меня есть следующий PHP

<?php 

$server = "localhost:8889"; 
$user = "root"; 
$passwd = "root"; 
$db_name = "debate_calendar"; 
$table_name = "events"; 

$conn = mysql_connect($server, $user, $passwd) or die("Couldn't connect to SQL Server on $server"); 
mysql_select_db($db_name, $conn); 

    if (!$conn) 
     { 
     exit("Failed to Connect to $dbConnection"); 
     } 
    else 
     { 
     echo "Database Connected"; 
     } 

$query = "SELECT * FROM `debate_calendar`.`events` WHERE event_date > NOW() ORDER BY event_date DESC"; 
$result = mysql_query($query); 

    $current_month = ''; 
    $current_year = ''; 

    while ($event = mysql_fetch_assoc($result)) { 
     $year = date('y', $event['event_startdate']); 
     if($current_year != $year) 
      { 
       $current_year = $year; 
       echo ("<h1>" .$current_year. "</h1>"); 
      }   
     $month = date('m', $event['event_startdate']); 
     if($current_month != $month) 
      { 
       $current_month = $month; 
       echo '<h2>' . $current_month . '</h2>'; 
      } 
     echo '<p>' . $event['event_name'] . '</p>'; 
    } 
     mysql_close($con); 
?> 

Но все производящее это есть ...

NOW() ORDER BY event_date DESC"; $result = mysql_query($query); $current_month = ''; $current_year = ''; while ($event = mysql_fetch_assoc($result)) { $year = date('y', $event['event_startdate']); if($current_year != $year) { $current_year = $year; echo (" 
" .$current_year. " 
"); } $month = date('m', $event['event_startdate']); if($current_month != $month) { $current_month = $month; echo ' 
' . $current_month . ' 
'; } echo ' 

' . $event['event_name'] . ' 
'; } mysql_close($con); ?> 

ответ

0

Ответ был ошибкой школьника.

Я переместил сайт с одной установки MAMP на новую, , где htaccess не был изменен, чтобы открывать html-файлы как PHP.

еще много ошибок в коде, но это было основной проблемой

Простой, как это !!

0

Вы не процитировать свой последний отголосок перед тем $qry. Кроме того, в вашем запросе есть несколько дополнительных символов, которые заставят его потерпеть неудачу. Вот как это должно выглядеть:

SELECT * FROM `debate_calendar`.`events` WHERE event_date > NOW() 
ORDER BY event_date DESC 

Кроме того, вы можете получить год/месяц/дата части любого поля типа DATE/DATETIME непосредственно из SQL, если вы хотите:

SELECT year(event_date) AS event_year, month(event_date) AS event_month ... 
+0

Это не помогло. Хвост начинается после угловой скобки для> СЕЙЧАС, если это помогает. – mercuryfrost

0
echo <p> Your Database is Connected</p\><br/\> 

Вы забыл добавить кавычки ("")

попробовать это:

echo "<p> Your Database is Connected</p\><br/\>"; 
+0

{echo "

Datebase Works

";} - Без эффекта – mercuryfrost

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