ФорумПрограммирование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, 1:14 п.п., спустя 50 минут 55 секунд

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

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

    Spritz Ноя. 15, 2008, 1:25 п.п., спустя 11 минут 41 секунду

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


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

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

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

    Spritz Ноя. 15, 2008, 1: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, 2: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, 2: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, 4:27 п.п., спустя 2 часа 7 минут 52 секунды

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

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

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

    Spritz Ноя. 15, 2008, 7: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, 8:36 п.п., спустя 1 час 6 минут 21 секунду

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

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

    Spritz Ноя. 15, 2008, 11: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 должен передаваться в какую-то переменную, вот только технически как это сделать пока незнаю. Пробовала уже по-разному (из того, что знаю, а знаю мучительно мало пока…)

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