Возникает проблема автоматического получения имен полей из таблицы MySQL. Если возможно, имя может быть помещено в этот формат вместе с динамически созданным текстовым полем?:
Коды, которые я создал до сих пор, расположены ниже:
<?php
include "db_connect.php";
$name = mysql_query("SELECT * from users");
$property = mysql_fetch_field($name);
$i = 0;
$result = mysql_query("SHOW COLUMNS FROM users");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
while($i<mysql_num_fields($result))
{
$meta=mysql_fetch_field($name,$i);
$new = $meta->name;
echo "$new: <input type=\"text\" name=\"{$row['Field']}\" size=\"40\"
maxlength=\"256\" /><br>";
$i++;
}
}
}
?>
Динамически созданное текстовое поле (в соответствии с количеством столбцов из таблицы) работает нормально, но имена полей не могут быть сгенерированы! Может кто-нибудь, пожалуйста, дайте совет или помощь по этому поводу? Спасибо!
Ниже приведен код столбцов таблицы и генерируется список входов. В вашем коде у вас много вещей, которые бесполезны. Вам не нужно select * from users
...
Вот код
<?php
include "db_connect.php";
// This is not needed! Useless query that loads all the info from db
//$name = mysql_query("SELECT * from users");
//$i = 0;
// Here you are getting culumns information
$result = mysql_query("SHOW COLUMNS FROM users");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
// Scan through all the fields
while ($field = mysql_fetch_object($result)) {
// structure of $field looks like this
/*
object(stdClass)[1]
public 'Field' => string 'id' (length=2)
public 'Type' => string 'int(11)' (length=7)
public 'Null' => string 'NO' (length=2)
public 'Key' => string 'PRI' (length=3)
public 'Default' => null
public 'Extra' => string 'auto_increment' (length=14)
*/
//
echo "$field->Field: <input type=\"text\" name=\"$field->Field\" size=\"40\" maxlength=\"256\" /><br>";
}
?>
Ответ:
<?php
include "db_connect.php";
$name = mysql_query("SELECT * from checkusers");
$property = mysql_fetch_field($name);
$result = mysql_query("SHOW COLUMNS FROM checkusers");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
for ($i = 0; $i < mysql_num_fields($name); $i++)
{
$meta=mysql_field_name($name, $i);
echo "$meta: <input type=\"text\" name=\"{$row['health_id']}\" size=\"40\"
maxlength=\"256\" /><br>";
}
?>
<?php
include "database.php";
$id = mysql_query("SELECT * from info");
$property = mysql_fetch_field($id);
$i = 0;
$result = mysql_query("SHOW COLUMNS FROM info");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
while($i<mysql_num_fields($result))
{
$meta=mysql_fetch_field($result,$i);
$new = $meta->id;
echo "$new: <input type=\"text\" id=\"{$row['Field']}\" size=\"40\"
maxlength=\"256\" /><br>";
$i++;
}
}
}
?>