|
|
|
|
|
для: Trianon
(13.10.2006 в 09:17)
| | Спасибо! Все заработало как и хотелось :-) | |
|
|
|
|
|
|
|
для: 5wordf1sh
(13.10.2006 в 03:27)
| |
<?php
$QuerySongs = "SELECT * FROM tablename WHERE album_id='111' ORDER BY singer";
$singer = ''; $i = 0;
$result = mysql_query($QuerySongs) or die("<b>Query failed:</b> " . mysql_error());
if ($result) while ($row = mysql_fetch_assoc($result))
{
if($singer != $row['singer'])
{
$singer = $row['singer'];
echo "<br/>Исполнитель: <b>$singer</b><br/><br/>";
}
echo ++$i . ". " . $row['song_title']. "<br>");
}
?>
|
| |
|
|
|
|
|
|
|
для: 5wordf1sh
(13.10.2006 в 03:45)
| | А ешли создать буферную таблицу, первая запись подет "Мадонна", а песни засунешь вторым инсертом, и потом импортнешь куда надо.Просто на Маданну и песни еёшние ключ какой нибудь поставь типа ID. | |
|
|
|
|
|
|
|
для: 5wordf1sh
(13.10.2006 в 03:45)
| | А ешли создать буферную таблицу, первая запись подет "Мадонна", а песни засунешь вторым инсертом, и потом импортнешь куда надо.Просто на Маданну и песни еёшние ключ какой нибудь поставь типа ID. | |
|
|
|
|
|
|
|
для: 5wordf1sh
(13.10.2006 в 03:45)
| | А ешли создать буферную таблицу, первая запись подет "Мадонна", а песни засунешь вторым инсертом, и потом импортнешь куда надо.Просто на Маданну и песни еёшние ключ какой нибудь поставь типа ID. | |
|
|
|
|
|
|
|
для: slonik
(13.10.2006 в 03:57)
| | заметил интересную особенность:
<?php
$result = mysql_query($QuerySongs) or die("<b>Query failed:</b> " . mysql_error());
if ($result) while ($i = mysql_fetch_row($result)) {
//print ($i[0] . "|" . $i[1] . "<br>");
$var1 = "<i>$i[0]</i><br />";
$slonik.= "| $i[1] |";
}
echo $var1;
echo $slonik; ?>
|
выводит
Notice: Undefined variable: slonik in E:\www\test\sugar2.php on line 73
Madonna
| The Beast Within |
| Vogue |
| Nobody Knows Me |
| American Life |
то есть когда переменная назначается $var = blabla; выдается один раз (как и надо), когда $var. = blabla; выводятся все значения из цикла, только почему то ругается на Undefined variable (в примере выше ругалось на строчку $slonik.= "| $i[1] |"; ) | |
|
|
|
|
|
|
|
для: 5wordf1sh
(13.10.2006 в 03:45)
| | ну так и выведи мадонну один раз, а все треки пусти, как и сейчас.
<table>
<?php
$QuerySongs = "SELECT * FROM tablename WHERE album_id='111';";
$result = mysql_query($QuerySongs) or die("<b>Query failed:</b> " . mysql_error());
if ($result) while ($i = mysql_fetch_row($result))
{
$slonik.= "<tr><td>Исполнитель: $i[0]</td>";
$slonik.= "<td>$i[1]</td>";
$slonik.= "</tr>";
}
echo $slonik;
echo "</table>";
?>
|
Код не проверял! Мог анлепить ошибок, атк что извиняй. Пойду спать! | |
|
|
|
|
|
|
|
для: slonik
(13.10.2006 в 03:37)
| | Должно получиться примерно такое:
Madonna (вывелось один раз)
после чего выводятся песни
The Beast Within
Vogue
Сейчас у меня получается все так:
Madonna|The Beast Within
Madonna|Vogue
Madonna|Nobody Knows Me
Madonna|American Life
Madonna|Hollywood (Remix)
можно конечно реализовать двумя запросами типа
SELECT singer FROM tablename WHERE album_id='1' LIMIT 1;
SELECT song_title FROM tablename WHERE album_id='1' ;
просто интересно можно ли все это реализовать средствами SQL запросов, хотелось бы научиться писать сложные запросы чтобы лишний раз не плодить php код | |
|
|
|
|
|
|
|
для: 5wordf1sh
(13.10.2006 в 03:27)
| | Не понятно какой вид ты хочешь сделать? Попробуй нарисовать, что тебе нужно. Где этот артист должен быть? А где названия песен? Может есть пример на каком-нибудь сайте, тогда давай ссылку. | |
|
|
|
|
|
|
| Есть таблица со следующими столбцами
Имя исполнителя | Название песни
к примеру выбираю данные запросом SELECT * FROM tablename WHERE album_id='111';
хочу вывести это через php
<?php
$QuerySongs = "SELECT * FROM tablename WHERE album_id='111';";
$result = mysql_query($QuerySongs) or die("<b>Query failed:</b> " . mysql_error());
if ($result) while ($i = mysql_fetch_row($result)) {
print ($i[0] . "|" . $i[1] . "<br>");
}
?>
|
в этом случае выводятся все песни исполнителя и выводится имя исполнителя причем столько раз сколько треков в альбоме. Если вывести $i[0] за пределы while то ничего не выводится... Подскажите пожалуйста как сделать так чтобы имя исполнителя вывести всего один раз, но при этом вывести все треки? Можно ли каким то образом оптимизировать SQL запрос или эту задача реализуется средствами php? Если это делается с помощью php пните в какую сторону смотреть :) | |
|
|
|
|