Hallo allemaal,

Ik ben nieuw op dit forum en ook in de wereld van PHP en mySQL.
Ik ben dus een "groentje"...

Ik heb een leuk lopende site gemaakt waar ik momenteel een evenmenten kalender op heb staan welke ik zelf handmatig bijwerk.
Nu wil ik deze kalender automatiseren zodat de bezoekers zelf een evenement kunnen aanmaken en dat de evenementen daarna in volgorde (eerste datum eerst) worden geplaatst.
Tevens moet een evenement welke al is geweest, automatisch worden verwijderd.

Het invullen van evenement zou ik graag zien in de vorm van een standaard formulier.

Kan iemand me vertellen hoe ik te werk moet gaan? Het lieft is een beetje Jip & Janneke taal.
Mijn site is te vinden op www.oudebrommers.nl

Alvast bedankt,

André

Alvast bedankt.

Zet deze query in je code, direct onder 'query_rubrieken'.

Heb ik gedaan.


Zet de volgende code in het formulier, daar waar nu het inputveld van de organisatie staat.

 <?php
  if ($result_organisaties)
  {
    $numrows_organisaties = mysql_num_rows($result_organisaties);

    echo '<select name="organisatie" class="input">';
    while ($row = mysql_fetch_array($result_organisaties))
        {
          echo '<option value="'.$row['ID'].'">'.$row['organisatie'].'</option>';
        }
  }
  echo '</select><br>';
?>  


Je moet nu ook de organisaties in een pulldownmenu kunnen zien, net zoals de rubrieken.

Dit heb ik ook gedaan, maar kan iemand nu nog wel handmatig een organisatie toevoegen? Dit lukt me namelijk niet.


Tot slot de weergave van de datum.

echo strftime ('%e %B %Y', strtotime($row['datum_aanvang'])) . " - ";
echo strftime ('%e %B %Y', strtotime($row['datum_einde'])) . " - ";  


Tip: type de datum nu even in als 2008-05-27, zodat je het resultaat kunt zien. Daar zoeken we later een Javascriptkalender voor.

Dit is ook gelukt

Het resultaat is weer te vinden op http://www.oudebrommers.nl/testevenement.php


Misschien een goed idee om deze resultatenpagina direct in een nieuwe pagina op te bouwen, en niet onder het formulier. Dat was alleen even voor de test.

Moet ik dan op deze pagina eerst een database connectie maken voor dat hij zijn gegevens ophaalt?

Dan moet ik zeker met de volgende code beginnen op deze pagina:

<?php 
// Laat alle errors zien 
error_reporting(E_ALL); 

$host = "localhost"; 
$db = "oudebro_events"; //hier de naam van de database
$user = "oudebro_events"; //hier de naam van de gebruiker
$password = "xxxxxxx";  //hier het wachtwoord van de gebruiker 

mysql_connect ($host, $user, $password) or die ("geen verbinding 1"); 
mysql_select_db ($db) or die ("geen verbinding 2"); 

$query_rubrieken = ("SELECT * FROM rubrieken ORDER BY rubriek ASC");
$result_rubrieken = mysql_query($query_rubrieken) or die(mysql_error());
$numrows_rubrieken = mysql_num_rows($result_rubrieken); 
$query_organisaties = ("SELECT ID, organisatie FROM organisatie ORDER BY organisatie ASC");
$result_organisaties = mysql_query($query_organisaties) or die(mysql_error());
$numrows_organisaties = mysql_num_rows($result_organisaties);

setlocale (LC_TIME, "nl_NL"); 





Dit heb ik ook gedaan, maar kan iemand nu nog wel handmatig een organisatie toevoegen? Dit lukt me namelijk niet.
Komt later helemaal goed, daar maken we een tweede formulier voor.
Resultatenpagina
Moet ik dan op deze pagina eerst een database connectie maken voor dat hij zijn gegevens ophaalt?
Inderdaad. Je kunt het volgende blok gebruiken.

<?php 
// Laat alle errors zien 
error_reporting(E_ALL); 

$host = "localhost"; 
$db = "oudebro_events"; //hier de naam van de database
$user = "oudebro_events"; //hier de naam van de gebruiker
$password = "xxxxxxxx";  //hier het wachtwoord van de gebruiker 

