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] 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); 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] 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. 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]); 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. 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
Archived
This topic is now archived and is closed to further replies.