PHP ft. MySQL

  • Доброе время суток дамы и господа!


    При помощи ниже указанной комманды выбераеться необходиый набор данных (Datensatz).

    Исходный код
    $unummer_id_auslesen = mysql_query("SELECT unummer_id FROM Zwischentabelle WHERE hnummer_id LIKE 2");


    Кол-во данных в этом запросе составлят 2 набора данных (also 2 Datensaetze)

    Исходный код
    $unummer_menge = mysql_num_rows($unummer_id_auslesen);


    Прошу вас помочь решить cледующую проблему:


    Каким образом можно узнать какие данные наодяться в выбраных ячейках?


    С помощью следующей комманды мне удаеться выдать только поледнюю запись(Datensatz)

    Исходный код
    while ($zelleninhalt = mysql_fetch_row($unummer_id_auslesen)){ for ($i = 0; $i < mysql_num_rows($unummer_id_auslesen); $i++) { echo "Zellennummer $i: $zelleninhalt[$i]<br>"; }}

    Благодарю за помощь!

  • while ($zelleninhalt = mysql_fetch_row($unummer_id_auslesen))
    {
    for ($i = 0; $i < mysql_num_rows($unummer_id_auslesen); $i++)
    # mysql_num_rows <--- Здесь наверно должно стоять кол-во колонок, а не кол-во строк
    {
    echo "Zellennummer $i: $zelleninhalt[$i]<br>";
    }
    }


    Так как ты выбираешь только одну колонку, то можно так
    $i=0;
    while ($zelleninhalt = mysql_fetch_row($unummer_id_auslesen))
    {
    echo "Row: $i, Zelle: $zelleninhalt[0]<br>";
    $i++;
    }

    Сообщение было отредактировано 5 раз, последнее редактирование пользователем Grischenkow ().

  • Если ты имеешь ввиду функцию


    mysql_num_fields($variable)


    то она указывает, что в запорсе находиться только одна колонка.


    А функция


    mysql_num_rows($varialbe)


    выдает не кол-во строк, а кол-во данных которые содержатья в запросе.

  • Проблема в том, что и твой и мой код выдают почему-то только последний набор данных какбуд-то это первый и единственый.
    Я ломаю голову и немогу понять, почему он перескакивает первый набор данных.


    При помощи этой комманды

    Исходный код
    echo "Print 1:"; print_r($unummer_idzelle); echo "<br>";

    я получаю вот такое дело


    Цитата

    Print 1:Array ( [0] => 5 )

  • Нет, mysql_num_rows($varialbe) выдает кол-во строк выбранных select'ом.


    Покажи что выдает
    $i=0;
    while ($zelleninhalt = mysql_fetch_row($unummer_id_auslesen))
    {
    echo "Row: $i, Zelle: $zelleninhalt[0]<br>";
    $i++;
    }

    Сообщение было отредактировано 4 раз, последнее редактирование пользователем Grischenkow ().

  • А что выдает:
    echo "rows:". mysql_num_rows($unummer_id_auslesen) ."<br>";
    $i=0;
    while ($i < mysql_num_rows($unummer_id_auslesen))
    {
    $zelleninhalt = mysql_fetch_row($unummer_id_auslesen);
    echo "Row: $i, Zelle: $zelleninhalt[0]<br>";
    $i++;
    }

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем Grischenkow ().

  • Abfrage 2:


    rows:2
    Row: 0, Zelle: 2
    Row: 1, Zelle:

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем neo ().

  • Вот в этом и есть вся проблема
    Если я выполняю эту комманду

    Исходный код
    echo "IDzelle unummer 1: $unummer_idzelle[0]<br>";
    echo "IDzelle unummer 2: $unummer_idzelle[1]<br>";

    то получаю это


    IDzelle unummer 1: 1
    IDzelle unummer 2:


    то есть получаеться что здесь он выдает первый Datensatz

  • Не... не правильно.
    Не понятно что такое сейчас у тебя: $unummer_idzelle...
    Если это результат mysql_fetch_row, то $unummer_idzelle[1] - это ВТОРАЯ колонка в строке.


    Еще раз, что выдает:
    echo "rows:". mysql_num_rows($unummer_id_auslesen) ."<br>";
    $i=0;
    while ($i < mysql_num_rows($unummer_id_auslesen))
    {
    $zelleninhalt = mysql_fetch_row($unummer_id_auslesen);
    echo "Row: $i, Zelle: [". $zelleninhalt[0] ."]<br>";
    $i++;
    }


    и увидишь, что в строке 1 колонка имеет ПУСТОЕ значение.

    Сообщение было отредактировано 2 раз, последнее редактирование пользователем Grischenkow ().

  • я имею ввиду, как сделать, чтобы выдать все данные из двух ячеек в одной колонке?


    ведь mysql_num_rows показывает что две строки есть в этом запросе.

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем neo ().

  • Что значит ВСЕ ДАННЫЕ из двух ячеек ?
    Ты их и получил.
    Select выдал 2 записи.


    P.S.
    Ты ищешь по колонке hnummer_id, а выбираешь колонку unummer_id.
    Заметь разницу в первой букве.
    Это случайно не опечатка ?

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем Grischenkow ().

  • Описание
    int mysql_num_rows ( resource result )



    mysql_num_rows() возвращает количество рядов результата запроса. Эта команда работает только с запросами SELECT. Чтобы получить количество рядов, обработанных функцями INSERT, UPDATE, DELETE, используйте функцию mysql_affected_rows(). Пример 1. Пример использования mysql_num_rows()



  • > возвращает количество рядов результата
    ряды = записи или строки из таблицы.


    Oпппссс... Не увидел кто автор сообщения... думал это от neo :)

    Сообщение было отредактировано 3 раз, последнее редактирование пользователем Grischenkow ().

  • hnummer_id нужно мне для того чтобы найте определенные данные в колонки unummer_id, так как таблица (Zwischentabelle) в которой я выбираю являеться таблицой где данные из 4 других таблиц связаны.


    так что это не опечатка:)

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем neo ().

  • Тогда тему можно закрыть... ты получил ответ на вопрос.

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем Grischenkow ().