Page 1 of 1
Array and MySQL Help
Posted: Wed Oct 15, 2008 3:37 am
by 3hhh
Hi,
I have 2 same-sized arrays ($array and $array1) such that they are :
Array ( [0] => VIP09,VIP10,VIP11,VIP12 [1] => VIP13 )
Array ( [0] => 1 [1] => 2 )
The problem is that in $array, I have 4 values in index 0 and in $array2, I have 1 value in index 0.
That means to say that I would like to achieve this:
UPDATE seat SET reservationId='".$id."' WHERE id="VIP09" AND matchId="1"
UPDATE seat SET reservationId='".$id."' WHERE id="VIP10" AND matchId="1"
UPDATE seat SET reservationId='".$id."' WHERE id="VIP11" AND matchId="1"
UPDATE seat SET reservationId='".$id."' WHERE id="VIP12" AND matchId="1"
UPDATE seat SET reservationId='".$id."' WHERE id="VIP13" AND matchId="2"
Can anyone help pls? Thanks
Re: Array and MySQL Help
Posted: Wed Oct 15, 2008 3:52 am
by papa
Explode on array[0] ?
Re: Array and MySQL Help
Posted: Wed Oct 15, 2008 4:01 am
by 3hhh
papa wrote:Explode on array[0] ?
Hmmm... but if I explode on array[0], the values will not tally.
That means it would be:
[0] =>VIP09
[1] =>VIP10
[2] =>VIP11
[3] =>VIP12
and my the other array will be:
[0] =>1
that being said, I won't be able to achieve this (dynamically. The values are listed there to show what I intend to do. I intend to do a for loop):
UPDATE seat SET reservationId='".$id."' WHERE id="VIP09" AND matchId="1"
UPDATE seat SET reservationId='".$id."' WHERE id="VIP10" AND matchId="1"
UPDATE seat SET reservationId='".$id."' WHERE id="VIP11" AND matchId="1"
UPDATE seat SET reservationId='".$id."' WHERE id="VIP12" AND matchId="1"
UPDATE seat SET reservationId='".$id."' WHERE id="VIP13" AND matchId="2"
Re: Array and MySQL Help
Posted: Wed Oct 15, 2008 4:09 am
by Ziq
I think papa told about something like this:
Code: Select all
<?
$array = Array ('VIP09,VIP10,VIP11,VIP12', 'VIP13' ) ;
$array1 = Array (1 , 2 );
foreach ($array as $k=>$v)
{
$v = explode(',', $v);
foreach ($v as $v2)
{
echo 'UPDATE seat SET rese=... WHERE id="'.$v2.'" AND matchId="'.$array1[$k].'"'."<br>\r\n";
}
}
?>
Re: Array and MySQL Help
Posted: Wed Oct 15, 2008 4:14 am
by 3hhh
Ziq wrote:I think papa told about something like this:
Code: Select all
<?
$array = Array ('VIP09,VIP10,VIP11,VIP12', 'VIP13' ) ;
$array1 = Array (1 , 2 );
foreach ($array as $k=>$v)
{
$v = explode(',', $v);
foreach ($v as $v2)
{
echo 'UPDATE seat SET rese=... WHERE id="'.$v2.'" AND matchId="'.$array1[$k].'"'."<br>\r\n";
}
}
?>
ahhh yes... an inner for loop! Thanks man

Re: Array and MySQL Help
Posted: Wed Oct 15, 2008 5:21 am
by onion2k
Ziq wrote:I think papa told about something like this:
Code: Select all
<?
$array = Array ('VIP09,VIP10,VIP11,VIP12', 'VIP13' ) ;
$array1 = Array (1 , 2 );
foreach ($array as $k=>$v)
{
$v = explode(',', $v);
foreach ($v as $v2)
{
echo 'UPDATE seat SET rese=... WHERE id="'.$v2.'" AND matchId="'.$array1[$k].'"'."<br>\r\n";
}
}
?>
If you have the ids as a comma separated list, why not just use IN in the SQL? Then you don't need an inner loop at all. Eg..
Code: Select all
<?php
$id = 1;
$array1 = Array ('VIP09,VIP10,VIP11,VIP12', 'VIP13' );
$array2 = Array (1 , 2 );
for ($i=0; $i<count($array1); $i++) {
echo "UPDATE seat SET reservationId=\"".$id."\" WHERE id IN (".$array1[$i].") AND matchId=".$array2[$i];
}
?>