[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка и вывод из БД
Andruhaphp
У меня есть таблица Zapros,с запросами,там есть поля id,ip,date,message,country,city,product.
У меня в коде через цикл вытягивалось в таблицу,последние 5 запросов,но сейчас мне надо что бы вытягивалось без id и product,ну и сделать определенные манипуляции(перевести в наш формат (число месяц год)) перед выводом с date,и оmessage.
Вот мой старый код:
$list_f=mysql_list_fields("strategic","Zapros",$db);
$n=mysql_num_fields($list_f);
echo "<DIV class='control'>";
for ($j=0;$j< $n;$j++)
{
$names[]=mysql_field_name($list_f,$j);
}
$sql="SELECT * FROM Zapros ORDER BY id DESC LIMIT 5";
$q=mysql_query($sql,$db);
$n=mysql_num_rows($q);
echo "<div align='center'><h3>Последние 5 запросов</h3></div>";
echo "<table border=0>";
echo "<tr>";
foreach($names as $val)
{
echo "<th>$val</th>";
}
echo "</tr>";
for($i=0;$i< $n;$i++)
{
echo "<tr>";
foreach($names as $k=> $val)
{
$value=mysql_result($q,$i,$val);
echo "<td>".$value."</td>";
}
echo "</tr>";
}
echo "</table>";
mysql_close($db);
echo "</DIV>";




Спустя 28 минут, 52 секунды (20.02.2011 - 16:09) sergeiss написал(а):
Andruhaphp - справа над полем ввода текста есть кнопочки тэгов оформления разных видов кода: PHP, SQL и т.д. Пользуйся ими!!! Удобнее читать подсвеченный код.

Насчет "вытягивалось/не вытягивалось" не понял.... И кстати, при выводе из БД часто удобнее использовать цикл while() и функцию mysql_fetch_assoc(). См. тут: http://phpforum.ru/index.php?showtopic=21916.

Спустя 3 минуты, 4 секунды (20.02.2011 - 16:12) Andruhaphp написал(а):
Да я в курсе,этих функций,я сейчас сижу паралельно пробую сделать.

Спустя 5 минут, 55 секунд (20.02.2011 - 16:18) Andruhaphp написал(а):
просто вывод определенных полей из таблицы я сделал
mysql_select_db ("strategic",$db);
echo "<div align='center'><h3>Последние 5 запросов</h3></div>";
$zap= mysql_query("SELECT id,date,message,country,city FROM `Zapros` ORDER BY id DESC LIMIT 5 ");
while($row = mysql_fetch_assoc($zap))
{
echo $row['id']."<br/>";
echo $row['date']."<br/>";
echo $row['message']."<br/>";
echo $row['country']."<br/>";
echo $row['city']."<br/>";
echo "---------------------------------------"."</br>";
}

мне бы красиво в табицу впихнуть с их названиями,этих полей

Спустя 6 минут, 19 секунд (20.02.2011 - 16:24) sergeiss написал(а):
А в чем проблемы?
1. Делаешь анализ того, что данный вывод - первый или нет. Некая переменная, типа $first_row.
2. Если первый, то тогда заходишь в цикл. Внутри цикла проходишь по массиву $row и выводишь заголовки для колонок таблицы. И вовсе не обязательно названия полей, это может быть что-то другое.
3. Выставляешь индикатор, чтобы он показывал на то, что первая строка обработана.
4. И так далее крутишься в цикле. Вывод заголовка будет сделан один раз, всё остальное - как ты сделаешь.

Спустя 5 минут, 49 секунд (20.02.2011 - 16:30) Andruhaphp написал(а):
эмммм blink.gif

Спустя 29 минут, 6 секунд (20.02.2011 - 16:59) sergeiss написал(а):
А в чем вопрос??? wink.gif

Спустя 2 минуты, 3 секунды (20.02.2011 - 17:01) sergeiss написал(а):
Вот так где-то

$first_row=true;
while( ..... )
{
if( $first_row )
{
// выводишь заголовок таблицы
$first_row=false;
}
// а тут выводишь данные основые, содержание таблицы
}

Спустя 5 минут, 7 секунд (20.02.2011 - 17:06) Andruhaphp написал(а):
Ну вот у меня конечный вариант с правками,который надо запихнуть в таблицу,не обязательно вытягивать название полей из базы,можно и в ручную назвать:
echo "<div align='center'><h3>Последние 5 запросов</h3></div>";
$zap= mysql_query("SELECT id,date,message,country,city FROM `Zapros` ORDER BY id DESC LIMIT 5 ");
while($row = mysql_fetch_assoc($zap))
{
echo $row['id']."<br/>";
$dater= $row['date'];
$dater=date("j.m.Y ");
echo $dater."<br/>";
$mesi=$row['message'];
$leng=strlen($mesi);
$leng=$leng*0.6;
$mesag=substr($mesi,0,$leng);
echo $mesag."<br/>";
$cotry=$row['country'];
$zap_2= mysql_query("SELECT * FROM `country` ");
while($row_2 = mysql_fetch_assoc($zap_2))
{
if ($cotry==$row_2['id'])
{
$cotry=$row_2['name'];
}
}

echo $cotry."<br/>";
$citya=$row['city'];
$zap_3= mysql_query("SELECT * FROM `city` ");
while($row_3 = mysql_fetch_assoc($zap_3))
{
if ($citya==$row_3['id'])
{
$citya=$row_3['name'];
}
}

echo $citya."<br/>";
echo "---------------------------------------"."</br>";
}

Спустя 1 минута, 24 секунды (20.02.2011 - 17:07) Andruhaphp написал(а):
Честно не понял про $first_row

Спустя 2 часа, 14 минут, 36 секунд (20.02.2011 - 19:22) Andruhaphp написал(а):
Сделал просто вот так вот
echo "<div align='center'><h3>Последние 5 запросов</h3></div>";
echo "<table border=0>";
echo "<tr>";
echo "<td>Номер запроса</td><td>Дата запроса</td><td>Сообщение</td><td>Страна</td><td>Город</td> ";
echo "</tr>";
$zap= mysql_query("SELECT id,date,message,country,city FROM `Zapros` ORDER BY id DESC LIMIT 5 ");
while($row = mysql_fetch_assoc($zap))
{
echo "<tr>";
echo "<td>". $row['id']. "</td>";
$dater= $row['date'];
$dater=date("j.m.Y ");
echo "<td>".$dater."</td>";
$mesi=$row['message'];
$leng=strlen($mesi);
$leng=$leng*0.6;
$mesag=substr($mesi,0,$leng);
echo "<td>".$mesag."</td>";
$cotry=$row['country'];
$zap_2= mysql_query("SELECT * FROM `country` ");
while($row_2 = mysql_fetch_assoc($zap_2))
{
if ($cotry==$row_2['id'])
{
$cotry=$row_2['name'];
}
}

echo "<td>".$cotry."</td>";
$citya=$row['city'];
$zap_3= mysql_query("SELECT * FROM `city` ");
while($row_3 = mysql_fetch_assoc($zap_3))
{
if ($citya==$row_3['id'])
{
$citya=$row_3['name'];
}
}

echo "<td>".$citya."</td>";
echo "</tr>";
}
echo "</table>";

Спустя 20 минут, 26 секунд (20.02.2011 - 19:42) Andruhaphp написал(а):
Тема закрыта!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.