baran Posted September 14, 2003 Share Posted September 14, 2003 I have this code to get the fields from a table for as long as there are rows in the table: [php:1:5f84876c54]<?php $SQL = \" SELECT * FROM $tablename \"; # execute SQL statement $retid = mysql_query($SQL, $cid); # check for errors if (!$retid) { echo(\"ERROR: \" . mysql_error() . \"n$SQLn\"); } else { # fill variables while ($row = mysql_fetch_array($retid)) { $catname = $row[\"catname\"]; $dogname = $row[\"dogname\"]; $pigname = $row[\"pigname\"]; $horsename = $row[\"horsename\"]; ?>[/php:1:5f84876c54] What I want to do is create and fill up different PHP variables for each row of my table. so I want to have a variable called $catname1 for the cat\'s name in the first row, but also to have a variable called $catname2 for the cat\'s name in the second row, and $catname3, $catname4 etc etc until there\'s no more rows. Any help greatly appreciated, I have vague ideas about using mysql_fetch_row() to get the row number and append this onto the variable name but am not really sure how. Quote Link to comment Share on other sites More sharing options...
shivabharat Posted September 15, 2003 Share Posted September 15, 2003 Why dont you use an array in this case? while ($row = mysql_fetch_array($retid)) { $catname[] = $row["catname"]; $dogname[] = $row["dogname"]; $pigname[] = $row["pigname"]; $horsename[] = $row["horsename"]; } This will strore the values in an array To loop thru you can use this for($i=0;$i<=count($catname);$i++) { echo $catname[$i]; } Hope this helps! Quote Link to comment Share on other sites More sharing options...
baran Posted September 15, 2003 Author Share Posted September 15, 2003 shivabharat, Great stuff!. Many thanks. I suppose that was quite an easy one! Quote Link to comment Share on other sites More sharing options...
baran Posted September 15, 2003 Author Share Posted September 15, 2003 actually I wrote my last post before I\'d had a chance to test it. It doesn\'t work! :oops: I\'ve had a good read of http://www.php.net/manual/en/language.types.array.php but am a bit unsure of how to declare an array properly using the square brackets and filling the array with data from MySQL using the mysql_fetch_array function. does anyone have any ideas whats wrong with the last bit of code posted. I\'m sure my table is fine. Quote Link to comment Share on other sites More sharing options...
baran Posted September 15, 2003 Author Share Posted September 15, 2003 actually this works: [php:1:747c443ec9]<?php while ($row = mysql_fetch_array($retid)) { $catname[] = $row[\"catname\"]; $dogname[] = $row[\"dogname\"]; $pigname[] = $row[\"pigname\"]; $horsename[] = $row[\"horsename\"]; } echo $catname[1]; echo $catname[2]; ?>[/php:1:747c443ec9] and thats really all I need. Thanks. Quote Link to comment Share on other sites More sharing options...
shivabharat Posted September 16, 2003 Share Posted September 16, 2003 Hi baran, Can you let me know what was the issue you faced when you used that code? This will help me in correcting the code so that it can help others. Quote Link to comment Share on other sites More sharing options...
baran Posted September 16, 2003 Author Share Posted September 16, 2003 shivabharat, didn\'t echo anything. I placed the for loop outside of the while loop. from what little experience of PHP I have your code looked fairly foolproof so maybe something was wrong my end. anyway thanks for your help. 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.