Vypsání obsahu sloupce s mySQL tabulky
5 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Cau lidi, pls potreboval bych poradit s jednou veci, v cyklu zjistim jake sloupce z tabulky se vypisou a nasledne je vypisu, ale potreboval bych vypsat i obsah tohoto sloupce, pls poradite ? $sql = mysql_query("SELECT * FROM tblModules WHERE bEnabled = True AND sName = $moduleName "); $row = mysql_fetch_assoc($sql); $fields_cnt = mysql_num_fields($sql); echo "<row"; //zjisti jake sloupce se vypisou for ($j = 0; $j < $fields_cnt; $j++) { $field_set[$j] = mysql_field_name($sql, $j); echo " " . $field_set[$j] . "=\""; //vypis obsahu sloupce $field_row[$j] = mysql_data_seek($sql, $j); echo $field_row[$j]; echo "\""; } echo " />\n"; mam nejakou chybu ve scriptu a myslim za ta chyba bude tady $field_row[$j] = mysql_data_seek($sql, $j); echo $field_row[$j]; ale nedokazu prijit na to, jak to spravit, poradite pls ? jeste prikladam vysledek co to vypise <row pkTblModules="1" sName=" Warning: mysql_data_seek() [function.mysql-data-seek]: Offset 1 is invalid for MySQL result index 3 (or the query data is unbuffered) in /data/www/www_suchdolsharpshooters_com/zapis_do_xml/index2.php on line 16 " sQuery=" Warning: mysql_data_seek() [function.mysql-data-seek]: Offset 2 is invalid for MySQL result index 3 (or the query data is unbuffered) in /data/www/www_suchdolsharpshooters_com/zapis_do_xml/index2.php on line 16 " sXSL=" Warning: mysql_data_seek() [function.mysql-data-seek]: Offset 3 is invalid for MySQL result index 3 (or the query data is unbuffered) in /data/www/www_suchdolsharpshooters_com/zapis_do_xml/index2.php on line 16 " bEnabled=" Warning: mysql_data_seek() [function.mysql-data-seek]: Offset 4 is invalid for MySQL result index 3 (or the query data is unbuffered) in /data/www/www_suchdolsharpshooters_com/zapis_do_xml/index2.php on line 16 " />
-
Téda. Odkud jsi to vyhrabal? Je to totální plácanina. Když už mám zůstat u toho zdrojáku, tak: $sql = mysql_query("SELECT * FROM tblModules WHERE bEnabled = True AND sName = $moduleName "); $row = mysql_fetch_row($sql); // potřebujeme čísla, ne názvy $fields_cnt = mysql_num_fields($sql); echo "<row"; //zjisti jake sloupce se vypisou for ($j = 0; $j < $fields_cnt; $j++) { $field_set[$j] = mysql_field_name($sql, $j); echo " " . $field_set[$j] . "=\""; //vypis obsahu sloupce echo $row[$j]; // $row obsahuje už přímo data. $j odkazuje na konkrétní sloupec. echo "\""; } echo " />\n"; Jinak těch 5 řádků je tam k ničemu. Když už chceš použít mysql_fetch_assoc(), tak jej využij pořádně. Tahle funkce vrací vše, co potřebuješ a už nic jiného nepotřebuješ. Stačí použít příkaz foreach($row as $key => $value); . Kde $key je název sloupce a $value je přímo hodnota.
-
Kladu si dotaz, proc se snazis neco tak jednoducheho udelat tak slozite :/ mysql_fetch_object($sql) nebo mysql_fetch_assoc($sql) to udelaji za tebe.. (navic rychleji ;)) $sql = mysql_query("SELECT * FROM tblModules WHERE bEnabled = True AND sName = $moduleName "); $row = mysql_fetch_row($sql); while (list($key, $value) = each($row)) { echo '<row $key="'.$value.'" />'."\n"; } ___ A pokud bys náhodu nechtel vypsat vsechny polozky, tak staci pouzit podminku a continue; ;)
-
Freeze: Trochu vedle ;) $sql = mysql_query("SELECT * FROM tblModules WHERE bEnabled = True AND sName = $moduleName "); $row = mysql_fetch_assoc($sql); echo "<row "; while (list($key, $value) = each($row)) { echo "$key=\"$value\" "; } echo "/>\n";
-
Aj.. sry za dezinformaci.. nejak jsem predtim nepochytil zpusob vypisu :) __ Dik, zes me opravil ;)