drknife Posted July 30, 2006 Share Posted July 30, 2006 I have been trying to make something do this for hours. I have scoured the net looking for the question previously asked.I found nothing that worked. I found this not very useful posting where the poster said they fixed the error I keep having but did not post the fix.http://codewalkers.com/forum/index.php?action=displaythread&forum=sqlhelp&id=2493&realm=default so I ask with all humbleness and desparation:How do I take the data from one field in a table in a mysql database and create a php array with that data?Or the real goal is to select a random entry from the pagelist field to load a random webpage?I have the following code in use[tt]<?php//connect to database$dbh = mysql_connect ("localhost", "user", "pass") or die ('I cannot connect to the database because: ' . mysql_error());mysql_select_db("dbname"); $sql="SELECT pagelist FROM pagelist";$result = mysql_query($sql) or die(mysql_error());$input = mysql_fetch_array($result);while($row = mysql_fetch_array($result)){ //echo $row['pagelist']; //echo "<br />";}echo $row[0] ;echo $row[1] ;echo $row[2] ;//random page//$input = array("index.html", "index2.html", "gwbush.html");$page = array_rand($input);echo $input[$page] . "\n";?>[/tt] Quote Link to comment https://forums.phpfreaks.com/topic/16033-create-an-array-from-a-mysql-field-or-column/ Share on other sites More sharing options...
Drumminxx Posted July 30, 2006 Share Posted July 30, 2006 are you saying that you want to create an array from a string that contains 'index.html, page.html, page2.html'?you could use the explode function to create an array, assuming that the seperator is a comma it would go something like this$myarray = explode(",", $input); Quote Link to comment https://forums.phpfreaks.com/topic/16033-create-an-array-from-a-mysql-field-or-column/#findComment-65952 Share on other sites More sharing options...
drknife Posted July 30, 2006 Author Share Posted July 30, 2006 I want to take the pagelist field from my mysql database an create an array from that OR chose a random row from the pagelist field/column.The above code resulted in the following error[tt]Parse error: syntax error, unexpected T_VARIABLE in host/random.php on line 6[/tt] Quote Link to comment https://forums.phpfreaks.com/topic/16033-create-an-array-from-a-mysql-field-or-column/#findComment-65957 Share on other sites More sharing options...
para11ax Posted July 30, 2006 Share Posted July 30, 2006 Here's some code I cooked up, it's probably not the most efficient, but it should do it:[code="php"]//Select URLs from database?$sql_pages = mysql_query("SELECT pagelist FROM pagelist") or die(mysql_error());$num_rows = mysql_num_rows($sql_pages);//Add all pagelists to array$count = 0;while($count < $num_rows){ $row = mysql_fetch_array($sql_pages); $page_array[$count] = $row['pagelist']; $count++;}//Select a random pagelist entry$rand_sel = rand(0, $num_rows);$rand_page = $page_array[$rand_sel];[/code]I may have misinterpreted the question. Is pagelist a list of pages for each entry in this table and you only want to compile an array for a single entries pagelist? Or, are you trying to put all "pagelists" into an array (putting a database column into an array) - that is what the above code should do. Disregard it if you are trying to do the former. Quote Link to comment https://forums.phpfreaks.com/topic/16033-create-an-array-from-a-mysql-field-or-column/#findComment-65959 Share on other sites More sharing options...
Drumminxx Posted July 30, 2006 Share Posted July 30, 2006 ok try it like this, based on your code:$input = mysql_fetch_array($result);$myarray = explode(",", $input[0]); Quote Link to comment https://forums.phpfreaks.com/topic/16033-create-an-array-from-a-mysql-field-or-column/#findComment-65961 Share on other sites More sharing options...
drknife Posted July 30, 2006 Author Share Posted July 30, 2006 para11ax:Thanks that did what I wanted. The other code helped to for me to see how to create an array a different way.Now I will try to get this code streamlined.Thanks. Quote Link to comment https://forums.phpfreaks.com/topic/16033-create-an-array-from-a-mysql-field-or-column/#findComment-65970 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.