masiw w tablica
5 отговора
321 прегледа
masiw w tablica
Здравейте,
вадя стойности от mysql под формата на масив и ме интересува, ако имам една таблица от 2 реда и 2 колони например, как мога да визуализирам първия резултат в първото поле в първата колона, втория в първото поле втората колона, третия на втория ред първата колона и т.н. Предварително благодаря
P.S. може би този въпрос не е крайно подходящ за клуба, защото най-вероятно решението се свежда до HTML познания, но ще съм благодарен, ако някой ми помогне.
вадя стойности от mysql под формата на масив и ме интересува, ако имам една таблица от 2 реда и 2 колони например, как мога да визуализирам първия резултат в първото поле в първата колона, втория в първото поле втората колона, третия на втория ред първата колона и т.н. Предварително благодаря
P.S. може би този въпрос не е крайно подходящ за клуба, защото най-вероятно решението се свежда до HTML познания, но ще съм благодарен, ако някой ми помогне.
Re: masiw w tablica
Доколкото разбирам въпроса ти, всичко се свежда до визуализиране на едномерен масив (от резултати) в таблица с две (или n) колони. Ако не е така, кажи.
----
Свободната енциклопедия - сподели знанията си...
----
Свободната енциклопедия - сподели знанията си...
Re: masiw w tablica
Това е моя начин (обаче няма да се смеете много!)
Да приемем, че имаме таблица с книги. Взимаме информацията и я показваме на няколко реда, в две колони.
Да приемем, че имаме таблица с книги. Взимаме информацията и я показваме на няколко реда, в две колони.
$q1 = "select * from books";
$r1 = mysql_query($q1) or die(mysql_error());
while($a1 = mysql_fetch_array($r1))
{
$ids[] = $a1[book_id];
$titles[] = $a1[book_title];
$authors[] = $a1[book_author];
$publishers[] = $a1[book_publisher];
$prices[] = $a1[book_price];
}
if(count($ids) > '0')
{
echo "<table align=center>\n";
for($i = '0'; $i < count($ids); $i+=2)
{
$one = $i + 0;
$two = $i + 1;
echo "<tr>\n\t";
echo "<td>";
echo $titles[$one]."< br >";
echo $authors[$one]."< br >";
echo $publishers[$one]."< br >";
echo $prices[$one]."< br >< br >";
echo "</td>";
if(!empty($ids[$two]))
{
echo "<td>";
echo $titles[$two]."< br >";
echo $authors[$two]."< br >";
echo $publishers[$two]."< br >";
echo $prices[$two]."< br >< br >";
echo "</td>";
}
else
{
echo "<td></td>\n";
}
echo "</tr>\n";
}
echo "</table>";
}
Re: masiw w tablica
До колкото съм рабрал въпроса ти, искаш с всеки нечетен резултат да започва нов ред в раблицата. Ако е така, да всичко е до опира до HTML.
Дефинирай си един counter, който да се увеличава с 1 след всеки fetch, и края на цикъла в който визуализираш записите (предполагам while) сложи проверка по делене на модул 2 (например) - там генерирай нов ред. С две думи нещо такова:
<?
...
echo "<table>";
echo "<tr>";
$count = 0;
while($row = mysql_fetch_array($r)){
echo "<td>" . $row["pole1"] . "</td>";
$count++;
if ($count%2 == 0)
echo "</tr><tr>";
}
echo "</tr>";
echo "</table>";
...
?>
Дано съм бил полезен.
Дефинирай си един counter, който да се увеличава с 1 след всеки fetch, и края на цикъла в който визуализираш записите (предполагам while) сложи проверка по делене на модул 2 (например) - там генерирай нов ред. С две думи нещо такова:
<?
...
echo "<table>";
echo "<tr>";
$count = 0;
while($row = mysql_fetch_array($r)){
echo "<td>" . $row["pole1"] . "</td>";
$count++;
if ($count%2 == 0)
echo "</tr><tr>";
}
echo "</tr>";
echo "</table>";
...
?>
Дано съм бил полезен.
Re: masiw w tablica
На тази функциика подаи резултата от куерито и масивче с имената на колоните. Пожелавам ти успех. Ако има нещо пиши пак. Масивче в ПХП наи лесно си правиш така $neshto_si=array(edin_element , drug_element , treti_element);
<?
function dysplay_result($query , $column_names)
{
$my_query = mysql_fetch_array($query);
if(count($column_names) != 0){
echo '<table align="center">';
echo '<tr>';
foreach($column_names as $element)
{
echo '<td>' . $element . '</td>';
}
echo '</tr>';
foreach($my_query as $row)
{
echo '<tr>';
echo '<td>' . $row . '</td>';
echo '</tr>';
}
echo '</table>';
}
else{
echo '<H1>Zabravil si da vuvedesh imenata na kolonite!';
}
}
?>
<?
function dysplay_result($query , $column_names)
{
$my_query = mysql_fetch_array($query);
if(count($column_names) != 0){
echo '<table align="center">';
echo '<tr>';
foreach($column_names as $element)
{
echo '<td>' . $element . '</td>';
}
echo '</tr>';
foreach($my_query as $row)
{
echo '<tr>';
echo '<td>' . $row . '</td>';
echo '</tr>';
}
echo '</table>';
}
else{
echo '<H1>Zabravil si da vuvedesh imenata na kolonite!';
}
}
?>
Re: masiw w tablica
Малко корекции - функцииката трябва да е ето така
<?
function dysplay_result( $query , $column_names)
{
$result=mysql_query($query);
$my_query =mysql_fetch_array($result);
if(count($column_names) != 0){
echo '<table align="center">';
echo '<tr>';
foreach($column_names as $element)
{
echo '<td>' . $element . '</td>';
}
echo '</tr>';
foreach($my_query as $row)
{
echo '<tr>';
echo '<td>' . $row . '</td>';
echo '</tr>';
}
echo '</table>';
}
else{
echo '<H1>Zabravil si da vuvedesh imenata na kolonite!';
}
mysql_free_result($result);
}
?>Успех !!
<?
function dysplay_result( $query , $column_names)
{
$result=mysql_query($query);
$my_query =mysql_fetch_array($result);
if(count($column_names) != 0){
echo '<table align="center">';
echo '<tr>';
foreach($column_names as $element)
{
echo '<td>' . $element . '</td>';
}
echo '</tr>';
foreach($my_query as $row)
{
echo '<tr>';
echo '<td>' . $row . '</td>';
echo '</tr>';
}
echo '</table>';
}
else{
echo '<H1>Zabravil si da vuvedesh imenata na kolonite!';
}
mysql_free_result($result);
}
?>Успех !!