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 '??' at line 1
запрос к бд
<link href="/css/stil_text_temp.css" rel="stylesheet" type="text/css">
<?
// Соединяемся с базой данных
include ("text.php");
include ("configure.php");
$table = "tehnika";
//Создаем соединение
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
//Выбираем базу данных. Если произойдет ошибка - вывести ее
mysql_select_db($dbName) or die (mysql_error());
mysql_query('set names cp1251');
################ Начинаем с навигации ##########################################
$query = "SELECT* FROM variable WHERE id=0 ";//SQL запрос на выборку одной строки
//Выполняем запрос. Если произойдет ошибка - вывести ее.
//echo "БД подключена уровень 1 <br />";
$res = mysql_query($query) or die(mysql_error());
$row = (mysql_fetch_array($res));// Выводим ячейку из таблицы где хранится данные по выводу кол-ва сообщений на страницу
$chislo = $row['poleout']; // ЧИСЛО СООБЩЕНИЙ НА СТРАНИЦЕ
$text_error = '<br />Ошибочка вышла!';// ДЛЯ УДОБСТВА ОБОЗНАЧИМ ПЕРЕМЕННУЮ С ТЕКСТОМ ОШИБКИ
$result = mysql_query("SELECT * from $table ORDER by id desc");// СОЗДАЁМ ЗАПРОС
//echo "БД подключена уровень 2 <br />";
$num_rows = mysql_num_rows($result);// СЧИТАЕМ КОЛЛИЧЕСТВО ЗАПИСЕЙ В ТАБЛИЦЕ - У МЕНЯ ИХ 20
// А ТЕПЕРЬ СЧИТАЕМ НА СКОЛЬКО СТРАНИЦ НАМ РАЗБИТЬ ЗАПИСИ И ВЫДЕЛЯЕМ ЦЕЛОЕ ЧИСЛО
$num_rows = round($num_rows/$chislo); // 20 ДЕЛИМ НА 5. СКОЛЬКО? :)
// ЗДЕСЬ МЫ ПРОВЕРЯЕМ НА КАКОЙ СТРАНИЦЕ СЕЙЧАС ПОЛЬЗОВАТЕЛЬ
if (isset($_GET['str'])) {
$nav = $_GET['str'];
}
else {
$nav = 0;
}
$nav = intval($nav); // ДЛЯ ЗАЩИТЫ ОТ НЕХОРОШИХ ДЯДЕНЕК МЫ ВЫДЕЛИМ ЦЕЛУЮ ЧАСТЬ $GET['str']
//echo 'Навигация: ';
// А ТЕПЕРЬ ВЫВОДИМ НОМЕРА СТРАНЦ
//$num_rows++;
for ($i=0; $i<$num_rows; $i++)
{
$nt1=($i*$chislo)+1;//формируем наигацию
$nt2=($i*$chislo)+$chislo;
$nt=$nt1."-".$nt2;//формируем наигацию
if ($i != $nav)
{
echo '[ <a href="'.$PHP_SELF.'?str='.$i.'">'.$nt.'</a> ] ';
}
else {
echo $nt." ";// АКТИВНУЮ СТРАНИЦУ ДЕЛАЕМ НЕ ГИПЕРССЫЛКОЙ
}
}
echo "<br />"; // ОТДЕЛИМ НАВИГАЦЮ ОТ КОНТЕНТА ДЛЯ НАГЛЯДНОСТИ
############# Выводим таблицу ##################################################
$nomer=$chislo;// по сколько выводить сообщений на страницу
$str=(($nav)*$nomer);
//echo "БД подключена уровень 3 <br />";
$query="SELECT * from $table ORDER by id asc limit $str, $nomer";//Вывод блока
//echo "БД подключена уровень 4<br />";
//echo "БД подключена уровень 4 step 2 <br />";
// Выполняем запрос. Если произойдет ошибка - вывести ее.
$res = mysql_query($query) or die(mysql_error());
// Выводим данные из таблицы
echo "<table width=100% border=0 align=center cellpadding=5 cellspacing=0 class=\"perimetr5\" >
<tr align=\"center\">
<td width=\"6%\" class=\"perimetr4\">Статус</td>
<td width=\"8%\" class=\"perimetr4\" >Дата подачи </td>
<td width=\"15%\" class=\"perimetr4\" >Вид работ </td>
<td width=\"10%\" class=\"perimetr4\" >Место работ </td>
<td width=\"47%\" class=\"perimetr4\" >Описание</td>
<td width=\"14%\" class=\"perimetr6\">телефон</td>
</tr>";
/* Цикл вывода данных из базы конкретных полей */
while ($row = mysql_fetch_array($res))
{
###################################################
$publ=$row['publish'];// что с публикацией для вывода переключателя
if (($publ!="new")&&($publ!="clear"))// если статус неопределен проходим мимо
{
$status="<font color=\"#009933\"><strong>Вакантно</strong></font>";
$tel="<img src=\"8067.gif\" title=\"Телефон для связи\" /> ".$row['phone'];
$titimg=$title1;
if ($publ=="off")
{
$status="<strong><font color=\"#CC0000\">Занято</font></strong>";
$tel=" ";
$titimg=$title4;
}
$idimg=$row['id'];// привязываем ссылку к строке
##################################################
$titdata=$row['data'];//дата публикации
echo "<tr align=\"left\" valign=\"top\">";
echo "<td class=\"line1\">$status</td>";
echo "<td class=\"line1\">".$row['data']."</td>\n";
echo "<td class=\"line1\">".$row['type']."</td>\n";
echo "<td class=\"line1\">".$row['place']."</td>\n";
echo "<td class=\"line1\">".$row['description']."</td>\n";
echo "<td class=\"line1\">$tel</td>\n";
}
}
echo "<tr>
<td colspan=\"6\" align=\"center\" >Заказы на строительную технику </td>
</tr>";
echo ("</table>");
/* Закрываем соединение */
mysql_close();
?>
Спустя 5 минут, 9 секунд (21.03.2012 - 16:03) inpost написал(а):
SELECT* - тут пробел.
А так же строчку этой ошибки?
Можешь написать так: or die($query.' : '.mysql_error()); и получишь запрос, который вызвал ошибку.
А так же строчку этой ошибки?
Можешь написать так: or die($query.' : '.mysql_error()); и получишь запрос, который вызвал ошибку.
Спустя 8 минут, 30 секунд (21.03.2012 - 16:11) brus69 написал(а):
SELECT * from tehnika ORDER by id asc limit 0, ?? : 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 '??' at line 1
Спустя 7 минут, 15 секунд (21.03.2012 - 16:19) rooor написал(а):
$chislo - на неё ругается
Спустя 2 минуты, 40 секунд (21.03.2012 - 16:21) brus69 написал(а):
да уже понял что $chislo а что делать то?
Спустя 46 секунд (21.03.2012 - 16:22) inpost написал(а):
$row = (mysql_fetch_array($res));// Выводим ячейку из таблицы где хранится данные по выводу кол-ва сообщений на страницу
Не может отработать, потому что у тебя запрос вернул 0 записей, поэтому $chislo пустое.
Спустя 7 минут, 55 секунд (21.03.2012 - 16:30) brus69 написал(а):
хм в бд там 10 стоит
id publish poleout reklama counter
0 5 10 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 4 4 4 4 2
id publish poleout reklama counter
0 5 10 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 4 4 4 4 2
Спустя 57 секунд (21.03.2012 - 16:31) brus69 написал(а):
`poleout` = '10',
Спустя 6 минут, 28 секунд (21.03.2012 - 16:37) brus69 написал(а):
конечно проблему можно решить поставить $chislo = 10; за место $chislo = $row['poleout'];
но почему он число 10 из бд не вытаскивает
но почему он число 10 из бд не вытаскивает
Спустя 9 минут, 36 секунд (21.03.2012 - 16:47) inpost написал(а):
$query = "SELECT * FROM `variable` WHERE `id`=0 ";
Так попробуй, или ID поставь числом не 0, а, допустим, 1. Ради теста.
И ты правильно написал "poleout" ? Проверь, выведи массив через print_r и убедись, что он есть.