mysql_fetch_array
will give me an array of a fetched row. What\'s the best way generate an array from the values of all rows in one column?
If you don't need other information in that table, you can query for only the column you need and it makes it all more easy:
$query = mysql_query("SELECT * FROM table WHERE id='$int' LIMIT 1");
$column = array();
$column = mysql_fetch_array($query);
$result = mysql_query("SELECT columnname FROM table WHERE x=y");
$columnValues = Array();
while ( $row = mysql_fetch_assoc($result) ) {
$columnValues[] = $row['columnname'];
}
you can do this :
$columns = array();
$i=1;
while( $row = mysql_fetch_array($sql) )
{
$columns [$i]=$row['value'];
$i++;
}
Use a while
loop to get the records and store them in an array:
$array = array();
while ($row = mysql_fetch_array()) {
$array[] = $row['column-x'];
}
$query = mysql_query('SELECT * from yourTable');
function mysql_field_array( $query ) {
$field = mysql_num_fields( $query );
for ( $i = 0; $i < $field; $i++ ) {
$names[] = mysql_field_name( $query, $i );
}
return $names;
}
$fields = mysql_field_array( $query );
$output = implode( ',', $fields ); //outputs the columns names
//echo count( $fields ); //this use if you want count of columns.
$columns = '{\"fields\":\".json_encode($output).\"}';
echo $columns; //for JSON output