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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Выборка

Сообщения:  [1-10]    [11-20]  [21-29] 

 
 автор: Peter   (01.07.2005 в 15:40)   письмо автору
 
   для: Peter   (01.07.2005 в 11:45)
 

всё... сделал сам...
всем спасибо!

   
 
 автор: Peter   (01.07.2005 в 11:45)   письмо автору
 
   для: P@Sol   (01.07.2005 в 09:28)
 

да, это был тупиковый путь...
сегодня, на свежую голову, я решил этот вопрос так:

<?
 
print "<br><br><center><table align=center width=60%  border=1 class='tab' bordercolor=#cccccc>\n";

    while (
$line mysql_fetch_array($resultMYSQL_ASSOC))
    {



              foreach (
$line as $col_value)
        {
        if (
$col_value==$line['vac'])  {
             
$first="Вакансия"; }
              if (
$col_value==$line['email'])  {
             
$first="E-mail"; }
               if (
$col_value==$line['edu'])  {
             
$first="Требуемый уровень образования"; }

              if (
$col_value==$line['st'])  {
             
$first="Опыт работы"; }

               if (
$col_value==$line['nav'])  {
             
$first="Необходимые навыки"; }
                 if (
$col_value==$line['age'])  {
             
$first="Возраст"; }
               if (
$col_value==$line['money'])  {
             
$first="Зароботная плата"; }

             if (
$col_value==$line['prim'])  {
             
$first="Дополнительная информация"; }
               if (
$col_value==$line['cont'])  {
             
$first="Контактная информация"; }



      print 
"\t<tr bgcolor=$bgcolor><td>$first</td><td align=center >$col_value</td></tr>\n";
       }

            if(
$key=="1"){$bgcolor=$color1;$key--;}
 else{
$bgcolor=$color2;$key++;}


    }
    print 
"</table></center>\n";
?>


...но тут опять возникла маленькая проблемка: если какие-то параметры не введены в базу, при выборке пустые позиции определяются как $first="Контактная информация", т.е. по последниму условию

   
 
 автор: P@Sol   (01.07.2005 в 09:28)   письмо автору
 
   для: Peter   (30.06.2005 в 17:08)
 

я думал об этом варианте, но отказался, потому что:


 foreach ($line2 as $col_value2) 
         { 
print "<tr bgcolor=$bgcolor><td align=center >$col_value2</td>\n"; 


              foreach ($line as $col_value) 
        { 


      print "\t<td align=center >$col_value</td></tr>"; 
       } 


сначало работа полностью происходит с $line2, а только потом, как там считаются все данные, работа переходит на $line...т.е. получается

<tr bgcolor=$bgcolor><td align=center >$col_value2</td>\n //1 ячейка в 1 строке
<tr bgcolor=$bgcolor><td align=center >$col_value2</td>\n //1 ячейка во второй строке
<tr bgcolor=$bgcolor><td align=center >$col_value2</td>\n // 1-ая ячейка в третьей строке
а потом
<td align=center >$col_value</td></tr> //2 ячейка в третьей строке
<td align=center >$col_value</td></tr> //1 ячейка в четвертой строке
<td align=center >$col_value</td></tr>//1 ячейка в пятой строке

   
 
 автор: Peter   (30.06.2005 в 17:08)   письмо автору
 
   для: Peter   (30.06.2005 в 15:04)
 


<?
/* Выполняем SQL-запрос */
    
$query "SELECT  vac, edu, st, nav, age, money, prim, cont, email FROM vacancy WHERE id_vac > 1  ";

    
$result mysql_query($query) or die("Query failed : " mysql_error());
    
//или так
$query2 "SELECT  vac, edu, st, nav, age, money, prim, cont, email FROM vacancy WHERE id_vac = 1  ";

    
$result2 mysql_query($query2) or die("Query failed : " mysql_error());
     
$line2 mysql_fetch_array($result2);
    
$key=1;
    
/* Выводим результаты в html */


  
print "<br><br><center><table align=center width=60%  border=1 class='tab' bordercolor=#cccccc>\n";

    while (
$line mysql_fetch_array($resultMYSQL_ASSOC))
    {

         foreach (
$line2 as $col_value2)
         {
print 
"<tr bgcolor=$bgcolor><td align=center >$col_value2</td>\n";
}

              foreach (
$line as $col_value)
        {


      print 
"\t<td align=center >$col_value</td></tr>";
       }

            if(
$key=="1"){$bgcolor=$color1;$key--;}
 else{
$bgcolor=$color2;$key++;}


    }
    print 
"</table></center>\n";

 
?>


вот так вроде начинает выводить обе выборки, но таблица формируется не правильно:
вакансия
вакансия
зарплата
зарплата сисадмин
email
email
и т.д.


большая часть из обоих выборок попадает в первый столбец

   
 
 автор: P@Sol   (30.06.2005 в 16:37)   письмо автору
 
   для: Peter   (30.06.2005 в 16:31)
 

пробовал написать код - ничего не получилось

   
 
 автор: Peter   (30.06.2005 в 16:31)   письмо автору
 
   для: P@Sol   (30.06.2005 в 16:18)
 

еще раз: $col_value, то что выводится без проблем, $line2 то что должно выводится так же и там же, но не выводится...
уфф... страницу показать к сожалению не могу, а принт скрин прикрепить не получается :(

   
 
 автор: P@Sol   (30.06.2005 в 16:18)   письмо автору
 
   для: Peter   (30.06.2005 в 15:59)
 

а где выводится первый параметр?

   
 
 автор: Peter   (30.06.2005 в 15:59)   письмо автору
 
   для: P@Sol   (30.06.2005 в 15:46)
 

пишет Array... ($line2)
ну да, $line2['age'] скрипт выводит, но мне-то нужно выводить все параметры по очереди, как это происходит во второй выборке...

   
 
 автор: P@Sol   (30.06.2005 в 15:46)   письмо автору
 
   для: Peter   (30.06.2005 в 15:38)
 

Я точно не уверен...
<?

    $key
=1
    
/* Выводим результаты в html */ 

  
print "<br><br><center><table align=center width=60%  border=1 class='tab' bordercolor=#cccccc>\n"

    while (
$line mysql_fetch_array($resultMYSQL_ASSOC)) 
    { 
      
$line2 mysql_fetch_array($result2); 

       foreach (
$line as $col_value) { 
      print 
"\t<tr bgcolor=$bgcolor><td align=center >$line2</td><td align=center >$col_value</td></tr>\n";    } 
            if(
$key=="1"){$bgcolor=$color1;$key--;} 
else{
$bgcolor=$color2;$key++;} 
    } 

   
 
 автор: Peter   (30.06.2005 в 15:38)   письмо автору
 
   для: P@Sol   (30.06.2005 в 15:13)
 

... просто я вбил по аналогии с первым запросом...
хорошо, если предположить что количество значений всегда будет совпадать, как должен выглядеть скрипт?
т.е. как мне вставить вторую выборку в этот же цикл? (если я правильно понял)

   

Сообщения:  [1-10]    [11-20]  [21-29] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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