Samagonische
Создатель
- Регистрация
- 16 Июл 2007
- Сообщения
- 35
- Реакции
- 16
- Автор темы
- #1
Здравствуйте.
Уважаемые знатоки, прошу помощи.
Есть таблица вида:
__________________
ID | Name | Group |
------------------|
1 |Alternative | Alternative |
2 |Crossover | Alternative |
3 |Disco-Punk | Alternative |
4 |Electro-Punk | Alternative |
5 |EMO | Alternative |
8 |Field Rec. | Avant-garde |
9 |Improve | Avant-garde |
10|Musique Con. | Avant-garde |
11|Spoken Word | Avant-garde |
12|Classic | Blues |
13|Contemporary | Blues |
14|Electric | Blues |
15|Funk | Blues/R'N'B |
16|Motown | Blues/R'N'B |
17|New Jack | Blues/R'N'B |
18|Piano Blues | Blues/R'N'B |
19|Soul | Blues/R'N'B |
------------------------------
Есть действие:
При вызове действия "getgenres"
Цикл проходит 4-е раза, как видно из таблицы(Alternative,Avant-garde,Blues,Blues/R'N'B) и зависает проблема в пост условии цикла do-while.
Задача: остановить цикл логическим условием
Помогите пожалуйста.
Уважаемые знатоки, прошу помощи.
Есть таблица вида:
__________________
ID | Name | Group |
------------------|
1 |Alternative | Alternative |
2 |Crossover | Alternative |
3 |Disco-Punk | Alternative |
4 |Electro-Punk | Alternative |
5 |EMO | Alternative |
8 |Field Rec. | Avant-garde |
9 |Improve | Avant-garde |
10|Musique Con. | Avant-garde |
11|Spoken Word | Avant-garde |
12|Classic | Blues |
13|Contemporary | Blues |
14|Electric | Blues |
15|Funk | Blues/R'N'B |
16|Motown | Blues/R'N'B |
17|New Jack | Blues/R'N'B |
18|Piano Blues | Blues/R'N'B |
19|Soul | Blues/R'N'B |
------------------------------
Есть действие:
PHP:
<?php
require_once( "config.php" );
session_start( );
require_once( "functions.php" );
$login = $_SESSION['login'];
$pass = $_SESSION['pass'];
$user = getuserid( $login, $pass);
$action = isset($_REQUEST['action']) ? strtolower( $_REQUEST['action']) : "";
if (getrights($action, $user))
{
switch ( $action )
{
case "getgenres" :
$wheres = array();
if (getrights("show_hidden", $user))
{
$wheres[] = " music_albums.Hide=0 ";
}
$where = count( $wheres ) ? " WHERE ".implode( " AND ", $wheres ) : "";
$_RESULT['genres'] = array( );
$sql = "SELECT music_genres.Group as Name, count(*) as Count FROM music_genres RIGHT JOIN music_albumgenres ON (music_genres.ID = music_albumgenres.GenreID) LEFT JOIN music_albums ON (music_albums.ID = music_albumgenres.AlbumID) ".$where." GROUP BY music_genres.Group ORDER BY Name";
$result = mysql_query( $sql );
do
{
if ( !$result || ( $field = mysql_fetch_assoc( $result ) ) )
{
if ( $field['Name'] )
{
$_RESULT['genres'][] = $field;
}
}
} while ( 1 );
}
}
else
{
$_RESULT['errors'][] = "Извините, ".$login.", у Вас недостаточно прав для совершения действия '{$action}' ";
}
Цикл проходит 4-е раза, как видно из таблицы(Alternative,Avant-garde,Blues,Blues/R'N'B) и зависает проблема в пост условии цикла do-while.
Задача: остановить цикл логическим условием
PHP:
while ( ??? );