I'm not much of a PHP programmer, so I hope someone can help me with this. What I'm trying to do is get the distinct values from the competitor column, create an array of them, retrieve the share1-share12 values for each of those distinct values based on a number of variables, and output the competitors and their share1-12 values.
Below is the format of my data table along with the mess of code I've been cobbling together:
state|bigcat|competitor|metric|share1|share2|share3|share4|share5|share6|share7|share8|share9|share10|share11|share12
<?php
$product = $_GET['product'];
$cat = $_GET['cat'];
$state = $_GET['state'];
$metric = $_GET['metric'];
$table = $product ."_specs_states";
$q = " SELECT distinct(competitor) as competitor from $table";
$result = $dbc->query($q) or die("unable to execute the query<br />" . $dbc->errno . "<br />" . $dbc->error);
$r = $result->fetch_array();
$competitors = array();
do {
$competitors[] = $r[0];
} while ($r = $result->fetch_array());
echo $competitors;
foreach($competitors as $competitor){
$q = "SELECT * FROM $table where state = '$state' && bigcat = '$cat' && product = '$product' && metric = '$metric' && competitor = '$competitor'";
$result = $dbc->query($q) or die("unable to execute the query<br />" . $dbc->errno . "<br />" . $dbc->error);
$r = $result->fetch_array();
$share1 = ($r[5]);
$share2 = ($r[6]);
$share3 = ($r[7]);
$share4 = ($r[8]);
$share5 = ($r[9]);
$share6 = ($r[10]);
$share7 = ($r[11]);
$share8 = ($r[12]);
$share9 = ($r[13]);
$share10 = ($r[14]);
$share11 = ($r[15]);
$share12 = ($r[16]);
}//end loop
?>
<?php
$i=1;
while($i<=#)
{
?>
<?= $competitor ?><br />
<?= $share1 ?><br />
<?= $share2 ?><br />
<?= $share3 ?><br />
<?= $share4 ?><br />
<?= $share5 ?><br />
<?= $share6 ?><br />
<?= $share7 ?><br />
<?= $share8 ?><br />
<?= $share9 ?><br />
<?= $share10 ?><br />
<?= $share11 ?><br />
<?= $share12 ?>
<?php
$i++;
}
?>
`](http://brainstormsandraves.com/articles/semantics/structure/#br) isn't [semantic](http://webstyleguide.com/wsg3/5-site-structure/2-semantic-markup.html); use something more appropriate, such as a paragraph or [list](http://www.w3.org/TR/html401/struct/lists.html) element. Don't use [`or die`](http://www.phpfreaks.com/blog/or-die-must-die) when outputting HTML. You'll get invalid HTML. – outis Sep 01 '11 at 21:00