1

Тема: Вывод определенной строки из таблицы

Не могу реализовать вывод нужной строки из таблицы

mysql_query("SELECT numberh, name11, name22, name33, name44 FROM st_student WERE numberh='r'")

где r это переменная которая задается в форме ввода.

выдается такая вот ошибка

Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'numberh='r'' at line 1

что не так?

2

Re: Вывод определенной строки из таблицы

Сообщение добавлено Wed Feb 10 14:59:21 2010
PS: mysql только начал изучать. если че сильно не ругайте.

3

Re: Вывод определенной строки из таблицы

Arben
Переменную надо прописать так:
[mono]mysql_query("SELECT ... numberh='$r'");[/mono]

Если переменная из формы приходит методом POST, то необходимо использовать глобальный массив, в этом случае переменная будет выглядеть так:
$_POST['r']

4

Re: Вывод определенной строки из таблицы

никак не получается (((
подскажите пожалуйста
mysql_query("SELECT ...... WERE numberh=$_POST['r'] ")

Даже когда пишу что numberh='имя поля' все равно выдает ошибку.

5

Re: Вывод определенной строки из таблицы

Arben
А в phpMyAdmin этот запрос что-нибудь выводит?

Строку надо так собрать.
mysql_query("SELECT ...... WERE numberh='" . $_POST['r'] . "'");

6

Re: Вывод определенной строки из таблицы

Hanut Ваш вопрос про запрос в phpMyAdmin помог мне, я зашел в phpMyAdmin и посмотрел оттуда как нужно делать правильный запрос.

ОГРОМНОЕ СПАСИБО ЗА ПОДСКАЗКУ.

вот такой запрос теперь работает:

mysql_query("SELECT * FROM `st_student` WHERE 'numberh' = '" . $_POST['$r'] . "' LIMIT 0, 30 ");


Остается проблема с 'r',

Я ввожу его на первой странице через форму методом POST, при нажатии кнопки "ок" должна открываться вторая страница с результатом запроса. т.е. выше приведенный mysql запрос.

Проблема в том что значение "r" не передается на страницу 2.

Может подскажете куда копать?

7

Re: Вывод определенной строки из таблицы

Arben
Лишний символ процента: $_POST['$r']. Должно быть: $_POST['r']

8

Re: Вывод определенной строки из таблицы

Спасибо.

9

Re: Вывод определенной строки из таблицы

Та же проблема!

        $code = $_GET['codespecialty'];
        $specialty = mysql_query ("SELECT * FROM `specialty` WHERE `specialty code` = "$code, $db);
        while ($myspecialty = mysql_fetch_array ($specialty))

Запрос проверял в phpMyAdmin, работает и выбирает ту строку, которую я указываю. Адрес в браузере тоже формируется вроде бы правильно (http://localhost/DP+Galerry%20PHP%20version%20FOR%20write/allspecialty.php?codespecialty=5.05090201), но вывода из базы нету.  sad

10

Re: Вывод определенной строки из таблицы

Попробуйте так:

$specialty = mysql_query ('SELECT * FROM `specialty` WHERE `specialty code` = "' . $code . '"', $db);

11

Re: Вывод определенной строки из таблицы

Не работает sad

12

Re: Вывод определенной строки из таблицы

Cular сказал:

Не работает sad

Где и что не работает?

Ловите ошибки.
$specialty = mysql_query ('SELECT * FROM `specialty` WHERE `specialty code` = "' . $code . '"', $db);
if (!$specialty) exit(mysql_error());

13

Re: Вывод определенной строки из таблицы

вот все, что я вижу в браузере...

Ошибка сервера.

На веб-сайте произошла ошибка при получении http://localhost/DP+Galerry%20PHP%20version%20FOR%20write/allspecialty.php. Веб-сайт может быть закрыт на обслуживание или настроен неправильно.

Вот несколько советов и рекомендаций:
Обновите эту страницу позже.
  Дополнительная информация об этой ошибке
Исходное сообщение об ошибке:

Ошибка HTTP 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfill the request.

14

Re: Вывод определенной строки из таблицы

Cular сказал:

An unexpected condition was encountered while the server was attempting to fulfill the request.

Смотрите логи веб сервера.

15

Re: Вывод определенной строки из таблицы

Вот весь лог, который был утром

[Tue Dec 14 11:27:09 2010] [error] [client 127.0.0.1] File does not exist: H:/server/www/favicon.ico
[Tue Dec 14 11:29:37 2010] [notice] Parent: Received shutdown signal -- Shutting down the server.
[Tue Dec 14 11:29:37 2010] [notice] Child 3136: Exit event signaled. Child process is ending.
[Tue Dec 14 11:29:38 2010] [notice] Child 3136: Released the start mutex
[Tue Dec 14 11:29:39 2010] [notice] Child 3136: All worker threads have exited.
[Tue Dec 14 11:29:44 2010] [notice] Child 3136: Child process is exiting
[Tue Dec 14 11:29:45 2010] [notice] Parent: Child process exited successfully.
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.3 for ServerName
[Tue Dec 14 11:30:23 2010] [notice] Apache/2.2.15 (Win32) PHP/5.2.14 configured -- resuming normal operations
[Tue Dec 14 11:30:23 2010] [notice] Server built: Mar  4 2010 11:27:46
[Tue Dec 14 11:30:23 2010] [notice] Parent: Created child process 4948
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.3 for ServerName
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.3 for ServerName
[Tue Dec 14 11:30:23 2010] [notice] Child 4948: Child process is running
[Tue Dec 14 11:30:23 2010] [notice] Child 4948: Acquired the start mutex.
[Tue Dec 14 11:30:23 2010] [notice] Child 4948: Starting 64 worker threads.
[Tue Dec 14 11:30:23 2010] [notice] Child 4948: Starting thread to listen on port 80.

Не пойму, почему там была ошибка с иконкой, но я уже кинул её туда, куда оно просило!
А больше ерроров не было!
-----------------------------------------------------------------------------------------------------------
Я заметил такую вещь! Что даже, если закоментировать  весь php код на странице allspecialty, то всеравно она не хочет открываться по ссылке

http://localhost/DP+Galerry%20PHP%20version%20FOR%20write/allspecialty.php?codespecialty=5.05090201

Разве она не должна открываться даже, если есть параметр?

?codespecialty=5.05090201

16

Re: Вывод определенной строки из таблицы

Cular сказал:

если закоментировать  весь php код на странице allspecialty, то всеравно она не хочет открываться по ссылке

Покажите весь код страницы.

17

Re: Вывод определенной строки из таблицы

Код страницы allspecialty:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ПЕК НАУ</title>
<link href="mystyle.css" rel="stylesheet" type="text/css" />
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>Style 01 (Yellow Green) - Menu by Apycom.com</title>
<link type="text/css" href="menu.css" rel="stylesheet" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="menu.js"></script>
</head>
<body id="page">
<div id="body">
<img src="image/header/headerTop.jpg" border="0" usemap="#Map2" />
<map name="Map2" id="Map2">
  <area shape="rect" coords="435,23,575,59" href="#"/>
  <area shape="rect" coords="583,23,669,59" href="#" />
  <area shape="rect" coords="675,23,754,58" href="#" />
</map>
<div id="menu">
    <ul class="menu">
        <li><a href="index.php" class="parent"><span>Головна</span></a></li>
        <li><a href="specialty.php"><span>Спеціальності</span></a></li>
        <li><a href="entry.php"><span>Вступ</span></a></li>
        <li><a href="announcement.php"><span>Оголошення</span></a></li>
        <li><a href="achievement.php"><span>Досягнення</span></a></li>
        <li><a href="#"><span>Форум</span></a></li>
        <li class="last"><a href="#"><span>Журнали</span></a></li>
    </ul>
</div>
<div id="BigBox"></div>
<img src="image/hr.jpg" />
<div style="width:720px; padding:20px 30px 0 20px; display:block;">
    <h2><img src="image/pencil.png" hspace="10px"/>Запрошуємо навчатись</h2>
    <?php 
        include ("codes/db_connect.php");
        $code = $_GET['codespecialty'];    
        //$specialty = mysql_query ("SELECT * FROM specialty WHERE specialty_code = ".$code, $db);
        $specialty = mysql_query ('SELECT * FROM `specialty` WHERE `specialty code` = "' . $code . '"', $db);
        if (!$specialty) exit(mysql_error());
        while ($allspecialty = mysql_fetch_array ($specialty))
        {
            echo '<table width="64%" border="0" cellspacing="3" >';
            echo '<tr>';
            echo '<td width="41%" align="right"> Галузь знань: </td>';
            echo '<td width="3%">&nbsp;</td>';
            echo '<td width="56%">';
            echo $allspecialty[1]; 
            echo '&quot;';
            echo $allspecialty[2];
            echo '&quot;';
            echo '</td>'; 
            echo '</tr>';
            echo '<tr>'; 
            echo '<td align="right"> Спеціальність: </td>'; 
            echo '<td>&nbsp;</td>';
            echo '<td>';
            echo $allspecialty[3];
            echo '&quot;';
            echo $allspecialty[4];
            echo '&quot;';
            echo '</td>';
            echo '</tr>'; 
            echo '<tr>';
            echo '<td align="right"> Кваліфікація фахівця: </td>'; 
            echo '<td>&nbsp;</td>';
            echo '<td>';
            echo $allspecialty[5];
             echo '</td>';
              echo '</tr>';
            echo '<tr>';
            echo '<td align="right"> Освітній рівень фахівця: </td>'; 
            echo '<td>&nbsp;</td>';
            echo '<td>';
            echo $allspecialty[6];
            echo '</td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td align="right"> Термін навчання: </td>'; // Здесь не хватало точки с запятой.
            echo '<td>&nbsp;</td>';
            echo '<td>';
            echo $allspecialty[7];
            echo '</td>';
            echo '</tr>';
            echo '</table>';
            mysql_close ($db);
        }
    ?>
</div>
<div id="footer">
            <div id="footerLeft">
              <p>ЦМК програмування та ОТ © 2010 ПЕК НАУ Всі права захищені</p>
            </div>
            <div id="footerRight">
        <img src="image/footer/footerRight.jpg" style="display:block" border="0" usemap="#Map" />
        <map name="Map" id="Map">
          <area shape="rect" coords="83,2,127,46" href="admn.php"  alt="Aдміністративна панель" />
        </map>
            </div>
</div>
</div> 
</body>
</html>

Может быть неправильно формируется ссылка?
Вот код формирования ссылки:

$specialties = mysql_query ("SELECT * FROM specialties",$db);
        while ($myspecialties = mysql_fetch_array ($specialties))
        {
            if ($myspecialties[1] == 'молодший спеціаліст')
            {
                if ($myspecialties[2] == '9')
                {
                    echo '<tr height="32px">';
                    echo '<td align="left" valign="middle" background="image/table/line3.jpg">';
                    echo ' <a href="allspecialty.php?codespecialty='.$myspecialties[5].'">';
                    echo $myspecialties[5];
                    echo '&nbsp;&quot;';            
                    echo $myspecialties[6];
                    echo '&quot;';            
                    echo '</a></td>';
                    echo '<td align="center" background="image/table/line4.jpg">';
                    echo $myspecialties[4];
                    echo '</td>';
                    echo '</tr>';
                }
            }
        }

18

Re: Вывод определенной строки из таблицы

У строки не хватало точки с запятой, что и вызывало ошибку.

echo '<td align="right"> Термін навчання: </td>'

19

Re: Вывод определенной строки из таблицы

Спасибо!!!  big_smile  big_smile
Буду когда-то в Риге, с меня бутылка!  wink