ФорумПрограммированиеPHP для идиотов → опять проблема с выводом из БД

опять проблема с выводом из БД

  • кефирка

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

    Spritz 15 ноября 2008 г. 11:14

    Всем привет, давно не была. Появилась опять небольшая проблема.
    У меня страничка с перечнем . Он находится в своей БД. При нажатии на ссылку мы попадаем на другую страницу, гда должны выводиться из БД - 2 все, что имеет id_перечень.
    А рядом должны выводиться изображения, id которых соответствуют id_информации из БД -2.
    Я начала все это выводить так :

    $sql="INSERT INTO dog SET name='$name',id=".$_GET['id'];
    $result=mysql_query($sql);
    echo "<b>$name</b> &nbsp;&nbsp;&nbsp;<br>";
    echo "<br><br>";

    Но в ответ - Array.
    Где ошибка - а то от простуды у меня голова совсем не варит

  • md5

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

    Spritz 15 ноября 2008 г. 11:26, спустя 11 минут 55 секунд

    покажи структуры таблиц
    все умрут, а я изумруд
  • кефирка

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

    Spritz 15 ноября 2008 г. 12:08, спустя 42 минуты 54 секунды

    БД1
    pitomnik id, name, dog,

    БД2
    dog id, id_pitomnik, name, txt

    БД3
    img_dog id, id_dog, img

    БД1 выводится на стр. pitomnik, БД2 и3 на стр. patch, которая генерируется по ссылке "подробнее" Проблема в ней
    Название питомника от которого пришли по ссылке на стр patch без проблем отображается - у каждого своя. В адресной строке id появляется правильно
  • md5

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

    Spritz 15 ноября 2008 г. 12:23, спустя 14 минут 13 секунд

    тебе нужно вывести всех собак с определенного питомника?
    все умрут, а я изумруд
  • кефирка

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

    Spritz 15 ноября 2008 г. 13:14, спустя 50 минут 55 секунд

    Да, всех собак из питомника и все картинки к каждой собаке
  • md5

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

    Spritz 15 ноября 2008 г. 13:25, спустя 11 минут 41 секунду

    ну….
    если нам известен id питомника, то по нему собак вытащить не сложно:
    SELECT *
    FROM `БД2`
    WHERE `id_pitomnik`='id-питомника'


    точно так же вытаскиваются и картинки из БД3 для каждой собаки

    покажи весь код
    все умрут, а я изумруд
  • кефирка

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

    Spritz 15 ноября 2008 г. 13:50, спустя 25 минут 5 секунд

    <?

    include "head.php"; //Подключаем верхушку сайта ("хидер")

    echo " </td></td>

    <td>
    <table width=425><tr><td>
    <img src='img/button5_press.jpg' align=center><br><br>";

    echo " <table cellpadding=10 cellspacing=10>";

    $id = (int)$_GET['id'];

    $sql = mysql_query("SELECT * FROM pitomnik WHERE id=".$id);
    $name = mysql_fetch_array($sql);
    if($name){
    echo "<font color='#0A2DDE' size=3 valign='top'>

    <tr><td><img src=" . $name["logo"] . "></td>

    <td valign=top><b>" . $name["name"] . "</b><br></font><br>" . $name ["fio"] . "
    <br>" . $name ["dog"] . "</td></tr>
    <tr><td colspan=2>" . $name ["opisanie"] . "</td></tr><br>";
    }else{
    echo "Ничего не найдено!";
    }
    mysql_free_result($sql);

    echo " </tr></table>";

    $sql = mysql_query("SELECT * FROM dog WHERE id_pitomnik=".$_GET['id']);

    $name=mysql_result($sql,$i,"name");

    echo "<b>$name</b> &nbsp;&nbsp;&nbsp;<br>";
    echo "<br><br>";

    echo "
    </td></tr></table>
    </td>";

    include "footer.php";
    ?>




    Теперь вывелось первое название, а последующие - нет
  • md5

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

    Spritz 15 ноября 2008 г. 14:06, спустя 16 минут 6 секунд


    $sql = mysql_query("SELECT * FROM dog WHERE id_pitomnik=".$_GET['id']);
    while ($row = mysql_fetch_assoc($sql)) {
    echo "<b>" . $row['name'] . "</b> &nbsp;&nbsp;&nbsp;<br>";
    echo "<br><br>";

    }
    все умрут, а я изумруд
  • кефирка

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

    Spritz 15 ноября 2008 г. 14:19, спустя 12 минут 51 секунду

    Здорово! Название выводится.

    $sql = mysql_query("SELECT * FROM dog WHERE id_pitomnik=".$_GET['id']);
    while ($row = mysql_fetch_assoc($sql)) {
    echo "<b>" . $row['name'] . "</b> &nbsp;&nbsp;&nbsp;
    .$row['txt'] . "</b> &nbsp;&nbsp;&nbsp;<br>";
    echo "<br><br>";

    }

    Попробовала вывести txt - не получилось

    Надо сделать так что бы сначала был name, потом img (столько, сколько к этой собаке относится) а потом txt, и все заново.
  • md5

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

    Spritz 15 ноября 2008 г. 16:27, спустя 2 часа 7 минут 52 секунды

    а есть такое поле в таблице? (txt)

    для вытаскивания картинок, надо делать другой запрос (н похожий на этот), только использовать собачий id
    все умрут, а я изумруд
  • кефирка

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

    Spritz 15 ноября 2008 г. 19:30, спустя 3 часа 2 минуты 25 секунд

    Эта запись похоже выводит все записи из одной колонки.

    $sql = mysql_query("SELECT * FROM dog WHERE id_pitomnik=".$_GET['id']);
    while ($row = mysql_fetch_assoc($sql)) {
    echo "<b>" . $row['name'] . "</b> <br><br>";
    }
    $sql = mysql_query("SELECT * FROM dog WHERE id_pitomnik=".$_GET['id']);
    while ($row = mysql_fetch_assoc($sql)) {
    echo " &nbsp;&nbsp;&nbsp;". $row['txt'] . " &nbsp;&nbsp;&nbsp;";
    echo "<br><br>";
    }


    И вот, что выводится :
    ууууу

    dssssssssssssssss

    уууууу

    dssssssssssssssss
    Есть поле name и txt

    Все мои попытки приводят к такому же результату. А сделать правильно очень хочется….
  • md5

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

    Spritz 15 ноября 2008 г. 20:36, спустя 1 час 6 минут 21 секунду

    кефирушка, я тебе не верю
    может быть в поле txt написано тоже самое, что и в поле name?
    все умрут, а я изумруд
  • еrvlen

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

    Spritz 15 ноября 2008 г. 23:13, спустя 2 часа 37 минут 29 секунд

    Это один из моих ников - кефирка ))
  • кефирка

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

    Spritz 16 ноября 2008 г. 8:44, спустя 9 часов 30 минут 32 секунды

    Ну ты прав как всегда!! Ох, уж моя невнимательность!!! Три дня голову ломаю, самой смешно - ну кто еще так может??? Спасибо при-спасибо. Буду теперь над картинками биться.
  • кефирка

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

    Spritz 16 ноября 2008 г. 9:36, спустя 52 минуты 27 секунд

    Столкнулась с опять пока мне неизвестной вещью.
    $sql = mysql_query("SELECT * FROM dog WHERE id_pitomnik=".$_GET['id']);
    while ($row = mysql_fetch_assoc($sql)) {
    echo "<b>" . $row['name'] . "</b><br>" . $row['txt'] . "<br><br>";
    }

    $sql = mysql_query("SELECT * FROM img_dog WHERE id_dog=".$_GET['id']);
    $num=mysql_num_rows($sql); // считаем сколько у нас этих данных (т.е. сколько записей вернул на наш запрос)

    for($i=0;$i<$num;$i++){ // будем выводить данные при помощи этого цикла
    $id=mysql_result($sql,$i,"id");
    $img=mysql_result($sql,$i,"img");

    echo "<img src='adm/$img'></b>";
    echo "<br><br>";
    }

    И все бы ничего, но id_dog в GET не передается. Эти строки просто выводятся, и все. И пока это еще разные блоки, выводится сначала одна БД, а потом вторая. Логика подсказывает, что id_dog должен передаваться в какую-то переменную, вот только технически как это сделать пока незнаю. Пробовала уже по-разному (из того, что знаю, а знаю мучительно мало пока…)

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