Create install/setup script for database #7
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
From @mattbk on October 29, 2015 3:10
Missing from the project from which this was forked. Needs to create a table and some fields to hold results.
Copied from original issue: mattbk/changeblindnesstest#4
Current db results table is named
vcd_results
(index.php
line 79).Based on this section, it looks like each respondent is recorded as a single row (ID by IP address
REMOTE_ADDR
), with three columns per phase. These three columns record the xcoordinate, ycoordinate, and response time of the respondent.Columns referenced now:
result_host
result_date
Option 1:
Continue with this schema, and create a table in the database for each study (group of phases/scenes) with fields based on
settings.json
. This format is probably easier for RAs to analyze unless it is rewritten before download. This also means that the number of columns has to be hardcoded intoindex.php
unless this section is changed.Option 2:
Rebuild the schema as EVA so that a study can be modified by changing
settings.json
and without needing to run a db install script.http://php.net/manual/en/mysqli-stmt.bind-param.php
I think this is because the table and columns don't exist.
That's better, now we get
Could not execute query
.Got it to work in
839e7fe17f
(added the mysql error todie()
), but phase names are still hardcoded.First column of the database must be a generated UID.
That's exactly what it is (or, it works when you make it as such).
I know more. The way it is set up, the phase name needs to be in the field name as well.
_host
_date
_xcoordinate
_ycoordinate
_responsetime
are used in the code to pass to Twig.
Adding all of this to an install script would probably be easier than going an EVA route right now.
Then if you run another study in the future, you specify a different table name and can use the same database. Would be best to install in a different folder with a different
settings.json
, though.Should work for now, except for all the hardcoded phase names!
Hardcoded phase/scene names are only a problem in the part in index.php where they are written to db.
Since $_SESSION['results'] is a 2d array, can I use a nested foreach to build the insert query?
$_SESSION['results'['scene1'] is not built right. Should be $_SESSION['results'['phase1']. Scene1 is a value, not a key. Hmm.
I had result_host and result_date swapped in table. Fixed now.

Still needs to be done; does NOT need settings.json to be completed first.
Still need to do this first: https://github.com/mattbk/changeblindness/issues/2