mysql_connect ($host, $user, $password) or die ("geen verbinding 1"); 
mysql_select_db ($db) or die ("geen verbinding 2"); 

setlocale (LC_TIME, "nl_NL");
?>

<!-- hier de opbouw in HTML, de start van je pagina -->

<br>Aankomende evenementen:<br>
<?php
  $query = ("SELECT events.*, organisaties.*, rubrieken.*
							FROM rubrieken AS rubrieken 
							INNER JOIN (organisaties INNER JOIN events 
							ON organisaties.ID = events.organisatie) 
							ON rubrieken.ID = events.rubriek 
							ORDER BY events.datum_aanvang ASC");
  $result = mysql_query($query) or die(mysql_error());

  while ($row = mysql_fetch_array($result)) 
	{
		// dit kun je ombouwen naar <tr><td> ... </td></tr>, zie eerdere post
		echo $row['ID'] . " - ";
		echo $row['evenement'] . " - ";
		echo $row['locatie'] . " - ";
		echo strftime ('%e %B %Y', strtotime($row['datum_aanvang'])) . " - ";
		echo strftime ('%e %B %Y', strtotime($row['datum_einde'])) . " - ";
		echo $row['van'] . " - ";
		echo $row['tot'] . " - ";
		echo $row['info'] . " - ";
		echo $row['rubriek'] . " - ";
		echo $row['organisatie'] . " - ";
		echo $row['website'] . " - ";
		echo $row['e_mail'] . " - ";
		echo $row['telefoon'] . " - ";
		echo "<br>";
	}
?>

	</body>
</html>     

Bewaren als: evenementen_overzicht.php

Je kunt dit stuk code nu weghalen onder je formulier. Zet daar even een linkje naar 'evenementen_overzicht.php'.
Ik ben de hele avond aan het stoeien, maar het wil me niet lukken om een tabel op te maken. Ik doe waarschijnlijk iets fout want hij lijkt de <tr> functie niet te herkennen.

Ik post even de complete code van http://www.oudebrommers.nl/evenementen_overzicht.php


<?php include('menu.php');?>
</p>
<?php 
// Laat alle errors zien 
error_reporting(E_ALL); 

$host = "localhost"; 
$db = "oudebro_events"; //hier de naam van de database
$user = "oudebro_events"; //hier de naam van de gebruiker
$password = "xxxxxx";  //hier het wachtwoord van de gebruiker 

mysql_connect ($host, $user, $password) or die ("geen verbinding 1"); 
mysql_select_db ($db) or die ("geen verbinding 2"); 

setlocale (LC_TIME, "nl_NL");

 $query = ("SELECT events.*, organisatie.*, rubrieken.*
                            FROM rubrieken AS rubrieken 
                            INNER JOIN (organisatie INNER JOIN events 
                            ON organisatie.ID = events.organisatie) 
                            ON rubrieken.ID = events.rubriek 
                            ORDER BY events.datum_aanvang ASC");
  $result = mysql_query($query) or die(mysql_error());
?>
<!-- Begin opbouw in HTML, de start van je pagina -->
<table width="850" border="0" align="center">
  <tr>
    <td><p align="center" class="stijl1"><img src="evenement/Scheurkalender.jpg" width="165" height="132" /></p>    </td>
    <td><p align="center" class="stijl1">Regelmatig is er de mogelijkheid om mee te doen aan tour tochten of om een beurs te bezoeken. Op deze site hebben we geprobeerd om  de meeste weer te geven. Echter kunnen we er natuurlijk hier en daar een paar vergeten. Als u daarom nog wat toe te voegen heeft dan kunt u gebruik maken van het <a href="event_form.php" class="stijl9">invul formulier</a>. Of u kunt ons op de hoogte brengen d.m.v. het zenden van een <a href="mailto:[email protected]">e-mail</a> met de benodigde info. </p>
    <p align="center" class="stijl1">Het is natuurlijk mogelijk dat wij een foutje maken tijdens het invoeren en dat er locaties of data van evenementen wijzigen. Wilt u daarom zeker zijn, neem dan even contact op met de organisatie van het betreffende evenement.</p></td>
  </tr>
</table>
  <p>
    <!-- Eind van de opbouw in HTML, de start van je pagina -->
</p>
  <table width="850" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td>&nbsp;</td>
    </tr>
  <p>
    <?php
  while ($row = mysql_fetch_array($result)) 
    {
        // dit kun je ombouwen naar <tr><td> ... </td></tr>, zie eerdere post
		<tr>
      <td>evenement:</td>
    </tr>
		echo $row['evenement']; 	
		echo $row['evenement'];
        echo $row['ID'] . " - ";
        echo $row['evenement'] . " - ";
        echo $row['locatie'] . " - ";
        echo strftime ('%e %B %Y', strtotime($row['datum_aanvang'])) . " - ";
        echo strftime ('%e %B %Y', strtotime($row['datum_einde'])) . " - ";
        echo $row['van'] . " - ";
        echo $row['tot'] . " - ";
        echo $row['info'] . " - ";
        echo $row['rubriek'] . " - ";
        echo $row['organisatie'] . " - ";
        echo $row['website'] . " - ";
        echo $row['e_mail'] . " - ";
        echo $row['telefoon'] . " - ";
        echo "<br>";
    }
?>
    </table>
    
    
    <!-- Begin google Analytics ga.js-->
             <script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
             </script>
    
    <!-- Eind google Analytics ga.js-->
    </p>
<table width="850" border="0" cellspacing="0" cellpadding="0">
  <tr>
  </tr>
</table>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3313965-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>



Kun je me vertellen wat er fout gaat?
Haal de validator er eens overheen.

Edit: Parse error: syntax error, unexpected '<' in /home/oudebro/domains/oudebrommers.nl/public_html/evenementen_overzicht.php on line 47

<?php
  while ($row = mysql_fetch_array($result)) 
    {?>
        // dit kun je ombouwen naar <tr><td> ... </td></tr>, zie eerdere post
        <tr>
      <td>evenement:</td>
    </tr>
<?php
        echo $row['evenement'];     
        echo $row['evenement'];
        echo $row['ID'] . " - ";
        echo $row['evenement'] . " - ";
        echo $row['locatie'] . " - ";
        echo strftime ('%e %B %Y', strtotime($row['datum_aanvang'])) . " - ";
        echo strftime ('%e %B %Y', strtotime($row['datum_einde'])) . " - ";
        echo $row['van'] . " - ";
        echo $row['tot'] . " - ";
        echo $row['info'] . " - ";
        echo $row['rubriek'] . " - ";
        echo $row['organisatie'] . " - ";
        echo $row['website'] . " - ";
        echo $row['e_mail'] . " - ";
        echo $row['telefoon'] . " - ";
        echo "<br>";
    }
?>
    </table>

Je had html in je phpcode en dat mag niet.

In phpmode dus tussen <?php en ?> is het echo '<tr>' ; ipv <tr>
Volledigheidshalve zou het zo kunnen worden:


  <table width="850" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td>&nbsp;</td>
    </tr>
  <p>

<?php
  while ($row = mysql_fetch_array($result)) 
  {
    echo "<tr><td>Evenement:</td><td>" . $row['evenement'] . "</td></tr>";
    echo "<tr><td>Locatie:</td><td>" . $row['locatie'] . "</td></tr>";
    // rest van de cellen 
}
Burdy schreef op 29.05.2008 21:50
Volledigheidshalve zou het zo kunnen worden:


  <table width="850" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td>&nbsp;</td>
    </tr>
  <p>

<?php
  while ($row = mysql_fetch_array($result)) 
  {
    echo "<tr><td>Evenement:</td><td>" . $row['evenement'] . "</td></tr>";
    echo "<tr><td>Locatie:</td><td>" . $row['locatie'] . "</td></tr>";
    // rest van de cellen 
}


Even voor mijn duidelijkheid. Als je naar mijn eerder geposte code kijkt van vandaag, op welke regel voeg ik dit dan in? Want ik krijg het nog steeds niet werkend?

Deze code:

    <!-- Eind van de opbouw in HTML, de start van je pagina -->
</p>
  <table width="850" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td>&nbsp;</td>
    </tr>
  <p>
    <?php
  while ($row = mysql_fetch_array($result)) 
    {
        // dit kun je ombouwen naar <tr><td> ... </td></tr>, zie eerdere post
        <tr>
      <td>evenement:</td>
    </tr>
        echo $row['evenement'];     
        echo $row['evenement'];
        echo $row['ID'] . " - ";
        echo $row['evenement'] . " - ";
        echo $row['locatie'] . " - ";
        echo strftime ('%e %B %Y', strtotime($row['datum_aanvang'])) . " - ";
        echo strftime ('%e %B %Y', strtotime($row['datum_einde'])) . " - ";
        echo $row['van'] . " - ";
        echo $row['tot'] . " - ";
        echo $row['info'] . " - ";
        echo $row['rubriek'] . " - ";
        echo $row['organisatie'] . " - ";
        echo $row['website'] . " - ";
        echo $row['e_mail'] . " - ";
        echo $row['telefoon'] . " - ";
        echo "<br>";
    }
?>
    </table>


vervangen door:

    <!-- Eind van de opbouw in HTML, de start van je pagina -->
</p>
  <table width="850" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td>&nbsp;</td>
    </tr>
  <p>

<?php
  while ($row = mysql_fetch_array($result)) 
  {
    echo "<tr><td>Evenement:</td><td>" . $row['evenement'] . "</td></tr>";
    echo "<tr><td>Locatie:</td><td>" . $row['locatie'] . "</td></tr>";
    // rest van de rows(deze opbouwen als hierboven)
    }
?>
    </table>

Probeer maar even.
Oké, ik heb dit gedaan. Volgens mij werkt het nu wel. Maar ik kan de letters niet lezen omdat ze wegvallen tegen de witte achtergrond.
Ik wil nu graag per rij een andere achtergrondkleur maken en de letters ook een bepaalde kleur meegeven.

Ik heb geprobeerd om dit aan te passen, maar dat lukt me niet.
Hoe moet ik dit doen?

Kan ik ook een cel in tweeen opdelen? Zodat ik bijvoorbeeld de twee datum regels op één regel, naast elkaar kan plaatsen en niet onder elkaar.
Ditzelfde wil ik met de tijden doen.
Als het ware moet een rij dan in vieren worden gedeeld bijv:
Van: | 9:00 | Tot: | 16:00 |


Dit is nu mijn code

      <!-- Eind van de opbouw in HTML, de start van je pagina -->
</p>
  <table width="850" border="0" cellspacing="0" cellpadding="0" align="center">
    <tr>
      <td>&nbsp;</td>
    </tr>
  <p>
    <?php
  while ($row = mysql_fetch_array($result)) 
  {
    echo "<tr><td>Evenement:</td><td>" . $row['evenement'] . "</td></tr>";
    echo "<tr><td>Locatie:</td><td>" . $row['locatie'] . "</td></tr>";
	echo "<tr><td>Datum Aanvang:</td><td>" . $row['datum_aanvang'] . "</td></tr>";
    echo "<tr><td>Datum Einde:</td><td>" . $row['datum_einde'] . "</td></tr>";
	echo "<tr><td>Aanvangstijd:</td><td>" . $row['van'] . "</td></tr>";
    echo "<tr><td>Eind tijd:</td><td>" . $row['tot'] . "</td></tr>";
	echo "<tr><td>info:</td><td>" . $row['info'] . "</td></tr>";
    echo "<tr><td>Rubriek:</td><td>" . $row['rubriek'] . "</td></tr>";
	echo "<tr><td>Organisatie:</td><td>" . $row['organisatie'] . "</td></tr>";
	echo "<tr><td>Website:</td><td>" . $row['website'] . "</td></tr>";
	echo "<tr><td>E-mail:</td><td>" . $row['e_mail'] . "</td></tr>";
	echo "<tr><td>Telefoon:</td><td>" . $row['telefoon'] . "</td></tr>";
	echo "<tr><td>info:</td><td>" . $row['info'] . "</td></tr>";
    // rest van de rows(deze opbouwen als hierboven)
    }
?>
  </table> 
<?php
$row0 = 'class="row0"';
$row1 = 'class="row1"';

echo "<tr ".$row0.">";
echo "<tr ".$row1.">";
// wel verder uitwerken
?>

Via CSS ken je dan aan row0 en row1 verschillende achtergrondkleuren toe.

Reageren