ФорумРазработкаБазы данных → Помогите разобраться с запросом

Помогите разобраться с запросом

  • quasar

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 16 мая 2011 г. 10:57

    привет всем! такая вот проблема.. хочу сделать поиск по первой букве фамилии человека, ну и написал вот такой запрос:

    SELECT DISTINCT LEFT(surname_stud, 1) FROM students


    должно вывести первые буквы с поля surname_stud без повторений.. в поле surname_stud 8 записей 3 пары записей с этих 8ми начинаются на одну и туже букву, то есть должно вывести 5 букв. весь код:


    <table width="100%" align="center" cellspacing="0" cellpadding="3">
    <tr>
    <th colspan="5" align="center"><p>Поиск по буквам</p></th>

    </tr>
    <tr>
    <?php	
    $sql = "SELECT DISTINCT LEFT(surname_stud, 1) FROM students";
    $res = mysql_query($sql);
    if (!$res)
    {
    die('Invalid query: ' . mysql_error());
    }
    else
    {
    while ($d = mysql_fetch_assoc($res))
    {
    echo "<td align=\"center\"><p>".$d['surname_stud']."</p></td>";
    }
    }
    ?>

    </tr>
    </table>


    а проблема в том что выводится 5 пустых td с пустыми параграфами!
  • artoodetoo

    Сообщения: 5139 Репутация: N Группа: в ухо

    Spritz 16 мая 2011 г. 11:45, спустя 47 минут 52 секунды

    ищи "отладка"
    Спустя 78 сек.
    var_export($d)
    нет у тебя элемента $d['surname_stud']
    Спустя 39 сек.
    заведи привычку ставить error_reporting(-1) ине допускать ни одного варнинга и нотиса!!!
    ιιlllιlllι унц-унц
  • quasar

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 16 мая 2011 г. 12:43, спустя 58 минут 10 секунд

    Notice: Undefined index: surname_stud in Z:\home\stud_db\www\inc\levels\admin.php on line 82
    Notice: Undefined index: surname_stud in Z:\home\stud_db\www\inc\levels\admin.php on line 82
    Спустя 296 сек.
    поставил error_reporting (E_ALL);
    otice: Undefined index: surname_stud in Z:\home\stud_db\www\inc\levels\admin.php on line 82

    в общем 5 одинаковых ошибок, 82я строка - "echo "<td align=\"center\"><p>".$d['surname_stud']."</p></td>";"

    и че делать? :(

    Спустя 276 сек.
    аа вот что получилось:

    array ( 'LEFT(surname_stud, 1)' => 'П', )array ( 'LEFT(surname_stud, 1)' => 'Б', )array ( 'LEFT(surname_stud, 1)' => 'Г', )array ( 'LEFT(surname_stud, 1)' => 'Д', )array ( 'LEFT(surname_stud, 1)' => 'В', )

    тока как теперь их вывести правильно!?
  • artoodetoo

    Сообщения: 5139 Репутация: N Группа: в ухо

    Spritz 17 мая 2011 г. 0:16, спустя 11 часов 33 минуты 7 секунд

    можно так:
    $sql = "SELECT DISTINCT LEFT(surname_stud, 1) AS surname_stud FROM students";
    Спустя 77 сек.
    только походу ты ничего не понял.
    ιιlllιlllι унц-унц
  • quasar

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 17 мая 2011 г. 1:50, спустя 1 час 34 минуты 14 секунд

    ооо спасибо artoodetoo, ты прав я нихрена не понял, но все получилось))
  • quasar

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz 17 мая 2011 г. 8:33, спустя 6 часов 42 минуты 31 секунду

    я в принципе понял но может ты объяснишь по человечески!?) AS surname_stud?
  • artoodetoo

    Сообщения: 5139 Репутация: N Группа: в ухо

    Spritz 17 мая 2011 г. 15:11, спустя 6 часов 37 минут 55 секунд

    попробуй использовать мозг, дружище.
    я очень дорогой учитель. мне проще тебя забанить, чем терпеть твоё занудство.

    ιιlllιlllι унц-унц
  • AlexanderC

    Сообщения: 270 Репутация: N Группа: Кто попало

    Spritz 17 мая 2011 г. 15:40, спустя 29 минут 4 секунды

    ))) блин, давно пытался найти такую фразу которая бы сможет быть файрволом для нуба ;D

Пожалуйста, авторизуйтесь, чтобы написать комментарий!