|
mysql_field_name
Get the name of the specified field in a result
(PHP 4, PHP 5, PECL mysql:1.0)
Example 1438. mysql_field_name() example<?php The above example will output: user_id Related Examples ( Source code ) » mysql_field_name Examples ( Source code ) » List Database, Table, and Field Examples ( Source code ) » Get column alias Code Examples / Notes » mysql_field_nameaaronp123 att yahoo dott comm
You could probably elaborate on this by sending a full sql query to this function...but I titled it simple_query() because it doesn't really allow for joins. Never the less, if you want to get a quick array full of a single row result set this is painless: function simple_query($table_name, $key_col, $key_val) { // open the db $db_link = my_sql_link(); // query table using key col/val $db_rs = mysql_query("SELECT * FROM $table_name WHERE $key_col = $key_val", $db_link); $num_fields = mysql_num_fields($db_rs); if ($num_fields) { // first (and only) row $row = mysql_fetch_assoc($db_rs); // load up array for ($i = 0; $i < $num_fields; $i++) { $simple_q[mysql_field_name($db_rs, $i)] = $row[mysql_field_name($db_rs, $i)]; } // and return return $simple_q; } else { // no rows return false; } mysql_free_result($db_rs); } **Please note that my_sql_link() is just a function I have to open up a my sql connection.** janezr
This is another variant of displaying all columns of a query result, but with a simplified while loop. <? $query="select * from user"; $result=mysql_query($query); $numfields = mysql_num_fields($result); echo "<table>\n<tr>"; for ($i=0; $i < $numfields; $i++) // Header { echo '<th>'.mysql_field_name($result, $i).'</th>'; } echo "</tr>\n"; while ($row = mysql_fetch_row($result)) // Data { echo '<tr><td>'.implode($row,'</td><td>')."</td></tr>\n"; } echo "</table>\n" ?> clinnenb
The following will create a PHP array, $array, containing the MySQL query results with array indexes of the same name as field names returned by the MySQL query. while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { $i=0; foreach ($line as $col_value) { $field=mysql_field_name($result,$i); $array[$field] = $col_value; $i++; } } jimharris
The code in the last comment has an obvious mistake in the for loop expression. The correct expression in the for-loop is $x<$y rather than $x<=$y... $result = mysql_query($sql,$conn) or die(mysql_error()); $rowcount=mysql_num_rows($result); $y=mysql_num_fields($result); for ($x=0; $x<$y; $x++) { echo = mysql_field_name($result, $x).' '; } colin dot truran
T simply itterate through all the field names on a result set try using this. $result = mysql_query($sql,$conn) or die(mysql_error()); $rowcount=mysql_num_rows($result); $y=mysql_num_fields($result); for ($x=0; $x<=$y; $x++) { echo = mysql_field_name($result, $x).' '; } This is useful if you have a result set that joins several tables dynamicaly and you are never sure what all the fields will be when you come to display them. I suggest you place this within a loop through your result rows and include a field flag check around the echo to only show certain data types like this. $y=mysql_num_fields($result); while ($row=mysql_fetch_array($result)) { for ($x=0; $x<=$y; $x++) { $fieldname=mysql_field_name($result,$x); $fieldtype=mysql_field_type($result, $x); if ($fieldtype=='string' && $row[$fieldname]!='') echo $row[$fieldname].' , '; } echo ' '; } matteo.cisilino no_more cisilino spm com
james, why make so difficult when it's very simple :\ $numberfields = mysql_num_fields($res_gb); for ($i=0; $i<$numberfields ; $i++ ) { $var = mysql_field_name($res_gb, $i); $row_title .= $var; } echo $row_title; matt
here's one way to print out a row of <th> tags from a table NOTE: i didn't test this $result = mysql_query("select * from table"); for ($i = 0; $i < mysql_num_fields($result); $i++) { print "<th>".mysql_field_name($result, $i)."</th>\n"; } post a comment if there's an error jason dot chambes
<? /* By simply calling the searchtable() function with these variables it will serach the desired database and procude a table for each field that there is a match. */ function searchtable($host,$user,$pass,$database,$tablename,$userquery) { $link = mysql_connect($host, $user, $pass) or die("Could not connect: " . mysql_error()); $db = mysql_select_db($database, $link) or die(mysql_error()); $fields = mysql_list_fields($database, $tablename, $link); $cols = mysql_num_fields($fields); for ($i = 1; $i < $cols; $i++) { $allfields[] = mysql_field_name($fields, $i); } foreach ($allfields as $myfield) { $result = mysql_query("SELECT * FROM $tablename WHERE $myfield like '%$userquery%' "); if (mysql_num_rows($result) > 0){ echo "<h3>search <i>$database</i> for <i>$userquery</i>, found match(es) in <i>$myfield</i>: </h3>\n"; echo "<table border=1 align=\"center\">\n\t<tr>\n"; for ($i = 1; $i < $cols; $i++) { echo "\t\t<th"; if ($myfield == mysql_field_name($fields, $i)){ echo " bgcolor=\"orange\"> "; } else { echo ">"; } echo mysql_field_name($fields, $i) . "</th>\n"; } echo "\t</tr>\n"; $myrow = mysql_fetch_array($result); do { echo "\t<tr>\n"; for ($i = 1; $i < $cols; $i++){ echo "\t\t<td> $myrow[$i] </td>\n"; } echo "\t</tr>\n"; } while ($myrow = mysql_fetch_array($result)); echo "</table>\n"; } } } searchtable($host,$user,$pass,$database,$tablename,$userquery); ?> |
Change Languagemysql_affected_rows mysql_change_user mysql_client_encoding mysql_close mysql_connect mysql_create_db mysql_data_seek mysql_db_name mysql_db_query mysql_drop_db mysql_errno mysql_error mysql_escape_string mysql_fetch_array mysql_fetch_assoc mysql_fetch_field mysql_fetch_lengths mysql_fetch_object mysql_fetch_row mysql_field_flags mysql_field_len mysql_field_name mysql_field_seek mysql_field_table mysql_field_type mysql_free_result mysql_get_client_info mysql_get_host_info mysql_get_proto_info mysql_get_server_info mysql_info mysql_insert_id mysql_list_dbs mysql_list_fields mysql_list_processes mysql_list_tables mysql_num_fields mysql_num_rows mysql_pconnect mysql_ping mysql_query mysql_real_escape_string mysql_result mysql_select_db mysql_set_charset mysql_stat mysql_tablename mysql_thread_id mysql_unbuffered_query |