|
|
|
| добрый день, вопрос следующий: как мне добавить другую выборку, аналогичную $query (естественно,с другим условием), я что-то запутался...
$color1="#eaeaea";
$color2="#f9f9f9";
/* Выполняем 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());
$key=1;
/* Выводим результаты в html */
print "<br><br><center><table align=center width=60% border=1 class='tab' bordercolor=#cccccc>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
foreach ($line as $col_value) {
print "\t<tr bgcolor=$bgcolor><td align=center >второй_параметр</td><td align=center >$col_value</td></tr>\n"; }
if($key=="1"){$bgcolor=$color1;$key--;}
else{$bgcolor=$color2;$key++;}
}
print "</table></center>\n";
|
| |
|
|
|
|
|
|
|
для: Peter
(29.06.2005 в 11:35)
| | все тоже самое
<?
//можно даже имена не менять:)
$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());
|
| |
|
|
|
|
|
|
|
для: P@Sol
(29.06.2005 в 11:45)
| | не получается...
должна формироваться таблица с двумя столбцами, в первом столбце данные от одной выборки, во втором - другой
в каждую последующую строку таблицы помещается следующий параметр...
собственно нужно добавить эту самую вторую выборку | |
|
|
|
|
|
|
|
для: Peter
(29.06.2005 в 13:36)
| | я бы сделал как умею:)
собрал массив(ы) из первого запроса, и массив(ы) из второго...и потом бы выводил значения из этих массивов | |
|
|
|
|
|
|
|
для: Peter
(29.06.2005 в 13:36)
| | А нельзя ли чуть поподробнее условие задачи, а то я не очень понял что мы пытаемся сделать. | |
|
|
|
|
|
|
|
для: Loki
(29.06.2005 в 14:19)
| | можно еще подробнее: на странице выводятся данные из базы (информация о вакансиях), формируется таблица где каждая последующая ячейка заполняется следующим параметром, нужно чтоб к каждой ячейке добавлялась ячейка с расшифровкой
должность: суперадмин(бог)
возраст: до 40
зарплата: от 50$
и т.д. | |
|
|
|
|
|
|
|
для: Peter
(29.06.2005 в 16:12)
| | или можно сложный запрос делать (по нескольким таблицам) | |
|
|
|
|
|
|
|
для: Peter
(29.06.2005 в 16:12)
| | ... расшифровки у меня забиты в ту-же базу под строчкой с ID#1 | |
|
|
|
|
|
|
|
для: Peter
(29.06.2005 в 16:12)
| | Чувствую, что опять не вполне понял. Это не то:
<?
$query = "SELECT vac, edu, st, age, money FROM vacancy WHERE id_vac > 1 ";
$result=mysql_query($result);
print "<table>
<tr>
<td>вакансия</td>
<td>образование</td>
<td>стаж</td>
<td>возраст</td>
<td>з/п</td></tr>";
while ($list=mysql_fetch_array($result))
{
print "<tr><td>".$list['vac']."</td>
<td>".$list['edu']."</td>
<td>".$list['st']."</td>
<td>".$list['age']."</td>
<td>".$list['money']."</td></tr>";
}
print "<table>;
?>
|
| |
|
|
|
|
|
|
|
для: Loki
(29.06.2005 в 16:56)
| | проверить не смог, ошибка вылетает в этой
while ($list=mysql_fetch_array($result))
строке... | |
|
|
|
|
|
|
|
для: Peter
(29.06.2005 в 17:15)
| | Хм... а какую ошибку? в вашем коде ведь такая же конструкция. | |
|
|
|
|
|
|
|
для: Peter
(29.06.2005 в 17:15)
| | Поставьте после строки
<?php
$result=mysql_query($result);
?>
|
проверку
<?php
if(!$result) exit(mysql_error());
?>
|
Что выводится в окно браузера? | |
|
|
|
|
|
|
|
для: cheops
(29.06.2005 в 19:18)
| | выводит: Query was empty
Но не суть важно, возвращаясь к первому посту и приведенному в нем коду, повторю задачу: производится выборка из базы с условием id_vac > 1, результаты помещаются в <table>, так вот, нужно сделать точно такую же выборку, но естественно с други условием (например id_vac = 1), и результаты помещать в ту же таблицу...
теперь вроде все ясно и подробно изложил... | |
|
|
|
|
|
|
|
для: Peter
(30.06.2005 в 10:49)
| | >выводит: Query was empty
А да действительно, исправьте строки
<?php
$query = "SELECT vac, edu, st, age, money FROM vacancy WHERE id_vac > 1 ";
$result=mysql_query($result);
?>
|
на
<?php
$query = "SELECT vac, edu, st, age, money FROM vacancy WHERE id_vac > 1 ";
$result=mysql_query($query);
?>
|
| |
|
|
|
|
|
|
|
для: Peter
(30.06.2005 в 10:49)
| | >теперь вроде все ясно и подробно изложил...
Ясно, только не понятно это должна быть новая таблица или результат с условием id_vac = 1 или результат должен выводиться вместо первой таблицы? | |
|
|
|
|
|
|
|
для: cheops
(30.06.2005 в 12:40)
| | в одну таблицу:)
<?
$query = "SELECT vac, edu, st, age, money FROM vacancy WHERE id_vac > 1 ";
$result=mysql_query($query);
$num=mysql_num_rows($result);
$query2 = "SELECT vac, edu, st, age, money FROM vacancy WHERE id_vac = 1 ";
$result2=mysql_query($query2);
$num2=mysql_num_rows($result2);
if ($num>$num2) $k=$num;
else $k=$num2;
print "<table>
<tr>
<td>вакансия</td>
<td>образование</td>
<td>стаж</td>
<td>возраст</td>
<td>з/п</td></tr>";
for ($i=0;$i<$k;$i++)
{
$list = mysql_fetch_array($result);
$list2 = mysql_fetch_array($result2);
print "<tr><td>".$list['vac']."</td>
<td>".$list['edu']."</td>
<td>".$list['st']."</td>
<td>".$list['age']."</td>
<td>".$list['money']."</td></tr>";
print "<tr><td>".$list2['vac']."</td>
<td>".$list2['edu']."</td>
<td>".$list2['st']."</td>
<td>".$list2['age']."</td>
<td>".$list2['money']."</td></tr>";
}
print "<table>;
?>
|
что то типа того...ток тута получается строка с id_vac > 1, строка с id_vac = 1 и т.д.
for ($i=0;$i<$num;$i++)
{
$list = mysql_fetch_array($result);
print "<tr><td>".$list['vac']."</td>
<td>".$list['edu']."</td>
<td>".$list['st']."</td>
<td>".$list['age']."</td>
<td>".$list['money']."</td></tr>";
}
for ($i=0;$i<$num;$i++)
{
$list2 = mysql_fetch_array($result2);
print "<tr><td>".$list2['vac']."</td>
<td>".$list2['edu']."</td>
<td>".$list2['st']."</td>
<td>".$list2['age']."</td>
<td>".$list2['money']."</td></tr>";
}
|
а так сначало все с ">1", а потом все с "=1" | |
|
|
|
|
|
|
|
для: P@Sol
(30.06.2005 в 12:44)
| |
<?
$query = "SELECT id_vac, vac, edu, st, age, money FROM vacancy WHERE id_vac > 1 ";
$result=mysql_query($query);
$num=mysql_num_rows($result);
print "<table>
<tr>
<td>вакансия</td>
<td>образование</td>
<td>стаж</td>
<td>возраст</td>
<td>з/п</td>
<td>вакансия2</td>
<td>образование2</td>
<td>стаж2</td>
<td>возрас2т</td>
<td>з/п2</td></</tr>";
while ($list = mysql_fetch_array($result))
{
print "<tr><td>".$list['vac']."</td>
<td>".$list['edu']."</td>
<td>".$list['st']."</td>
<td>".$list['age']."</td>
<td>".$list['money']."</td>";
if ($list['id_vac']==1)
print "<td>".$list['vac']."</td>
<td>".$list['edu']."</td>
<td>".$list['st']."</td>
<td>".$list['age']."</td>
<td>".$list['money']."</td></tr>";
else
print "<td colspan=5> </td></tr>";
}
print "<table>;
?>
|
Но я опять нифига не понял что нужно сделать:) | |
|
|
|
|
|
|
|
для: P@Sol
(30.06.2005 в 12:44)
| | этот скрипт я посмотрел - работает... но немного не то.
а чем вам мой вариант не нравится, его трудно модернизировать?
(хотя для меня оказалось трудно)
<?
/* Выполняем 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($result, MYSQL_ASSOC))
{
foreach ($line as $col_value) {
print "\t<tr bgcolor=$bgcolor><td align=center >[b]$line2[/b]</td><td align=center >$col_value</td></tr>\n"; }
if($key=="1"){$bgcolor=$color1;$key--;}
else{$bgcolor=$color2;$key++;}
}
print "</table></center>\n";
?>
|
вот... пытался сам добавить - выдает Array в первом столбце...
где накосячил? | |
|
|
|
|
|
|
|
для: Peter
(30.06.2005 в 15:04)
| | $line2 = mysql_fetch_array($result2); - должна быть в цикле - это раз, а так как это массив надо указать имя $line2['age']..
твой вариант не очень подходит для данного случая...как минимум из-за того что надо два цикла, т.к. значений может быть при разных условиях разное кол-во | |
|
|
|
|
|
|
|
для: P@Sol
(30.06.2005 в 15:13)
| | ... просто я вбил по аналогии с первым запросом...
хорошо, если предположить что количество значений всегда будет совпадать, как должен выглядеть скрипт?
т.е. как мне вставить вторую выборку в этот же цикл? (если я правильно понял) | |
|
|
|
|
|
|
|
для: 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($result, MYSQL_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++;}
}
|
| |
|
|
|
|
|
|
|
для: P@Sol
(30.06.2005 в 15:46)
| | пишет Array... ($line2)
ну да, $line2['age'] скрипт выводит, но мне-то нужно выводить все параметры по очереди, как это происходит во второй выборке... | |
|
|
|
|
|
|
|
для: Peter
(30.06.2005 в 15:59)
| | а где выводится первый параметр? | |
|
|
|
|
|
|
|
для: P@Sol
(30.06.2005 в 16:18)
| | еще раз: $col_value, то что выводится без проблем, $line2 то что должно выводится так же и там же, но не выводится...
уфф... страницу показать к сожалению не могу, а принт скрин прикрепить не получается :( | |
|
|
|
|
|
|
|
для: Peter
(30.06.2005 в 16:31)
| | пробовал написать код - ничего не получилось | |
|
|
|
|
|
|
|
для: 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($result, MYSQL_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
и т.д.
большая часть из обоих выборок попадает в первый столбец | |
|
|
|
|
|
|
|
для: 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 ячейка в пятой строке | |
|
|
|
|
|
|
|
для: 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($result, MYSQL_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="Контактная информация", т.е. по последниму условию | |
|
|
|
|
|
|
|
для: Peter
(01.07.2005 в 11:45)
| | всё... сделал сам...
всем спасибо! | |
|
|
|