hallo, ik ben opzoek naar een script voor een formulier met ja/nee andwoorden die mensen in kunnen vullen en naderhand kunnen wijzigen. het resultaat moet opvraagbaar zijn.

het is bedoeld voor een aanwezighijdslijst voor evenementen. bijvoorbeeld:

evenement 1: ben je aanwezig? Ja/Nee
evenement 2: ben je aanwezig? Ja/Nee
enz....

resultaatpagina:

evenement 1: 100 man aanwezig...
evenement 2: 120 man aanwezig...


het liefst met een database waar op e-mail adress van de invuller word opgeslagen welke andwoorden zijn gegeven, zodat deze indien nodig gewijzigd kunnen worden...

een beetje het idee van facebook events, wel/niet misschien aanwezig. alleen is het geen optie om dit daadwerkelijk via facebook te doen.
er staan wat foutmeldingen bij.

misschien moet je het even met de hand aanmaken
de enigste lastige is dan enum('ja','nee','misschien')
je kunt 'ja','nee','misschien' bij de lengte zetten maar je kan er ook gewoon een varchar van maken
hier ben je me kwijt...ik krijg geen meldingen van fouten... maar oke... en hoe moet ik het dan met de hand invullen? hoe gaat het uitzien?

[size=xsmall]Toevoeging op 29/10/2012 23:00:57:[/size]

en wat is de bedoeling met organizer_id?

[size=xsmall]Toevoeging op 29/10/2012 23:07:31:[/size]

en is het mogelijk dat de pagina niet op activitijd gesorteerd wordt maar datum?
Sander, de organizer_id kolom kan je eventueel laten vervallen, die had ik er in gezet vanwege jou Facebook opmerking.
Waar heb je nu de informatie staan over de evenementen? Excel, iets anders?
Je kunt sorteren op datum door ' ORDER BY event_date DESC' achter de query te zetten, en ook ervoor zorgen dat alleen de events van vandaag in de toekomst geselecteerd worden. Dan krijg je dit:
<?php
$sql = "SELECT * "; //ik laat dit staan maar dit is absoluut NOT DONE
$sql .=	"FROM events
	LEFT JOIN event_presence ON id = event_id AND visitor_id=".$user['user_id'] . "
	WHERE events.event_date => CURRENT_DATE()
	ORDER BY events.event_date DESC";
?>

Frank er zitten wat onvolkomenheden in jouw script. Het is een goed gebruik om geen getallen te gebruiken als naam voor een input, je kan bv ook dit doen:
[code]<?php
echo '<input type="radio" name="evrd[' . $row['event_id' . '"]';
//Als er een primary key staat op event_id EN visitor_id in evnet_presence
//kan je jouw savesavetodatabase zo doen:

function savetodatabase($connection) {
global $user;
$sql = "INSERT INTO event_presence (event_id, visitor_id, present)" . PHP_EOL;
$valuelist = array();
foreach($_POST['evrd'] as $id => $value) {
$valuelist[] = "(" . (int) $id . ", " . $user['user_id'] .
", '" . mysql_real_escape_string($value) . "')";
}
if (count($valuelist) > 0) {
$sql .= "VALUES" . PHP_EOL . implode(', ', $valuelist) . PHP_EOL . "ON DUPLICATE KEY UPDATE";
$result = mysql_query($sql);
return $result;
}
return false;
}
ja het is een excel bestand...ik heb geprobeerd de wijzigingen aan te passen in een nieuw bestand maar kom er niet heelemaal uit...(http://84.28.204.44/flaarisse/2.php)

en ik denken dat het niet zo moeilijk zou zijn...
Exporteer je excel bestand naar csv, post even de eerste paar regels, zodat ik kan zien hoe het is opgebouwd.
Dan geef ik je een query waarmee je dat in één keer in de events tabel kan zetten. Handmatig dingen invoeren doen we in deze tijd weinig meer ;-)
Hey Ger ik weet het. idee van getallen voor inputs is van originele htmlcode van Sander. Ik heb dat maar zo gelaten, heb er wel genoeg tijd ingestoken hem zo te helpen..:) maar goed bij mij werkt het en bij sander ook behalve de INSERT query, waarschijnlijk zit er nog iets niet het zelfde in de tabel event_presence

Ger je zou mij en Sander kunnen helpen aan de query om de totalen van ja/nee/misschien te verkrijgen
Alvast bedankt als je dat doen wil.
gezien hij bij jou werkt, kan je niet de volledige database van jou exporteren en de htlp/php code in een bestandje zetten...dat ik gewoon leterlijk jou bestanden overneem...zou toch moetten werken lijkt me...als je de 2 kunt mailen naar

[size=xsmall]Toevoeging op 30/10/2012 20:50:59:[/size]

ik heb eens handmatig wat gegevens ingevuld in events_presence and deze worden wel opgehaald en corect weergegeven, zodra er op opslaan wordt geklikt word deze informatie verwijderd uit de database (geprobeerd met 1 gebruiker ingevuld)
@Sander: Haal je emailadres weg i.v.m. spammers.
Stuur even een PM, veel veiliger.
De query voor de totalen per event:
SELECT
	e.event_name,
	COUNT(ja.event_id) AS jaas,
	COUNT(mss.event_id) AS mssen,
	COUNT(nee.event_id) AS nees	
FROM
	events As e
LEFT JOIN
	(SELECT
		event_id
	FROM
		event_presence
	WHERE
		present ='Ja'
	) AS ja
	ON e.event_id = ja.event_id
LEFT JOIN
	(SELECT
		event_id
	FROM
		event_present
	WHERE
		present ='Misschien'
	) AS mss
	ON e.event_id = mss.event_id
LEFT JOIN
	(SELECT
		event_id
	FROM
		event_present
	WHERE
		present ='Nee'
	) AS nee
	ON e.event_id = nee.event_id
GROUP BY e.event_name
bedankt voor het meehelpen, ik snap alleen niet goed hoe ik het script moet gebruiken...neem aan dat hier nog een stuk bij moet?

Reageren