Forum Webscript.Ru

Программирование => PHP => Тема начата: myname от 26 Мая 2003, 20:42:17

Название: Не дайте запутаться
Отправлено: myname от 26 Мая 2003, 20:42:17
Есть файл letter.php в котором меню вида A. Как мне лучше сделать выборку из базы именно по первому символу артиста, если:
if ($letter) {
include("config- inc.php");
$query = "SELECT * FROM `base` ORDER BY artist ASC";
$result = mysql_query($query);
while ($song = mysql_fetch_array($r esult, MYSQL_ASSOC)) {
$simbol = substr("".$song[ar tist]."",0,1);
Название: Не дайте запутаться
Отправлено: ThE0ReTiC от 26 Мая 2003, 20:58:06
Цитировать
myname:
$query = "SELECT * FROM `base` ORDER BY artist ASC";

так и делать
можно еще
$query = "SELECT * FROM base WHERE artist LIKE \'%".$r."%\'";
Название: Не дайте запутаться
Отправлено: D1g174LM4n14c от 26 Мая 2003, 22:44:18
Цитировать
ThE0ReTiC:
так и делать
можно еще
$query = "SELECT * FROM base WHERE artist LIKE \'%".$r."%\'";
неверно. Надо "сделать выборку из базы именно по первому символу артиста" ... Поэтому тыой код надо переписать вот так:
$query = "SELECT * FROM base WHERE artist LIKE \'".$r."%\'";
Название: Не дайте запутаться
Отправлено: myname от 26 Мая 2003, 22:46:54
ThE0ReTiC сенкс. Всё работает.

Может не по теме, но всё-таки - как мне определить что это циферки (т.е. если группа называется 54, как определить певый символ как цифру)  если:
>#

и

while ($song = mysql_fetch_array($result, MYSQL_ASSOC)) {
$simbol = substr("".$song[artist]."",0,1);

if ($letter=="".$simbol."")
Название: Не дайте запутаться
Отправлено: D1g174LM4n14c от 26 Мая 2003, 22:52:04
$simbol = intval($simbol);

покатит? или я не понял вопрос?
Название: Не дайте запутаться
Отправлено: D1g174LM4n14c от 26 Мая 2003, 22:57:56
Кстати, возвращаясь к первому вопросу могу привести пример моего скрипта (похожее делал недавно):

if (!empty($_GET[\'c\']))
{
   $res = mysql_unbuffered_query("SELECT DISTINCT performer FROM ".$dbtable."
                                  WHERE performer LIKE "\'.$_GET[\'c\']."%\' ORDER BY id DESC");
   while ($row = mysql_fetch_object($res))
      echo \'performer.\'">\'.$row->performer.\'
\';
}
Название: Не дайте запутаться
Отправлено: D1g174LM4n14c от 26 Мая 2003, 23:04:21
[OFF]
1. Почему php-код форум неверное подствечивает? (см. мессаг выше).
2. В php-коде слеши \\ не видны на странице - только при редактировании! НЕПОРЯДОК!!!
[/OFF]
Название: Не дайте запутаться
Отправлено: myname от 27 Мая 2003, 01:47:33
Кака случилась опять. Сбил что-то, пытаясь быстрее закончить, раньше всё было как полагается. Вообщем при добавлении нового файла, он записывается как отдельный ид, т.е. если я добавляю Apollo440 - 1.mp3 и Apollo440 - 2.mp3, то они записываются как два разных исполнителя и при выборке показывает:
Apollo440 - 1
Apollo440 - 2

Как лучше сделать проверку на уже существующего исполнителя? Вообще ход моих мыслей такой:
1) проверяем наличие исполнителя
2) если такой есть, записываем к нему трек
3) если нету, записываем нового исполнителя и новый трек

И опять это НО, потому что таблица у меня такая


if ($HTTP_GET_VARS[\'post\']) {
include("config-inc.php");
//обрезаем последние 4 символа
//$description = substr($fupload_name, 0, -4);

if (strstr($fupload_name, ".mp3"))  {

 $query = "INSERT INTO `base` (path,description,date,counter,artist) VALUES (\'$path\',\'$description\',\'$date\',\'\',\'$artist\')";
 mysql_query($query) or die ("Ошибка! Невозможно сохранить файл.");

if (strstr($fupload_name, ".mp3")) { $file_name=$fupload_name; }

copy ($fupload, "$home_path/$file_name") or die ("Ошибка! Невозможно сохранить файл.");

 $id_num=mysql_insert_id();
 $query = "UPDATE `base` SET path=\'$file_name\' where id=\'$id_num\'";
 $result = mysql_query($query) or die ("Ошибка! Невозможно сохранить файл.");
 
 mysql_query($query);
 }
 echo "
ALL DONE
";
 }
?>


С чего начать и как лучше сделать?
Спасибо заранее.