Име на поле

11 отговора 451 прегледа
#1

Име на поле

Привет

Знае ли някой финкция на PHP която връща името на полето от таблица в SQL

Отговор
в отговор на SomeOne #2

Re: Име на поле

$query = "select * from blabla";

$result = mysql_query($query);

for ($i=0; $i<mysql_num_fields(); $i++) {
echo mysql_field_name($result, $i);
}

Но можеш и да използваш mysql_fetch_array() и да направиш цикъл за keys на масива...Ако ти трябват обаче само полетата, без да искаш да правиш заявка за тях, вместо mysql_query() използвай:
$result = mysql_list_fields("database", "table");
...и по-натам е същото...Абе изобщо, поразгледай manual-а...функции има колкото искаш. :)


Математиката се състои от очевидни неща подредени по подходящ начин.

Редактирано от Dakota на

Отговор
в отговор на Dakota #3

Re: Име на поле

Проблема е че ми връща като резултат computed

Отговор
в отговор на SomeOne #4

хм?

Нещо не мога да разбера точно в какво се състои проблемът ти.
Напиши ми заявката и какво точно ти връща и какво точно искаш да ти връща и т.н.

Математиката се състои от очевидни неща подредени по подходящ начин.
Отговор
в отговор на Dakota #5

Ето и пример

$connection_sql = mssql_connect("server", "secret");
$select_db = mssql_select_db("db",$connection_sql);

$query = "select distinct(upper(type)) from mydb";
$result = mssql_query ($query ,$connection_sql);

$num_field = mssql_num_fields ($result);
for ($n=0; $n < $num_field; $n++)
{
$name_field = mssql_field_name ($result, $n);
echo $name_field;
}


Искам $name_field да ми върне името на полето в случая type
Но например искам заявка от рода "select * from blabla" и като резултат да ми върне имената на полетата от таблицата.

Отговор
#6

е...

Не че виждам разликата между това, което ти си написал и моето но...както и да е. Мисля, че проблемът е, че трябва да се направи асоциация на полето, иначе е възможно да не хване името. (поне с mysql_fetch_object е така). Значи, направи си заявката:
SELECT /*niakakva funkcia v SQL*/ as neshto from table;
И после името, че ти е това нещо...А за * би трябвало винаги да работи, но както писах и по-горе, не е нужно изобщо да се използва заявка и функцията mysql_query();...

Математиката се състои от очевидни неща подредени по подходящ начин.
Отговор
#7

Ега ти

Веднъж работи веднъж Не - не го разбирам

Отговор
#8

Обаче

Ако в базата има 100 записа а ти имаш 10 полета променливата при цикъла става > 10 и се появява грешка при връщане на името на полето защото просто няма 11 - то поле и т.н.

ето и грешката : Bad column offset

Отговор
в отговор на moarein #9

Re: Обаче

Uf
i ot kyde to4no se fzima tazi 11????
mysql_num_fields() fryshta broq na poletata
tfa nqma nishto obshto s broq na zapisite.
a i kakto zabelqzfash polzfam limit. Po tfoita logika, bi trqbfalo da se fidi samo
1st pole????

smqh f zalata

rgdz
curly
Отговор
в отговор на SomeOne #10

Re: Ега ти

ne lazbila - kala tlaktol :)
pri men raboti finagi :)

rgdz
curly
Отговор
в отговор на Dakota #11

Re: е...

ami osnofnata razlika e 4e moito raboti :)

mysql_select_db() - zarad tfa raboti :)
kakto kazfash i ti sam - pro4eti malko dox :)

rgdz
curly
Отговор
в отговор на curly #12

Re: е...

Е, то аз не съм направил и конекция към дазата банни...приемам, че това е свършено все пак...

Математиката се състои от очевидни неща подредени по подходящ начин.
Отговор