За последние 24 часа нас посетили 36992 программиста и 6875 роботов. Сейчас ищут 1682 программиста ...

Форма с mysql

Тема в разделе "PHP для новичков", создана пользователем marikkil, 20 мар 2013.

  1. marikkil

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

    С нами с:
    16 мар 2013
    Сообщения:
    29
    Симпатии:
    0
    Итак дорогие друзья, расскажу вкратце . У меня есть таблица со значениями с базы данных. Мне нужно сделать к нему <input type=radio> допустим я нажму на круглешок и у меня в таблице покажется только столбец команд , нажму на другой отобразится уже только столбец фамилий. Как мне это реализовать? аа еще кое что мне рядом с таблицей нужен поиск используя форму <input type=text> допустим я введу какую нить фамилию и у меня вывидится эта фамилия или столбец. Прошу вас мне помочь , буду благодарен, вы мне не раз помогали, поэтому я могу доверится только вашему форуму.
    Форма:

    <html>
    <body>
    <?
    echo "<form>";
    $link=mysql_connect('localhost','root','') or die ('noconnect');
    mysql_select_db('zadanie') or die ('net dostupda k bd');



    $x="select * from `dolgo` ";
    $v=mysql_query($x);
    mysql_error();
    if (mysql_num_rows($v) > 0){
    while($d = mysql_fetch_array($v))
    {
    echo ("
    <style type=\"text/css\">
    body { font: 12px Georgia; color: brown; }
    h3 { font-size: 16px; text-align: center; }
    table { width: 50px; border-collapse: collapse; border-spacing:3px 4px; background: lightgreen; }
    td { padding: 3px; text-align: center; vertical-align: middle; }
    </style>");
    echo ("
    <table>
    <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">
    <tr style=\"padding:2px margin:2px\">

    <td align=\"center\" ><b>Команда</b></td>
    <td align=\"center\"><b>Фамилия</b></td>
    <td align=\"center\"><b>Возраст</b></td>
    <td align=\"center\"><b>Амплуа</b></td>
    <td align=\"center\"><b>Сила</b></td>
    </tr>
    <tr>
    <td>".$d['Komanda']."</td>
    <td>".$d['surname']."</td>
    <td>".$d['vozract']."</td>
    <td>".$d['amplua']."</td>
    <td>".$d['sila']."</td>

    </tr>

    </table>

    ");
    }
    }


    mysql_close($link);
    echo "</form>";
    ?>
    <a href=new7.php>nazad</a>

    </body>
    </html>
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.870
    Симпатии:
    955
    ну так у радио есть значение. это значение в скрипте после отправки формы экстрактится из индекса с именем радио. и дальше достаточно выполнить запрос на получение не * а конкретного поля
     
  3. marikkil

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

    С нами с:
    16 мар 2013
    Сообщения:
    29
    Симпатии:
    0
    Ganzal допустим я нажимаю на радио, у меня ничего не выводит мне надо чтобы только поля команд выводил , блин не выводит че то
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.870
    Симпатии:
    955
    у вас во втором сообщении что-то отличного от первого... в любом случае пока времени не особо есть помогать. как только так сразу.
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    Форму надо сабмитить же ж.
     
  6. marikkil

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

    С нами с:
    16 мар 2013
    Сообщения:
    29
    Симпатии:
    0
    вот в чем туту ошибка?
    <html>
    <body>
    <?
    echo "<form>";
    $link=mysql_connect('localhost','root','') or die ('noconnect');
    mysql_select_db('zadanie') or die ('net dostupda k bd');
    // переменые


    echo ("
    <input type = 'radio' #ko name = 'koma'>Выбор по командам
    <input type = 'radio' name = 'sur'>выбор по фамилии
    <input type='submit' id='ko' value='показать команды'>

    ");

    switch ($_POST):
    // сортировка по командам
    case koma:
    $poiskk=mysql_query("select `komanda` from `zadanie`");
    while($pokk=mysql_fetch_array($poiskk))
    {
    echo ("
    <tr>
    <td>Команды</td>
    </tr>
    <tr>
    <td>".$pokk['Komanda']."</td>
    </tr>

    ");

    }
    break;
    // соритровка по фамилии
    case sur:
    $poisks=mysql_query("select `surname` from `zadanie`");
    while($poks=mysql_fetch_array($poisks))
    { echo ("
    <tr>
    <td>Фамилим</td>
    </tr>
    <tr>
    <td>".$pokk['surname']."</td>
    </tr>
    ");
    }
    break;

    default:

    // Основная табилца
    $x="select * from `dolgo` ";
    $v=mysql_query($x);
    mysql_error();
    if (mysql_num_rows($v) > 0){
    while($d = mysql_fetch_array($v))
    {
    $k=mysql_result($v,1,"komanda");
    $sur=mysql_result($v,1,"surname");
    $voz=mysql_result($v,1,"vozract");
    $sil=mysql_result($v,1,"sila");
    $amp=mysql_result($v,1,"amplua");

    echo ("
    <style type=\"text/css\">
    body { font: 12px Georgia; color: brown; }
    h3 { font-size: 16px; text-align: center; }
    table { width: 50px; border-collapse: collapse; border-spacing:3px 4px; background: lightgreen; }
    td { padding: 3px; text-align: center; vertical-align: middle; }
    </style>");
    echo ("
    <table>
    <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">
    <tr style=\"padding:2px margin:2px\">

    <td align=\"center\" ><b>Команда</b></td>
    <td align=\"center\"><b>Фамилия</b></td>
    <td align=\"center\"><b>Возраст</b></td>
    <td align=\"center\"><b>Амплуа</b></td>
    <td align=\"center\"><b>Сила</b></td>
    </tr>
    <tr>
    <td>".$d['Komanda']."</td>
    <td>".$d['surname']."</td>
    <td>".$d['vozract']."</td>
    <td>".$d['amplua']."</td>
    <td>".$d['sila']."</td>
    </tr>
    <tr>
    <td>$k</td>
    <td>".$sur."</td>
    <td>".$voz."</td>
    <td>".$amp."</td>
    <td>".$sil."</td>
    </tr>
    </table>
    ");
    }
    }
    endswitch;

    mysql_close($link);
    echo "</form>";

    ?>
    <a href=new7.php>nazad</a>

    </body>
    </html>
     
  7. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    О ужас посмотрел этот и мне стало плохо... надеюсь это не реальный сайт, ты просто тренируешься...

    Что это #ko ?

    Как минимум это должно дать ошибку. Что таккое koma? Видимо из $_POST хотел ее брать, но не берешь!

    Это зачем?

    воспользуйся error_reporting(E_ALL);
    исправсь свои ошибки а потом напиши в чем конкретно проблема...
     
  8. marikkil

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

    С нами с:
    16 мар 2013
    Сообщения:
    29
    Симпатии:
    0
    smitt дело в том что я новичок, сейчас исправлю ошибки вам скажу

    Добавлено спустя 1 минуту 27 секунд:
    error_reporting(E_ALL) не работает выдает ошибку что не закрыл что-то, я же использовал switch поэтому мне надо использовать endswitch

    Добавлено спустя 4 минуты 33 секунды:
    вот есть 2 радио ( сориторовка по комаднам и сротировка по фамили) я тыкаю на сортировку команд и нажимаю на кнопку и мне наодо чтобы выводилась столбец команд, а основная таблица которая находится на default исчезла.

    echo ("
    <input type = 'radio' name = 'koma'>Выбор по командам
    <input type = 'radio' name = 'sur'>выбор по фамилии
    <input type='submit' ' value='показать команды'>

    ");

    $wte=$_POST['koma'];
    $wtr=$_POST['sur'];

    switch ($wte || $wtr):
    // сортировка по командам
    case koma:
    $poiskk=mysql_query("select `komanda` from `zadanie`");
    if (mysql_num_rows($poiskk)) {
    $surk=mysql_result($poiskk,1,"komanda");
    while($pokk=mysql_fetch_array($poiskk))
    {
    echo ("
    <tr>
    <td>Команды</td>
    </tr>
    <tr>
    <td>".$pokk['Komanda']."</td>
    <td>$surk</td>
    </tr>

    ");

    }}
    break;
    // соритровка по фамилии
    case sur:
    if (mysql_num_rows> 0)
    {
    $poisks=mysql_query("select `surname` from `zadanie`");
    while($poks=mysql_fetch_array($poisks))
    { echo ("
    <tr>
    <td>Фамилим</td>
    </tr>
    <tr>
    <td>".$pokk['surname']."</td>
    </tr>
    ");
    }}
    break;

    default:
    тут основная таблица
     
  9. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Хотел бы просто узнать на сколько навичок.
    Только не обижайся, просто у тебя элементарные ошибки, такое чувство что главу о case условии и работе с массивами ты не читал.

    Добавлено спустя 52 секунды:
    Мда по поводу endswitch поторопился ты там оказывается switch: использовал верни обратно или же используй как большенство программистов фигурные скобки. Они же удобны, в каждом редакторе поствечиваются и смотреть удобней.

    Добавлено спустя 16 секунд:
    Опять koma... php будет обязательно ругаться. Что ты там хочешь? Сравнить что $_POST['koma'] == "koma"? Тогда бери в ковычки.

    Добавлено спустя 9 секунд:
    mysql_num_rows - функция еще ошибка.

    Добавлено спустя 8 секунд:
    http://php.ru/manual/function.error-reporting.html
     
  10. marikkil

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

    С нами с:
    16 мар 2013
    Сообщения:
    29
    Симпатии:
    0
    хмм ну ошибок на этот код у меня не выдается, ну вот интересно как же мне допустим именно для koma(это имя radio) сделать запрос чтобы он выводил таблицу только команд? я уже 2 часа не могу этого сделать подскажите пожалуйста как это реализовать
     
  11. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.870
    Симпатии:
    955
    так... у вас одна таблица и в ней несколько полей. вы хотите по радио-кнопкам выводить только значения одного поля а другие опускать. так?
     
  12. marikkil

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

    С нами с:
    16 мар 2013
    Сообщения:
    29
    Симпатии:
    0
    даа

    Добавлено спустя 4 минуты 29 секунд:
    Сударь GAnzal сортировкой по кнопкам я справился) мне бы щас поиск по таблице чтобы допустим я ввел значение у меня в табилце вывелось)