Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как сделать вывод в разные <tr>
 
 автор: shmel79   (09.02.2008 в 14:57)   письмо автору
 
 

Народ подскажите как мне сделать вот такую тему....
Мне нужно чтобы инфо которая выходит из базы в таблицу вводилась в разные <tr>...
т.е. одна TR одного цвета другая TR другого.... и заново пошло повторение.... в пример кинул jpg.

Выводиться у меня 3 перменные....
вод код..

<?php 
$row2 
mysql_query (\"SELECT * FROM `music` ORDER BY `id` DESC LIMIT 0, 10\");
while(
$mas = mysql_fetch_array($row2)){

?>    


  <tr id=\"btr\" >
         <td class=\"btrleft\" width=\'239\' height=\"40\"><b><?=
$mas[\'name\']?></b></td>
        <td class=\"btrmain\" width=\'185\'><b><?=
$mas[\'description\']?></td>
        <td class=\"btrright\" width=\'100\' align=\"center\" bgcolor=\"#929670\"><a href=\"<?=
$mas[\'filepath\']?>\" class=\"ssilka\">Скачать</a></td>
      </tr>
      
<? } ?>

   
 
 автор: Киналь   (09.02.2008 в 15:01)   письмо автору
 
   для: shmel79   (09.02.2008 в 14:57)
 

Введите в цикл счетчик и на каждой итерации проверяйте его на четность. Если четный - выводите одним цветом, нечетный - другим.
Или не счетчик, а флаг с двумя возможными значениями; каждый раз проверяйте его значение и действуйте согласно ему, параллельно меняяя само значение.

   
 
 автор: shmel79   (09.02.2008 в 15:05)   письмо автору
 
   для: Киналь   (09.02.2008 в 15:01)
 

хмм... а можно наглядно показать.....
а то я только учусь... и пока не все понимаюю... )

   
 
 автор: elenaki   (09.02.2008 в 15:11)   письмо автору
 
   для: shmel79   (09.02.2008 в 15:05)
 

встречный вопрос - а зачем столько слешей?

<?php   
$counter 
0;
$row2 mysql_query ("SELECT * FROM `music` ORDER BY `id` DESC LIMIT 0, 10\"); 
while(
$mas = mysql_fetch_array($row2)){ 

    if (
$counter %2 ==0)
    
$bgcolor="#EAEAEA";
    
else $bgcolor="#d8d8d8";


?>     
  <tr id="btr"  bgcolor="<?=$bgcolor;?>"> 
         <td class="btrleft" width='239' height="40"><b><?=$mas['name']?></b></td> 
        <td class="btrmain" width='185'><b><?=$mas['description']?></td> 
        <td class="btrright" width='100' align="center" bgcolor="#929670"><a href="<?=$mas['filepath']?>" class="ssilka">Скачать</a></td> 
      </tr> 
       
<?  $counter++;
?> 

   
 
 автор: shmel79   (09.02.2008 в 15:18)   письмо автору
 
   для: elenaki   (09.02.2008 в 15:11)
 

хммм... а если стить использовать?
у меня у каждоый td стоит свой стиль....
реально чтобы стиль тоже меняелся.... ?

   
 
 автор: elenaki   (09.02.2008 в 15:30)   письмо автору
 
   для: shmel79   (09.02.2008 в 15:18)
 

т.е. одна TR одного цвета другая TR другого -
=====================================
задача была сделать фоны у строк. и стили тоже можно сделать.

   
 
 автор: dimonich2004   (09.02.2008 в 15:12)   письмо автору
 
   для: shmel79   (09.02.2008 в 15:05)
 

Ты сначало выведи код скрипта с понятным <?php НАЧАЛОМ и КОНЦОМ ?>
иначе непонятно что у тя выполняеццо на данный момент и как работает ?!
в таком виде как он выставлен на обозрение выше непонятно толи ты неправильно скопировал и вставил или у тя так и написано.......

   
 
 автор: shmel79   (09.02.2008 в 15:16)   письмо автору
 
   для: dimonich2004   (09.02.2008 в 15:12)
 

да че-то первый раз...как-то неудачно скопировался...

<table width="515" border="0" cellpadding="0" cellspacing="0" id="btr">
       
<?php 
$row2 
mysql_query ("SELECT * FROM `music` ORDER BY `id` DESC LIMIT 0, 10");
while(
$mas mysql_fetch_array($row2)){

?>    


  <tr id="btr" >
         <td class="btrleft" width='239' height="40"><b><?=$mas['name']?></b></td>
        <td class="btrmain" width='185'><b><?=$mas['description']?></td>
        <td class="btrright" width='100' align="center" bgcolor="#929670"><a href="<?=$mas['filepath']?>" class="ssilka"><img src="img/flopy.gif" border=0>&nbsp;Скачать</a></td>
      </tr>
      
<? ?>
       
       
    </table>

   
 
 автор: shmel79   (09.02.2008 в 15:28)   письмо автору
 
   для: shmel79   (09.02.2008 в 15:16)
 

хммм... а если стить использовать?
у меня у каждоый td стоит свой стиль....
реально чтобы стиль тоже меняелся.... ?

   
 
 автор: dimonich2004   (09.02.2008 в 15:34)   письмо автору
 
   для: shmel79   (09.02.2008 в 15:28)
 

попробуй выводить всё PRINTF ("%s ",переменная);

попробуй выводить всё PRINTF ("%s ",переменная);

<?php  
$row2 
mysql_query ("SELECT * FROM `music` ORDER BY `id` DESC LIMIT 0, 10"); 
while(
$mas mysql_fetch_array($row2)){ 

    


printf ("<tr id='btr' > 
         <td class='btrleft' width='239' height='40'><b>%s</b></td> 
        <td class='btrmain' width='185'><b>%s</td> 
        <td class='btrright' width='100' align='center' bgcolor='#929670'><a href='%s' class='ssilka'><img src='img/flopy.gif' border=0>&nbsp;Скачать</a></td> 
      </tr> 
       "
,$mas['name'],$mas['description'],$mas['filepath']);
?> 

   
 
 автор: shmel79   (09.02.2008 в 15:44)   письмо автору
 
   для: dimonich2004   (09.02.2008 в 15:34)
 

хмм.. а смысл... это же функция выводит массив...
И какой тогда смысл выводить переменные... если мне нужно для каждого случая просто как-то заменять class= для четных.... class=не четных....

может что-то типо:


<?php
$counter 
0
$row2 mysql_query ("SELECT * FROM `music` ORDER BY `id` DESC LIMIT 0, 10");
while(
$mas mysql_fetch_array($row2)){

if (
$counter %==0
    
$sty1="#EAEAEA"$sty2="#EAEAEA"$sty3="#EAEAEA" 
    else 
$sty1="#d8d8d8"$sty2="#d8d8d8"$sty3="#d8d8d8";

?>    


  <tr id="btr" >
         <td class="<?=$sty1;?>" width='239' height="40"><b><?=$mas['name']?></b></td>
        <td class="<?=$sty2;?>" width='185'><b><?=$mas['description']?></td>
        <td class="<?=$sty3;?>" width='100' align="center" bgcolor="#929670"><a href="<?=$mas['filepath']?>" class="ssilka"><img src="img/flopy.gif" border=0>&nbsp;Скачать</a></td>
      </tr>
      
<? ?>
       
       
    </table>

   
 
 автор: dimonich2004   (09.02.2008 в 15:49)   письмо автору
 
   для: shmel79   (09.02.2008 в 15:44)
 

напиши условие
если $i == чётная то присвой $g=стиль для чётных else $g= стиль для нечётных

и подставляй! =)))

   
 
 автор: shmel79   (09.02.2008 в 15:56)   письмо автору
 
   для: dimonich2004   (09.02.2008 в 15:49)
 

покажи плз... как это реализовать?

   
 
 автор: dimonich2004   (09.02.2008 в 16:01)   письмо автору
 
   для: shmel79   (09.02.2008 в 15:56)
 


<?php

if ($counter %==0)  
    
$sty1="#EAEAEA"$sty2="#EAEAEA"$sty3="#EAEAEA" ;  
    else 
$sty1="#d8d8d8"$sty2="#d8d8d8"$sty3="#d8d8d8"


printf ("<tr id='btr' >  
         <td class='%s'height='40'><b>%s</b></td>  
        <td class='%s' width='185'><b>%s</td>  
        <td class='%s' width='100' align='center' bgcolor='#929670'><a href='%s' class='ssilka'><img src='img/flopy.gif' border=0>&nbsp;Скачать</a></td>  
      </tr>  
       "
,$sty1,$mas['name'],$sty3,$mas['description'],$sty3,$mas['filepath']); 
?>

   
 
 автор: shmel79   (09.02.2008 в 16:34)   письмо автору
 
   для: dimonich2004   (09.02.2008 в 16:01)
 

не получается....


<?php 
$counter 
0;  
$row2 mysql_query ("SELECT * FROM `music` ORDER BY `id` DESC LIMIT 0, 10"); 
while(
$mas mysql_fetch_array($row2))


if  (
$counter %==0)   
    
$sty1="btrleft"$sty2="btrmain"$sty3="btrright" 
    
        else 
$sty1="btrleft1"$sty2="btrmain1"$sty3="btrright1";  


printf ("<tr id='btr' >   
         <td class='%s'height='40'><b>%s</b></td>   
        <td class='%s' width='185'><b>%s</td>   
        <td class='%s' width='100' align='center' bgcolor='#929670'><a href='%s' class='ssilka'><img src='img/flopy.gif' border=0>&nbsp;Скачать</a></td>   
      </tr>   
       "
,$sty1,$mas['name'],$sty3,$mas['description'],$sty3,$mas['filepath']);  
?> 


говорит что ошибка здесь:

 $sty1="btrleft", $sty2="btrmain", $sty3="btrright" ;

   
 
 автор: dimonich2004   (09.02.2008 в 16:35)   письмо автору
 
   для: shmel79   (09.02.2008 в 16:34)
 

заключи в скобки все что до else и после { ... } else { ... }

   
 
 автор: shmel79   (09.02.2008 в 16:42)   письмо автору
 
   для: dimonich2004   (09.02.2008 в 16:35)
 

if  {($counter %2 ==0)
    $sty1="btrleft", $sty2="btrmain", $sty3="btrright" ; }
    
        else {$sty1="btrleft1", $sty2="btrmain1", $sty3="btrright1";  }


говорит что ошибка..... типо ( - лишняя... убираю ваще скобки... все-равно пишет
Parse error: parse error, expecting `'('' in z:\home\mysite.ru\www\music.php on line 47

   
 
 автор: dimonich2004   (09.02.2008 в 16:52)   письмо автору
 
   для: shmel79   (09.02.2008 в 16:42)
 


<?
if  ($counter %==0)  
{  
   
$sty1="btrleft"$sty2="btrmain"$sty3="btrright" ;
}
else 
{
$sty1="btrleft1"$sty2="btrmain1"$sty3="btrright1";
}
?>

   
 
 автор: Киналь   (09.02.2008 в 22:03)   письмо автору
 
   для: shmel79   (09.02.2008 в 14:57)
 

А вы не забываете счетчик увеличивать вручную? В смысле, в теле цикла делать
$counter++;

   
 
 автор: shmel79   (10.02.2008 в 00:47)   письмо автору
 
   для: Киналь   (09.02.2008 в 22:03)
 

Хмм..а попродробнее.. ?

   
 
 автор: mihdan   (10.02.2008 в 01:47)   письмо автору
 
   для: shmel79   (10.02.2008 в 00:47)
 


<?php 
$counter 
0;  
$row2 mysql_query ("SELECT * FROM `music` ORDER BY `id` DESC LIMIT 0, 10"); 
while(
$mas mysql_fetch_array($row2))


if  (
$counter %==0)   
    
$sty1="btrleft"$sty2="btrmain"$sty3="btrright" 
    
        else 
$sty1="btrleft1"$sty2="btrmain1"$sty3="btrright1";  


printf ("<tr id='btr' >   
         <td class='%s'height='40'><b>%s</b></td>   
        <td class='%s' width='185'><b>%s</td>   
        <td class='%s' width='100' align='center' bgcolor='#929670'><a href='%s' class='ssilka'><img src='img/flopy.gif' border=0>&nbsp;Скачать</a></td>   
      </tr>   
       "
,$sty1,$mas['name'],$sty3,$mas['description'],$sty3,$mas['filepath']);  
     
$counter ++;
?>  

   
 
 автор: shmel79   (10.02.2008 в 01:58)   письмо автору
 
   для: mihdan   (10.02.2008 в 01:47)
 

во спасибо большое.... Заработало... только немного некоректно.... просто у меня еще есть вывод стиля относящийся к таблице... но находиться за пределами скрипита... куда выводить его значение из массива? id="btr" нужно чтобы также менялся btr на btr2


<table width="515" border="0" cellpadding="0" cellspacing="0" id="btr">     
       
<?php 
$counter 
0;  
$row2 mysql_query ("SELECT * FROM `music` ORDER BY `id` DESC LIMIT 0, 10"); 

while(
$mas mysql_fetch_array($row2))


if  (
$counter %==0)   
{   
   
$sty1="btrleft"$sty2="btrmain"$sty3="btrright" 

else  

$sty1="btrleft2"$sty2="btrmain2"$sty3="btrright2"




printf ("<tr id='btr' >   
         <td class='%s'height='40'><b>%s</b></td>   
        <td class='%s' width='185'><b>%s</td>   
        <td class='%s' width='100' align='center' bgcolor='#929670'><a href='%s' class='ssilka'><img src='img/flopy.gif' border=0>&nbsp;Скачать</a></td>   
      </tr>   
       "
,$sty1,$mas['name'],$sty3,$mas['description'],$sty3,$mas['filepath']); 
       
$counter ++;  
?> 


       
       
    </table>

   
 
 автор: shmel79   (10.02.2008 в 03:50)   письмо автору
 
   для: shmel79   (10.02.2008 в 01:58)
 

??

   
 
 автор: vito   (10.02.2008 в 07:58)   письмо автору
 
   для: shmel79   (10.02.2008 в 01:58)
 

<?    
function table()
{    
    static 
$flag_for_table;// статический флаг_для_таблицы вашего ID таблицы
    
    
if($flag_for_table)$btr 'btr';// если флаг_для_таблицы = TRUE
    
else $btr 'btr2';// если флаг_для_таблицы = FALSE
    
    
$table '<table width="515" border="0" cellpadding="0" cellspacing="0" id="'.$btr.'"> ';
    
$end "</table>";
    
    
$return_table $table;//открываем табицу
    
    
$row2 mysql_query ("SELECT * FROM `music` ORDER BY `id` DESC LIMIT 0, 10"); 
    
    
$flag_for_td TRUE;//флаг_для_td
    
    
while($mas mysql_fetch_array($row2)) 
    {  
        if  (
$flag_for_td)//если флаг_для_td = TRUE
        
{    
           
$sty1="btrleft"$sty2="btrmain"$sty3="btrright";
           
$flag_for_td FALSE;
        }  
        else
//если флаг_для_td = FALSE   
        
{  
            
$sty1="btrleft2"$sty2="btrmain2"$sty3="btrright2"
            
$flag_for_td TRUE;
        }  
    
        
//собираем ряды в цикле while()
        
$return_table .= "<tr id=\"btr\" >    
             <td class=\"%s\" height=\"40\"><b>%s</b></td>    
            <td class=\"%s\" width=\"185\"><b>%s</td>    
            <td class=\"%s\" width=\"100\" align=\"center\" bgcolor=\"#929670\">
<a href=\"%s\" class=\"ssilka\"><img src=\"img/flopy.gif\" border=0>&nbsp;Скачать</a></td>    
          </tr>    
           "
;     
     
// присоединяем стили с результатами
    
$return_table .= $sty1.$mas['name'].$sty3.$mas['description'].$sty3.$mas['filepath'];  
           
    }
    
    
$return_table .= $end;//присоединяем </table>
        
        //переключаем статический флаг_для_таблицы
if($flag_for_table$flag_for_table FALSE;//если флаг_для_таблицы = TRUE
        
else $flag_for_table TRUE;//если флаг_для_таблицы = FALSE
        
return $return_table;//возвращаем строку со всей таблицей
}

//вызов таблицы    
$a table();

//выводим на экран
echo $a;
?>

функцию table можно поместить куда угодно
например поместить эту функцию в отдельный файл table.php
и затем загрузить этот файл функцией require_once('table.php');

тогда весь код на странице будет выглядеть следующим образом:
<?
    
//загружаем файл с функцией
    
require_once('table.php');
    
    
//вызываем функцию table() и присваиваем переменной $a то, что вернула ф-я table(),
    //а вернула она переменную $return_table, в которой находится вся наша таблица
    
$a table();

    
//выводим на экран переменную $a
    
echo $a;
    
?>

   
 
 автор: shmel79   (10.02.2008 в 17:00)   письмо автору
 
   для: vito   (10.02.2008 в 07:58)
 

Спасибо большое!!! SOFTTIME.ru навесгда.. ))

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования