joebudden Posted March 1, 2007 Share Posted March 1, 2007 hi guys.. right this is my query.. $sql = "SELECT playersurname FROM player,playsfor WHERE player.playerid = playsfor.playerid and teamid = '$teamid'"; .. it returns 6 rows.. what i want to do i have each row as a separate variable... ($p1, $p2, $p3 etc etc) ... so i can them pass them to FLASH this is my code so far... <?php $res = mysql_query($sql) or die (mysql_error()); while(list($playername) = mysql_fetch_array($res)) { for ($i=0;$i<6;$i++) { $p{$i} = $playername; } } echo $p1; echo $p2; echo $p3; ?> I've tried several different variations of $p{$i} but keep getting errors... can anyone fix it please ?? thanx Quote Link to comment Share on other sites More sharing options...
kenrbnsn Posted March 1, 2007 Share Posted March 1, 2007 Use a temporary array: <?php $p = array(); $res = mysql_query($sql) or die (mysql_error()); while($row = mysql_fetch_assoc($res)) $p[] = $row['playersurname']'; for($i=0;$i<count($p);$i++) echo $p[$i] . '<br>'; ?> Ken Quote Link to comment Share on other sites More sharing options...
artacus Posted March 1, 2007 Share Posted March 1, 2007 It's easier (and usually always better) to just use an array $p[$i] = $playername; echo $p[1]; Quote Link to comment Share on other sites More sharing options...
joebudden Posted March 1, 2007 Author Share Posted March 1, 2007 well that allows me to display the 6 rows but that wasn't what i asked... i need to have each row in its own variable so i can send each variable separately to FLASH Quote Link to comment Share on other sites More sharing options...
Barand Posted March 1, 2007 Share Posted March 1, 2007 If you really want variable variables then <?php $p = array ('Smith', 'Jones', 'Doe', 'Bloggs', 'Brown', 'Black'); foreach ($p as $k=>$n) { $var = "var$k"; $$var = $n ; } echo "$var0<br>"; echo "$var1<br>"; echo "$var2<br>"; echo "$var3<br>"; echo "$var4<br>"; echo "$var5<br>"; ?> But why can't you just pass $p[0], $p[1] etc to Flash? Quote Link to comment Share on other sites More sharing options...
joebudden Posted March 2, 2007 Author Share Posted March 2, 2007 ok heres what iv got is this correct barand?? <?php // get my players $sql = "SELECT playersurname FROM player,playsfor WHERE player.playerid = playsfor.playerid and teamid = '$teamid'"; $res = mysql_query($sql) or die (mysql_error()); while($row = mysql_fetch_assoc($res)) { foreach ($row as $k=>$n) { $var = "p$k"; $$var = $n ; } } echo $var1; echo $var2; echo $var3; ?> because it says undefined variable when i run it so how could i just pass $p[0], $p[1] etc ?? coz when i implemented that it was the same player name whatever number i put in the []'s ?? please help Quote Link to comment Share on other sites More sharing options...
Barand Posted March 2, 2007 Share Posted March 2, 2007 try <?php $sql = "SELECT playersurname FROM player,playsfor WHERE player.playerid = playsfor.playerid and teamid = '$teamid'"; $res = mysql_query($sql) or die (mysql_error()); while($row = mysql_fetch_assoc($res)) { $p[] = $row['playersurname']; } foreach ($p as $k=>$n) { $var = "var$k"; $$var = $n ; } echo $var0, '<br>'; echo $var1, '<br>'; echo $var2, '<br>'; echo $var3, '<br>'; echo '<br>'; echo $p[0], '<br>'; echo $p[1], '<br>'; echo $p[2], '<br>'; echo $p[3], '<br>'; ?> Quote Link to comment Share on other sites More sharing options...
joebudden Posted March 2, 2007 Author Share Posted March 2, 2007 hehe they both work, thanks a million dude, u dont know how much that means to me!!! just for my information though, which is better to use ?? or which would u use ?? thanx again !! Quote Link to comment Share on other sites More sharing options...
Barand Posted March 2, 2007 Share Posted March 2, 2007 I'd go with $p[0] etc, then all you need is <?php $sql = "SELECT playersurname FROM player,playsfor WHERE player.playerid = playsfor.playerid and teamid = '$teamid'"; $res = mysql_query($sql) or die (mysql_error()); while($row = mysql_fetch_assoc($res)) { $p[] = $row['playersurname']; } ?> Quote Link to comment Share on other sites More sharing options...
joebudden Posted March 2, 2007 Author Share Posted March 2, 2007 thanks again barand... before you go tho, can you see anything wrong with this ? <?php // get opponent players $opsql = "SELECT playersurname FROM player,playsfor WHERE player.playerid = playsfor.playerid and teamid = '$oppositionid'"; $opres = mysql_query($opsql) or die (mysql_error()); while($r = mysql_fetch_assoc($opres)) { $z[] = $r['playersurname']; echo $r['playersurname']; } $z1 = $z[0]; $z2 = $z[1]; $z3 = $z[2]; $z4 = $z[3]; $z5 = $z[4]; $z6 = $z[5]; ?> Quote Link to comment Share on other sites More sharing options...
itsmeArry Posted March 2, 2007 Share Posted March 2, 2007 it will restrict you to only 6 rows... $z1 = $z[0]; $z2 = $z[1]; $z3 = $z[2]; $z4 = $z[3]; $z5 = $z[4]; use this $i = 1; foreach ($z as $plName) { $z.$i = $plName; $i++; } from here you will get all the rows... like $z1,$z2.... etc..... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.