ОК, во многих случаях вам даже не нужно ничего делать, так как по умолчанию для div для height
и width
задано значение auto, но если это не ваш случай, примените отображение inline-block
. сработает для вас ... посмотрите на код, который я создаю для вас, и он сделает то, что вы ищете:
div {
display: inline-block;
}
<div>
<table>
<tr>
<td>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ultrices feugiat massa sed laoreet. Maecenas et magna egestas, facilisis purus quis, vestibulum nibh.</td>
<td>Nunc auctor aliquam est ac viverra. Sed enim nisi, feugiat sed accumsan eu, convallis eget felis. Pellentesque consequat eu leo nec pharetra. Aenean interdum enim dapibus diam.</td>
<td>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ultrices feugiat massa sed laoreet. Maecenas et magna egestas, facilisis purus quis, vestibulum nibh.</td>
</tr>
</table>
</div>
В MySQL C API mysql_fetch_row возвращает объект MYSQL_ROW, который по сути представляет собой массив значений в текущей строке.
Итак, ваш код должен выглядеть примерно так:
mysql_query(sqlhnd, "SELECT * FROM `my_table`");
MYSQL_RES *confres = mysql_store_result(sqlhnd);
int totalrows = mysql_num_rows(confres);
int numfields = mysql_num_fields(confres);
MYSQL_FIELD *mfield;
while((row = mysql_fetch_row(confres)))
{
for(i = 0; i < numfields; i++)
{
char *val = row[i];
// do something with val...
}
}
Еще лучше , не выполняйте команду «SELECT * FROM mytable
» в программе. Было бы гораздо лучше назвать ожидаемые поля именами, чтобы вы могли быть уверены в порядке возвращаемых полей.
Если вы используете C ++, почему бы не использовать MySQL ++ ? Это пример кода:
mysqlpp::Connection dbconnection;
dbconnection.connect("database", "server", "user", "pass");
mysqlpp::Query prepared_query = dbconnection.query( "SELECT * FROM `my_table`" );
mysqlpp::StoreQueryResult r = prepared_query.store();
int field = r.field_num("columntobefetched");
for(mysqlpp::StoreQueryResult::iterator i = r.begin(); i!=r.end();i++)
{
std::cout << i->at(field) << std::endl;
std::cout << (*i)["columntobefetched"] << std::endl; // this will be slower
}