Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: передача переменной в запрос
 
 автор: Medulla   (13.09.2007 в 10:58)   письмо автору
 
 

допустим

$n=17;
echo '<a href="*/answer.php?id='.$n.'">Просмотр</a>



при переходе по ссылке:


$query = "SELECT dr." . intval($_GET['n']) . " as text FROM anketa ORDER BY id LIMIT $start, $p"; // поле dr17


как правильно составить запрос?

   
 
 автор: cheops   (13.09.2007 в 11:10)   письмо автору
 
   для: Medulla   (13.09.2007 в 10:58)
 

Так, а сейчас что-то работает неправильно?

   
 
 автор: Trianon   (13.09.2007 в 11:22)   письмо автору
 
   для: Medulla   (13.09.2007 в 10:58)
 

Данные в таблицах по строкам не хранят. Только по столбцам.

Соответственно, такие конструкции "SELECT dr$n FROM anketa ..." - явный признак того, что схема БД далека от нормальной.
Это, конечно, в усливии того, что запрос составлен правильно.

   
 
 автор: Medulla   (13.09.2007 в 11:40)   письмо автору
 
   для: Trianon   (13.09.2007 в 11:22)
 

>>>явный признак того, что схема БД далека от нормальной.
да. к сожалению так.

бд выглядит след образом:

id_dr1 _dr2_ dr..n


ошибка: unknown table dr in field list

   
 
 автор: Loki   (13.09.2007 в 13:42)   письмо автору
 
   для: Medulla   (13.09.2007 в 10:58)
 

переменная у вас называется id, а получить пытаетесь - n

   
 
 автор: Gust   (13.09.2007 в 14:43)   письмо автору
 
   для: Medulla   (13.09.2007 в 10:58)
 


$query = "SELECT dr" . intval($_GET['id']) . " as text FROM anketa ORDER BY id LIMIT $start, $p"; // поле dr17 

не только переменная id, еще точка лишняя после dr (если имя поля dr17)

   
 
 автор: Medulla   (14.09.2007 в 08:03)   письмо автору
 
   для: Gust   (13.09.2007 в 14:43)
 

спасибо.

$pagenumber = 20;

if(isset($_GET['page'])) $page = $_GET['page'];
    else $page = 1;
    $start = (($page-1)*$pagenumber );  
   $query = "SELECT dr" . intval($_GET['id']) . " as text FROM anketa ORDER BY id LIMIT $start, $pagenumber "; // where

 $prd = mysql_query($query);
    if(!$prd) exit(mysql_error());

    if(mysql_num_rows($prd) > 0)
    {

      while($row = mysql_fetch_array($prd))
      {

echo "<tr width= 430px> <td> ".stripslashes($row['text'])."</td></tr>";
echo '<tr height="5px"> <td> </td></tr>';

      }
      
echo '<tr height="550px"> <td> </td></tr>';
      echo "</table>";
    }
    $query = "SELECT COUNT(*) FROM anketa";// where

    $tot = mysql_query($query);
    if(!$tot) exit(mysql_error());
    $total = mysql_result($tot,0);
    $number = (int)($total/$pagenumber);
    if((float)($total/$pagenumber) - $number != 0) $number++;
    for($i = 1; $i <= $number; $i++)
    {
      if($i != $number)
      {
        if($page == $i)
        {
          echo "[".(($i - 1)*$pagenumber + 1)."-".$i*$pagenumber."]&nbsp;";
        }
        else
        {
           echo "<a href=$_SERVER[PHP_SELF]?page=".$i.">[".
                        (($i - 1)*$pagenumber + 1)."-".
                        $i*$pagenumber."]</a>&nbsp;";
        }
      }
      else
      {
        if($page == $i)
        {
          echo "[".(($i - 1)*$pagenumber + 1)."-".($total)."]&nbsp;";
        }
        else
        {
            echo "<a href=$_SERVER[PHP_SELF]?page=".$i.">[".
                        (($i - 1)*$pagenumber + 1)."-".
                        ($total)."]</a>&nbsp;";
        }
      }
    }


необходимо выводить все значения, кроме 0.
пыталась ограничить через (where dr" . intval($_GET['id']) . " <> 0).
как правильно составить запросы?

   
 
 автор: Medulla   (14.09.2007 в 13:42)   письмо автору
 
   для: Medulla   (14.09.2007 в 08:03)
 

как всегда невнимательность
тип поля

where dr" . intval($_GET['id']) . " not like 0

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования