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 ;)