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

Форум PHP

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

 

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

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

тема: Вывод всех данных из таблицы
 
 автор: Dizels   (26.09.2007 в 12:03)   письмо автору
 
 

есть таблица:


CREATE TABLE `country` (
  `id_country` int(6) NOT NULL auto_increment,
  `name` mediumtext NOT NULL,
  PRIMARY KEY  (`id_country`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;

-- 
-- Дамп данных таблицы `country`
-- 

INSERT INTO `country` VALUES (1, 'Россия');
INSERT INTO `country` VALUES (2, 'Украина');


Нужно вывести все данные из таблицы, вот как я выводжу:

<?php 
 
// Соединяемся с базой данных
  
require_once("../config.php");
?>



<a href="addcountryform.php">Добавить новую страну</a>


<?php

  
// Выполняем SQL-запрос
  
$ath mysql_query("select * from country;");

if(
$ath)
{

// Определяем таблицу и заголовок
echo "<table border=1>";
echo 
"<tr><td>Страна</td><td>Действие</td></tr>";

// Так как запрос возвращает несколько строк, применяем цикл

while($country mysql_fetch_array($ath))
    {
echo 
"<tr>
        <td>"
.$country['name']."</td>
        <td><a href="">Редактировать</a><br>
                <a href="">Удалить</a></td>
      </tr>"
;
    }
echo 
"</table>";

}
else
{
echo 
"Error: ".mysql_error()."";
exit();
}
?>


Вот какую ошику выдает:

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in z:\home\localhost\www\peoplecrimea\admin\country\index.php on line 30


Что я сделал не так?

   
 
 автор: Bad   (26.09.2007 в 12:12)   письмо автору
 
   для: Dizels   (26.09.2007 в 12:03)
 

мож вместо ("select * from country;"); заменить на ("select * from country"); ?)))

   
 
 автор: Dizels   (26.09.2007 в 12:15)   письмо автору
 
   для: Bad   (26.09.2007 в 12:12)
 

Нет, ошибка таже, да и в книге. откуда я брал подобный код было написано так как у меня. (книжка "PHP 5 Практика создания web-сайта")

   
 
 автор: Bad   (26.09.2007 в 12:19)   письмо автору
 
   для: Dizels   (26.09.2007 в 12:03)
 

Вместо
echo "<tr>
<td>".$country['name']."</td>
<td><a href="">Редактировать</a><br>
<a href="">Удалить</a></td>
</tr>";
вставь
echo "<tr>
<td>".$country['name']."</td>
<td><a href=''>Редактировать</a><br>
<a href=''>Удалить</a></td>
</tr>";

   
 
 автор: Dizels   (26.09.2007 в 12:21)   письмо автору
 
   для: Bad   (26.09.2007 в 12:19)
 

Получилось, спс, вот тока я не понял, а почему нельзя было как у меня?

   
 
 автор: sim5   (26.09.2007 в 12:21)   письмо автору
 
   для: Dizels   (26.09.2007 в 12:03)
 


<?
echo "<tr> 
        <td>"
.$country['name']."</td> 
        <td><a href=\"\">Редактировать</a><br> 
                <a href=\"\">Удалить</a></td> 
      </tr>"

    }

   
 
 автор: Dizels   (26.09.2007 в 12:28)   письмо автору
 
   для: sim5   (26.09.2007 в 12:21)
 

Собственно возник вопрос, а как теперь сделать удаление страны? Чего-то не соображу никак :(

   
 
 автор: sim5   (26.09.2007 в 12:33)   письмо автору
 
   для: Dizels   (26.09.2007 в 12:28)
 

Только тотальной войной и то навряд-ли :) От куда удалить?

   
 
 автор: Dizels   (26.09.2007 в 12:40)   письмо автору
 
   для: sim5   (26.09.2007 в 12:33)
 

>Только тотальной войной и то навряд-ли :)

Тоже об этом думал:)))

Ели серьезно, то удалить из Таблицы, вот как я написал:


<?php
  
  
// Соединяемся с базой данных
  
require_once("../config.php");

  
// Выполняем запрос на удаление страны
  
