За последние 24 часа нас посетили 30480 программистов и 1790 роботов. Сейчас ищут 1064 программиста ...

sql array

Тема в разделе "MySQL", создана пользователем siiXth, 3 ноя 2010.

  1. siiXth

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

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    select from where id=array
    array - массив
    можно как-то ? =)
     
  2. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
  3. siiXth

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

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    эх блин
    есть массив с айдишками новостей - "13,9,10,5"
    выбираю все новости из бд циклом , в нём проверяю in_array($id,$massiv) и тогда обрабатываю
    но новости выбираются по порядку айди , а нужно чтобы так как были в массиве , есть идеи ? ;>
     
  4. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
  5. siiXth

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

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    ладно , вижу нужно на пальцах :D

    новости на айдишках с autoincrement как у всех хомосапиенс
    нужно на главной странице вывести новости с определёнными id в заданном порядке который указан в нашем массиве - "13,9,10,5"
    думаю цель этого особо обьяснять не стоит =)
    а вот как мне сделать это - не представляю блин
     
  6. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Вариант №1
    Выбрать в любом порядке нововсти "13,9,10,5" а потом уже в РНР при выводе расставить их в нужном порядке
     
  7. siiXth

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

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    компилирию конец каждого цикла в шаблон , не особо катит =)
     
  8. Gromo

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

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    Логика должна быть примерно такая:

    PHP:
    1.  
    2. <?php
    3. $array = array(13,9,10,5);
    4. $query = "SELECT * FROM news WHERE id IN(".implode(',', $array).");
    5.  
    6. //...
    7. //выполняется запрос, результат преобразуется в массив $news
    8. //...
    9.  
    10. $result = array();
    11. foreach($array as $value){
    12.  foreach($news as $new){
    13.    if($new['id'] == $value){
    14.      $result[] = $new;
    15.      break;
    16.    }
    17.  }
    18. }
    19.  
    20. foreach($result as $new){
    21.  echo '<div><pre>'.print_r($new, true).'</pre></div>';
    22. }
    23. ?>
    код писал на коленке, не проверял на работоспособность. главное - идея!
     
  9. siiXth

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

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    та я обычно больше и не прошу , спасибо =)