Jump to content

How can you set a unique variable for each value in an array?


Recommended Posts

I have a set of 80 checkboxes, 1 to 10 of them will be posted.

This creates an array.

 

I was able to see the values by using this:

if (isset($_POST['checkbox'])) {
echo "Playing Numbers ";
foreach($_POST['checkbox'] as $checkbox){
echo  $checkbox . " ";
}

 

Now I'd like to use those values to run SQL select statements. But I don't know how to reference each checkbox value.

I've tried $checkbox[0] but that doesn't seem to work

Is there a way to assign something like

$num1 = $checkbox[0]

$num2 = $checkbox[1]

$num3 = $checkbox[2]

... etc..

Obviously that doesn't work but that is what I was thinking.

 

Or is there a way to reference each checkbox in a SQL select statement like...

$quer=mysql_query("SELECT *
FROM june122011
WHERE $checkbox[0] IN (`A`,`B`,`C`,`D`,`E`,`F`,`G`,`H`,`I`,`J`,`K`,`L`,`M`,`N`,`O`,`P`,`Q`,`R`,`S`,`T`)
AND   $checkbox[1] IN (`A`,`B`,`C`,`D`,`E`,`F`,`G`,`H`,`I`,`J`,`K`,`L`,`M`,`N`,`O`,`P`,`Q`,`R`,`S`,`T`)
AND Game_Date ='$select'");

 

Here you can see I'm getting the values.. just don't know how to put them into a variable so I can use it to run the query.

workingonit.gif

 

any thoughts, ideas is appreciated.

Try this:

 

$where = '';

$range = implode(',',range('A','T'));

foreach($_POST['checkbox'] as $checkbox)
{
$where .= "'" . $checkbox . "' IN (" . $range . ") AND ";
}

$where .= "Game_Date='" . $select . "'";

$query = mysql_query("SELECT * FROM june122011 " . $where);

Thanks for the reply,

I think I understand most of that,

It looked like though it would only process 1 number at a time. Unless I looked at it wrong.

 

 

While I need it to check the all number selected in the checkboxs so it would have to have up to 9 AND statements in the select.

Where checkbox[0] AND checkbox[1] etc.... That why I was hoping to be able to extract each checkbox value and turn them into seperate variables so I could write a case statement based on how many checkboxes were selected and then the 10 queries.

 

 

That said I did try to run it with just 1 number and got an error

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\PhpStuff\keno.php on line 90

I used this code to test the query:

$where = '';
$range = implode(',',range('A','T'));
foreach($_POST['checkbox'] as $checkbox)
{
$where .= "'" . $checkbox . "' IN (" . $range . ") AND ";
}
$where .= "Game_Date='" . $select . "'";
$query = mysql_query("SELECT * FROM june122011 " . $where);
$results = mysql_fetch_array($query);
While ($results = mysql_fetch_array($query)) {
echo "$results[Game_Id]";
}

 

Thank you both,

 

redixx that example was great.

 

PFMaBiSmAd after following your advise I was finally able to get the query to execute correctly.

 

I ended up with this in working order. Just a few more things to add now.

$where = '';
$range = implode(',',range('A','T'));
foreach($_POST['checkbox'] as $checkbox)
{
$where .= "'" . $checkbox . "' IN (" . $range . ") AND ";
}
$where .= "Game_Date='" . $select . "'";
$chunk1 ="SELECT * FROM june122011 Where ";
$query = $chunk1 . $where;
$doit=mysql_query($query);
$results=mysql_fetch_array($doit);
$num_rows = mysql_num_rows($doit);
$adjustedvalue = $num_rows-1;
echo "<table><br>You would have won <font color='red'> $adjustedvalue times</font>";
While ($results = mysql_fetch_array($doit)) {
echo "<tr><td>$results[GameID]</td></tr>";
}
echo "</tabele>";

 

Many thanks for all the help.

 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.