I have mysql set up like this
Table: gallery
+-------------+------------+
| galleryname | coverphoto |
+-------------+------------+
Table: multigalleries
+-------------+-----------+
| galleryname | galleries |
+-------------+-----------+
I am using a checkbox array from php to place galleries into multigalleries.galleries
like gallery1,gallery2,gallery3
. All of that works fine, the only thing i cant figure out is, when I pull the list of gallery.galleryname
and reference it with multigalleries.galleries
, how can i return a checked state if it exists in multigalleries.galleries
?
Any help would be greatly appreciated.
EDIT// ACTUAL CODE IM USING IF IT WILL HELP
$con = mysql_connect($host,$dbusername,$dbpassword);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($databasename, $con);
$query = "SELECT galleries.gallery, galleries.coverphoto, multigalleries.multigallery, multigalleries.galleries FROM galleries, multigalleries";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo '<div class="gallery" style="background-image:none">';
echo '<input type="checkbox" name="galleriesm[]" value="'.$line[gallery].'">'. $line[gallery].'';
echo '</div>';
Try this:
$a = mysql_query("
SELECT g.galleryname FROM gallery AS g, multigalleries AS m
WHERE g.galleryname = 'gallery1' AND FIND_IN_SET(g.galleryname, m.galleries)
");
$b = mysql_fetch_assoc($a);
echo '<input type="checkbox" name="whatever"';
if($b['galleryname'])
{
echo ' checked="checked"';
}
echo '>';
$result = mysql_query("
SELECT g.galleryname, m.galleryname AS name FROM gallery AS g
LEFT JOIN (SELECT galleryname, galleries FROM multigalleries) AS m ON
FIND_IN_SET(g.galleryname, m.galleries)
");
while($row = mysql_fetch_assoc($result))
{
$checked = '';
if($row['name'])
{
$checked = ' checked="checked"';
}
echo '<input type="checkbox" name="galleriesm[]" id="'.$row['galleryname'].'" value="'.$row['galleryname'].'"'.$checked.'>
<label for="'.$row['galleryname'].'">'.$row['galleryname'].'</label>';
}