$query_country "DELETE FROM coutry
                WHERE id_country="
.$_GET['id_country'];

  if(
mysql_query($query_country))
  {
    
// Осуществляем автоматический переход на главную страницу
    // администрирования статей
    
echo "<HTML><HEAD>
          <META HTTP-EQUIV='Refresh'
          CONTENT='0; URL=index.php?id_page="
.$_GET['id_page']."'>
          </HEAD></HTML>"
;
  } else 
puterror("Ошибка при удалении страны");

?>

Но чего-то выдает ошибку:
"Ошибка при удалении страны"

   
 
 автор: Dizels   (26.09.2007 в 12:42)   письмо автору
 
   для: Dizels   (26.09.2007 в 12:40)
 

Все - разобрался - опечатка была
было:
$query_country = "DELETE FROM coutry

а надо
$query_country = "DELETE FROM country

   
 
 автор: sim5   (26.09.2007 в 12:45)   письмо автору
 
   для: Dizels   (26.09.2007 в 12:40)
 

Вам что нужно - по запросу $_GET['id_page'] удалить запись из базы, или так как вы делаете, не проверив запроса ни с того ни с чего удалили? Я вооще не понимаю, что вы собираетесь добиться своим кодом.

   
 
 автор: Dizels   (26.09.2007 в 12:55)   письмо автору
 
   для: sim5   (26.09.2007 в 12:45)
 

Чего-то я не совсем понял, а на что еще запрос надо проверять? у меня вроде все заработало:)

А добиться я собирался следующего - в таблице хранится список стран, и если страна не нужна, то чтобы при нажатии на кнопку Удалить - она удалялась

   
 
 автор: sim5   (26.09.2007 в 13:05)   письмо автору
 
   для: Dizels   (26.09.2007 в 12:55)
 

Ну-ну, коли вы считаете свою стратегию правильной, нет вопросов.

   
 
 автор: Dizels   (26.09.2007 в 13:12)   письмо автору
 
   для: sim5   (26.09.2007 в 13:05)
 

sim5, я вовсе не говорю, что я прав, наоборот, прошу помощи, поэтому если видишь ошибки - то укажи плз на них, а то у нас бестолковый разговор получается.

   
 
 автор: sim5   (26.09.2007 в 13:49)   письмо автору
 
   для: Dizels   (26.09.2007 в 13:12)
 

Прежде чем выполнить это:

<?
$query_country 
"DELETE FROM coutry WHERE id_country=".$_GET['id_country'];

надо наверное убедиться, а пришло ли вот это $_GET['id_country'], и не мешало бы проверить, а что в качестве $_GET['id_country'] вам шлют. Как вы думаете?

   
 
 автор: Dizels   (26.09.2007 в 14:01)   письмо автору
 
   для: sim5   (26.09.2007 в 13:49)
 

Понял, а как сие осуществить?

по поводу пришло ли, я думаю вот так надо:

if(empty $_GET['id_country']) { echo "Не задана страна для удаления";
exit();
}

Я прав?

А вот как проверить что прислали?

   
 
 автор: sim5   (26.09.2007 в 14:17)   письмо автору
 
   для: Dizels   (26.09.2007 в 14:01)
 

Это ведь ваше:

<?
echo "<tr> 
        <td>"
.$country['name']."</td> 
        <td><a href=''>Редактировать</a><br> 
                <a href=''>Удалить</a></td> 
      </tr>"

    }
<?

Втсавляйте соответствующий запрос в адресе:

<a href='scriptname.php?id_country=id'>Удалить</a>
где id - это ID-номер страны полученный из базы 

Далее проверяйте if (isset($_GET['id_country'])), чему равно его заначение, цифра ли, ну и т.д.

   
 
 автор: Dizels   (26.09.2007 в 14:20)   письмо автору
 
   для: sim5   (26.09.2007 в 14:17)
 

А, я у себя в скрипте <a href='scriptname.php?id_country=id'>Удалить</a> это прописал, забыл здесь обновить:))))

Спасибо за терпение!

   
Rambler's Top100
вверх

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