Reputation: 11285
The code on my page doesn't seem to load - I think the program logic is a bit much for it.
$resultromney = mysql_query("SELECT category, value, timestamp from results where name='".$chartname2."'");
if (!$resultromney) {
die('Invalid query, please contact administrator');
}
$posromney = 0;
$negromney = 0;
$dateromney = "1/1/2012";
$romray = array();
while ($twitromney = mysql_fetch_assoc($resultromney))
{
$romneytime = intval($twitromney["timestamp"]);
$romneydate = date('m/d/Y', $romneytime);
$romlinearray = array();
$romlinearray["date"] = null;
$romlinearray["value"] = null;
$romneydiff = date_diff($dateromney, $romneydate);
$PLromney = 0;
$NLromney = 0;
$totalromney = 0;
if ($romneydiff == 0) {
switch ($twitromney["category"]) {
case "composed":
$PLromney = $PLromney + $twitromney["value"];
break;
case "elated":
$PLromney = $PLromney + $twitromney["value"];
break;
case "clearheaded":
$PLromney = $PLromney + $twitromney["value"];
break;
case "agreeable":
$PLromney = $PLromney + $twitromney["value"];
break;
case "energetic":
$PLromney = $PLromney + $twitromney["value"];
break;
case "unsure":
$NLromney = $NLromney + $twitromney["value"];
break;
case "tired":
$NLromney = $NLromney + $twitromney["value"];
break;
case "depressed":
$NLromney = $NLromney + $twitromney["value"];
break;
case "guilty":
$NLromney = $NLromney + $twitromney["value"];
break;
case "confused":
$NLromney = $NLromney + $twitromney["value"];
break;
case "anxious":
$NLromney = $NLromney + $twitromney["value"];
break;
case "hostile":
$NLromney = $NLromney + $twitromney["value"];
break;
case "confident":
$PLromney = $PLromney + $twitromney["value"];
break;
}
$totalromney = $PLromney - $NLromney;
$romlinearray["value"] = $totalromney + $romlinearray["value"];
}
else {
$dateromney = $romneydate;
switch ($twitromney["category"]) {
case "composed":
$PLromney = $PLromney + $twitromney["value"];
break;
case "elated":
$PLromney = $PLromney + $twitromney["value"];
break;
case "clearheaded":
$PLromney = $PLromney + $twitromney["value"];
break;
case "agreeable":
$PLromney = $PLromney + $twitromney["value"];
break;
case "energetic":
$PLromney = $PLromney + $twitromney["value"];
break;
case "unsure":
$NLromney = $NLromney + $twitromney["value"];
break;
case "tired":
$NLromney = $NLromney + $twitromney["value"];
break;
case "depressed":
$NLromney = $NLromney + $twitromney["value"];
break;
case "guilty":
$NLromney = $NLromney + $twitromney["value"];
break;
case "confused":
$NLromney = $NLromney + $twitromney["value"];
break;
case "anxious":
$NLromney = $NLromney + $twitromney["value"];
break;
case "hostile":
$NLromney = $NLromney + $twitromney["value"];
break;
case "confident":
$PLromney = $PLromney + $twitromney["value"];
break;
}
$totalromney = $PLromney - $NLromney;
$romlinearray["date"] = $romneydate;
$romlinearray["value"] = $totalromney;
}
$romray[] = $romlinearray;
}
It is supposed to calculate arrays for different days with different numbers for values, but instead the page is refusing to load - but it did load before I put this code up there.
Upvotes: 0
Views: 94
Reputation: 18923
This piece of code can probably be written in another way.
Suggestions:
Use MySQLi or PDO instead. Here's some documentation regarding Database APIs choices. Example:
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query(
sprint_f("SELECT category, value, timestamp from results where name='%s'", $chartname2)
);
Use arrays to store data and then loop them after getting the results:
$romneytime = $romneydate = $romlinearray = $romneydiff = array();
while ($twitromney = $result->fetch_assoc())
{
$romneytime[] = intval($twitromney["timestamp"]);
$romneydate[] = date('m/d/Y', $romneytime);
$romneydiff[] = date_diff($dateromney, $romneydate);
}
loop each one and try to figure out which one is giving error. var_dump($var) comes in handy.
Upvotes: 1
Reputation: 3972
Why you have in switch case repeately cases?
switch ($twitromney["category"]) {
case "composed":
$PLromney = $PLromney + $twitromney["value"];
break;
case "elated":
$PLromney = $PLromney + $twitromney["value"];
break;
case "clearheaded":
$PLromney = $PLromney + $twitromney["value"];
break;
case "agreeable":
$PLromney = $PLromney + $twitromney["value"];
break;
case "energetic":
$PLromney = $PLromney + $twitromney["value"];
break;
case "unsure":
$NLromney = $NLromney + $twitromney["value"];
break;
case "tired":
$NLromney = $NLromney + $twitromney["value"];
break;
case "depressed":
$NLromney = $NLromney + $twitromney["value"];
break;
case "guilty":
$NLromney = $NLromney + $twitromney["value"];
break;
case "confused":ss
$NLromney = $NLromney + $twitromney["value"];
break;
case "anxious":
$NLromney = $NLromney + $twitromney["value"];
break;
case "hostile":
$NLromney = $NLromney + $twitromney["value"];
break;
case "confident":
$PLromney = $PLromney + $twitromney["value"];
break;
}
Instead of above use:
switch ($twitromney["category"]) {
case "composed":
case "elated":
case "clearheaded":
case "agreeable":
case "energetic":
case "confident":
$PLromney = $PLromney + $twitromney["value"];
break;
case "unsure":
case "tired":
case "depressed":
case "guilty":
case "confused":
case "anxious":
case "hostile":
$NLromney = $NLromney + $twitromney["value"];
break;
}
I'm modified your to code to check all DUMPS, look at below ant testing dumps:
$resultromney = mysql_query("SELECT category, value, timestamp from results where name='".$chartname2."'")
var_dump('[1]:'.$resultromney);
if (!$resultromney) {
die('Invalid query, please contact administrator');
}
$posromney = 0;
$negromney = 0;
$dateromney = "1/1/2012";
$romray = array();
while ($twitromney = mysql_fetch_assoc($resultromney))
{
var_dump('[2]:'.$twitromney);
$romneytime = intval($twitromney["timestamp"]);
var_dump('[3]:'.$romneytime);
$romneydate = date('m/d/Y', $romneytime);
var_dump('[4]:'.$romneydate);
$romlinearray = array();
$romlinearray["date"] = null;
$romlinearray["value"] = null;
var_dump('[5]:'.$romlinearray);
$romneydiff = date_diff($dateromney, $romneydate);
var_dump('[6]:'.$romneydiff);
$PLromney = 0;
$NLromney = 0;
$totalromney = 0;
if ($romneydiff == 0) {
var_dump('[7]:'.$romneydiff);
switch ($twitromney["category"]) {
var_dump('[8]:'.$twitromney);
case "composed":
case "elated":
case "clearheaded":
case "agreeable":
case "energetic":
case "confident":
$PLromney = $PLromney + $twitromney["value"];
break;
case "unsure":
case "tired":
case "depressed":
case "guilty":
case "confused":
case "anxious":
case "hostile":
$NLromney = $NLromney + $twitromney["value"];
break;
}
var_dump('[8]:'.$PLromney);
var_dump('[9]:'.$NLromney);
$totalromney = $PLromney - $NLromney;
$romlinearray["value"] = $totalromney + $romlinearray["value"];
var_dump('[10]:'.$totalromney, $romlinearray);
}
else {
$dateromney = $romneydate;
switch ($twitromney["category"]) {
var_dump('[11]:'.$twitromney);
case "composed":
case "elated":
case "clearheaded":
case "agreeable":
case "energetic":
case "confident":
$PLromney = $PLromney + $twitromney["value"];
break;
case "unsure":
case "tired":
case "depressed":
case "guilty":
case "confused":
case "anxious":
case "hostile":
$NLromney = $NLromney + $twitromney["value"];
break;
}
var_dump('[12]:'.$PLromney);
var_dump('[13]:'.$NLromney);
$totalromney = $PLromney - $NLromney;
$romlinearray["date"] = $romneydate;
$romlinearray["value"] = $totalromney;
var_dump('[14]:'.$totalromney, $romlinearray);
}
$romray[] = $romlinearray;
var_dump('[15]:'.$romray);
}
And @Tivie says this code can be write better, yes, it true. Write less, do more.
Upvotes: 1
Reputation: 31339
Probably an error.
Check out your apache's php logs (or whatever it is you're using) at /var/logs/apache2/error_log.log
Or something similar...
Upvotes: 0