За последние 24 часа нас посетили 16048 программистов и 1539 роботов. Сейчас ищут 903 программиста ...

Как разбить результат запроса на строки? (решено)

Тема в разделе "PHP для новичков", создана пользователем Darken, 13 фев 2009.

  1. Darken

    Darken Активный пользователь

    С нами с:
    2 фев 2009
    Сообщения:
    38
    Симпатии:
    0
    Сразу извиняюсь за немножко некорректное название, но другого придумать не смог

    Ситуация такая:

    есть форма , в котрой в некоторых полях надо, чтобы результат записывался в ячейку базы данных в виде нескольких строк, путем <textarea name="oem" wrap="physical" cols="15" rows="10"></textarea> и дальнейшей записи в базу мне этот удалось. При попытки извлечения данных при помощи скрипта приведенного ниже отображаются все значения из одной ячейки в строку (а не одна под другой как было в базе).

    Код (Text):
    1.  
    2. <?php
    3. $query = "SELECT * FROM `grm_belts` WHERE `oem` LIKE '%".$grm."%' ";
    4. $result =  mysql_query($query);
    5. ?>
    6.    
    7. <table bgcolor="silver" width="" border="1">
    8.     <tr>
    9.         <th>OEM</th>
    10.         <th>SUN NUMBER</th>
    11.         <th>TEETH</th>
    12.         <th>Модели</th>
    13.         <th>Двигатель</th>
    14.     </tr>
    15.  
    16.  
    17. <?php
    18.      while($arr = mysql_fetch_array($result))
    19.         {
    20. ?>
    21.  
    22.       <tr>
    23.         <td><?php echo $arr['oem']."&nbsp";?></td>
    24.         <td><?php echo $arr['sun']."&nbsp";?></td>
    25.         <td><?php echo $arr['teeth']."&nbsp";?></td>
    26.         <td><?php echo $arr['model']."&nbsp";?></td>
    27.         <td><?php echo $arr['engine']."&nbsp";?></td>
    28.       </tr>
    29. <?php
    30.      }
    31. ?>
    Подскажите пожалуйста методы решения данной проблемы
     
  2. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    изучаем как в ХТМЛ переводятся строки.
     
  3. Darken

    Darken Активный пользователь

    С нами с:
    2 фев 2009
    Сообщения:
    38
    Симпатии:
    0
    достойный ответ настоящего профи?
     
  4. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    Гуголь - наше знамя боевое,
    Гуголь - нашей юности полет,
    С песнями борясь и побеждая,
    Наш народ за Гуголем идет.
    ссылка
     
  5. alexeurodnepr

    alexeurodnepr Активный пользователь

    С нами с:
    18 июл 2008
    Сообщения:
    244
    Симпатии:
    0
    armadillo

    :lol:

    Darken
    как говорил один сетевой адм, в то время, когда я настраивал точки доступа на расстоянии 2км друг от друга... спрашивай у меня, если, что не получается, в крайнюю очередь, вот и бегал туда сюда пока не настроил сам... хотя загвоздка была так близко... всего лишь нужно было их включить в розетку
     
  6. Darken

    Darken Активный пользователь

    С нами с:
    2 фев 2009
    Сообщения:
    38
    Симпатии:
    0
    может я немного не так объяснил?
    вот смотрите пользователь вводит в textarea имеющее атрибут wrap="physical" значения типа b jyb pfgbcsdf.ncz d

    14400-P7J-003
    06141-P7J-004
    06141-P30-003
    ....

    все они записываются в ОДНУ яченйку строки из базы в таком виде как были введены (т.е. каждая с новой строки)
    .... при запросе массива значений из нескольких строк содержащих такие значения у меня выдает нечто типа:

    14400-P7J-003 06141-P7J-004 06141-P30-003 или что-то вроде того (не помню есть ли пробелы т.к. пишу сейчас из дома и не могу посмотреть проект)

    Моя цель добиться того, чтобы при запросе выводились значения именно так как были в базе (т.е. каждая с новой строки)....

    Ссылки на синтаксис HTML просьба не давать, бесполезных коментариев не писать. Заранее спасибо за достойные ответы.
     
  7. DukeNukem

    DukeNukem Активный пользователь

    С нами с:
    12 фев 2009
    Сообщения:
    15
    Симпатии:
    0
    Darken
    Перевод строки в HTML - <br>
    Если хотите что бы у вас переводились строки при выводе добавте к концу каждой строки
    14400-P7J-003 <br>
    06141-P7J-004 <br>
    06141-P30-003 <br>
     
  8. Darken

    Darken Активный пользователь

    С нами с:
    2 фев 2009
    Сообщения:
    38
    Симпатии:
    0
    вот то-то и нельзя, т.к. вводить данные будет пользователь в текстовое поле... wrap="physical" - дает то что запись в базу будет именно такая как была ы форме, но как извлечь в таком же виде для меня остается загадкой
     
  9. free-bits

    free-bits Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    296
    Симпатии:
    0
    Адрес:
    г. Красноярск
    PHP:
    1. <?
    2. $text = str_replace("\r\n", "<br>\r\n", $text);
    3.  
     
  10. DukeNukem

    DukeNukem Активный пользователь

    С нами с:
    12 фев 2009
    Сообщения:
    15
    Симпатии:
    0
    Darken а он и извлекается так же как и вводится :)
    Просто строчка не переводится :)
    Попробуй перед выводом код перевода строки заменить на <br>


    PHP:
    1. <?php
    2. echo nl2br("foo - это вам не\n bar");
    3. ?>
    выведет:
    foo - этовам не<br />
    bar
     
  11. Darken

    Darken Активный пользователь

    С нами с:
    2 фев 2009
    Сообщения:
    38
    Симпатии:
    0
    спасибо об этой функции я и забыл... должно сработать, еще раз спасибо огромное, завтра отпишусь о результатах
     
  12. Darken

    Darken Активный пользователь

    С нами с:
    2 фев 2009
    Сообщения:
    38
    Симпатии:
    0
    Спасибо действительно помоголо, но вот теперь проблема с запросом

    В базе строка 1
    06141-PLM-305
    06141-PLM-315
    14400-PLM-004
    14400-PLM-014

    В базе строка 2
    06141-P08-305
    06141-P2A-305
    06141-PZA-305
    14400-P08-004
    14400-P1G-E01
    14400-P2A-00

    При выполнениии запроса где искомое скажем равно 06141-P08 выдает все равно две строки (((


    может как-то заменить like? что-то типо того должно получиться

    Код (Text):
    1. $query = "SELECT * FROM `grm_belts` WHERE `oem` где поле содержит фрагмент точно соответсвующий '%".$grm."%' ";
    замена на = не проканывает, тогда вообще ничего не находит
     
  13. Darken

    Darken Активный пользователь

    С нами с:
    2 фев 2009
    Сообщения:
    38
    Симпатии:
    0
    все разобрался, неправильно передавал переменную, а запрос был верный