Ok, here is my dillema, I want to make a rolling event list script, that goes in my web page, that can "read" off of a sepate document or database.... Basically right now, im roughing it with an html table, and every time i want to add an event, I have to make a new row and cell entirely, but I've seen sites where all you have to do is go and input things like: event name, date, time, etc. How would I make a script that can do that? ANd what language should I use? Java Script or PHP? WHich one would be easier for a beginner? Will I need to get a MySQL database, or could I make a text doc on my server? Basically I want a quick and easy(er) way to input events, without needing to write new code every time I do. Can you please help me?

Dani AI

Generated

Building on 's separation of code, data and template, here is a compact, practical starter for : a small data table, a tiny server endpoint that emits JSON, and a minimal front-end that renders and "rolls" events. This keeps presentation and data changes separate so new events are added via a form or DB insert — no HTML-editing each time.

Create (SQLite) table example:

CREATE TABLE events (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  title TEXT NOT NULL,
  start_utc DATETIME NOT NULL,
  end_utc DATETIME,
  location TEXT,
  description TEXT,
  published INTEGER DEFAULT 1,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

Minimal PHP endpoint (use PDO, return JSON):

<?php
$pdo = new PDO('sqlite:/path/to/events.db');
$stmt = $pdo->prepare('SELECT id, title, start_utc, location FROM events WHERE published=1 AND start_utc >= ? ORDER BY start_utc ASC');
$stmt->execute([gmdate('Y-m-d H:i:s')]);
$events = $stmt->fetchAll(PDO::FETCH_ASSOC);
header('Content-Type: application/json; charset=utf-8');
echo json_encode($events);

Tiny front-end to fetch and rotate items (progressive enhancement: server-render a <ul id="events"> for no-JS users):

fetch('/events.json.php')
  .then(r => r.json())
  .then(events => {
    const ul = document.getElementById('events');
    events.forEach(ev => {
      const li = document.createElement('li');
      const d = new Date(ev.start_utc + 'Z'); // treat stored time as UTC
      li.textContent = d.toLocaleString() + ' — ' + ev.title;
      ul.appendChild(li);
    });
    setInterval(() => { const first = ul.firstElementChild; if (first) ul.appendChild(first); }, 4000);
  });

Notes and cautions: store timestamps in UTC and convert for display; always use prepared statements and server-side validation for admin inputs; escape or use textContent to avoid XSS; protect admin pages with auth and CSRF tokens; choose SQLite for tiny sites or MySQL if you expect growth. For details on secure DB access and fetch usage see the PHP PDO manual and the Fetch API docs.

Recommended Answers

All 3 Replies

They'll both be equally easy and difficult to learn. As of PHP 4 (I haven't used 5 yet); you'll find JavaScript is a much better implemented and thus much more intuitive language.

They both do different things though.

For 'live' events on a page (things that change the HTML document without reloading it for example) PHP isn't going to work atall. You'll need to use JavaScript.

If you want to prepare the page on your server before the user gets into it, JavaScript isn't going to work (unless you use ASP, but then you're really using ASP rather than JavaScript). PHP is suitable for this kind of thing.

If you want to do both at the same time, you'll need to use some handy Javascript objects that let you communicate back to your webserver.

Yes, you can use text files to replace databases. PHP is more optimized to work with databases, but you'll find that you can use a variety of methods to store and retrieve data.

You can't store and retrieve data in JS alone, but you can create scripts on the server to do tasks like that, and then call them form JS using those 'handy objects' I mentioned.

ok, basically i want to make a rolling event calendar, without the adding of code every time I want to add an event...

The basic principle is: pick a suitable server side language, then pick a data strategy/format, then pick a visual template. Then in your chosen language, write code to transform your data into a page based on the visual template. Now you only need to change data files.

Obviously, the difficult part is chosing how to store your data, how to read and process your data (using a database connection or text file parsing), and how to change your data (online modifications [maybe via a webbased 'control panel'] or offline via upload).

It's better to ask more specific questions than very general ones. A project specification/expectation is still something very general.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.