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

Форум MySQL

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

 

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

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

тема: Выпадающий список
 
 автор: colnce88   (07.07.2008 в 14:56)   письмо автору
 
 

Здравствуйте! У меня такая проблема, мне нужно данные из таблицы(str) базы данных kladr запихнуть в выпадающий список, не могу сделать, может кто подскажет?

   
 
 автор: Trianon   (07.07.2008 в 15:06)   письмо автору
 
   для: colnce88   (07.07.2008 в 14:56)
 

Какая структура таблицы?
Лучше привести дамп.

   
 
 автор: colnce88   (07.07.2008 в 15:10)   письмо автору
 
   для: Trianon   (07.07.2008 в 15:06)
 

Поле Тип Сравнение
NAME text cp1251_general_ci
SOCR text cp1251_general_ci
CODE text cp1251_general_ci
INDEX text cp1251_general_ci
GNINMB text cp1251_general_ci
UNO text cp1251_general_ci
OCATD varchar(11) cp1251_general_ci

   
 
 автор: Trianon   (07.07.2008 в 15:18)   письмо автору
 
   для: colnce88   (07.07.2008 в 15:10)
 

Выпадающий список - это конструкция списка
<select name=ИмяПоля>
  <option value=знач1>Текст1</option>  
  <option value=знач2>Текст2</option>
   ...
</select>


И из каких полей таблицы Вы хотите формировать значения и тексты вариантов выбора?



PS. В таблице нет ключей. Даже первичного (который обычно содержит нарастающие номера и зовется как правило id ). Работать с такой таблицей крайне неудобно.

   
 
 автор: colnce88   (07.07.2008 в 15:44)   письмо автору
 
   для: Trianon   (07.07.2008 в 15:18)
 

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

   
 
 автор: Trianon   (07.07.2008 в 15:54)   письмо автору
 
   для: colnce88   (07.07.2008 в 15:44)
 

<?php
// подключение к серверу
// и выбор БД Вы знаете как делать

$sql "SELECT * FROM `str`";
$res mysql_query($sql) or die(mysql_error("Error in $sql : " mysql_error());

echo 
"<select name=x>\r\n";
while(
$row mysql_fetch_assoc($res))
{
    
$name htmlspecialchars($row['name']); // текст берется из поля name.
    
echo "<option>$name</option>\r\n";
}
echo 
"</select>\r\n";
?>

   
 
 автор: colnce88   (07.07.2008 в 16:55)   письмо автору
 
   для: Trianon   (07.07.2008 в 15:54)
 

Не получается, нет данных, просто пустой выпадающий список, в чем может быть проблема?

   
 
 автор: Trianon   (07.07.2008 в 16:57)   письмо автору
 
   для: colnce88   (07.07.2008 в 16:55)
 

приведите дамп (структуру и данные) таблицы. (вкладка Экспорт в phpMyAdmin)
Посмотрим, что у Вас не так.

   
 
 автор: colnce88   (07.07.2008 в 17:16)   письмо автору
 
   для: Trianon   (07.07.2008 в 16:57)
 

-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Июл 07 2008 г., 17:11
-- Версия сервера: 5.0.45
-- Версия PHP: 5.2.4
--
-- БД: `kladr`
--

-- --------------------------------------------------------

--
-- Структура таблицы `str`
--

CREATE TABLE `str` (
`ID` int(1) NOT NULL auto_increment,
`NAME` text NOT NULL,
`SOCR` text NOT NULL,
`CODE` text NOT NULL,
`INDEX` text NOT NULL,
`GNINMB` text NOT NULL,
`UNO` text NOT NULL,
`OCATD` varchar(11) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=5 ;

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

INSERT INTO `str` VALUES (1, 'Петров', '', '', '', '', '', '');
INSERT INTO `str` VALUES (2, 'Петров', '', '', '', '', '', '');
INSERT INTO `str` VALUES (3, 'Иванова', '', '', '', '', '', '');
INSERT INTO `str` VALUES (4, 'кузнецоыв', '', '', '', '', '', '');

Я правда изменила данные в таблице, сделала пробные. Включила поле id.

   
 
 автор: Trianon   (07.07.2008 в 18:05)   письмо автору
 
   для: colnce88   (07.07.2008 в 17:16)
 

<?php
  
require_once('dbconfig.php');

$sql "SELECT * FROM `str`";

$res mysql_query($sql)
  or die( 
"Error in $sql : " mysql_error());

echo 
"<select name=str >\r\n";
while(
$row mysql_fetch_assoc($res))
{
    
$id intval($row['ID']);
    
$name htmlspecialchars($row['NAME']);
    echo 
"<option value=$id >$name</option>\r\n";
}
echo 
"</select>\r\n";
?>

Вот такой код у меня строит список на ура.

   
 
 автор: colnce88   (08.07.2008 в 10:54)   письмо автору
 
   для: Trianon   (07.07.2008 в 18:05)
 

У меня выходит вот такая ошибка
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in Z:\home\localhost\www\KL\11.php on line 9

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in Z:\home\localhost\www\KL\11.php on line 9
Error in SELECT * FROM `str` : Access denied for user 'ODBC'@'localhost' (using password: NO)

в девятой строке следующее : $res = mysql_query($sql) or die( "Error in $sql : " . mysql_error());

   
 
 автор: sms-send   (08.07.2008 в 11:17)   письмо автору
 
   для: colnce88   (08.07.2008 в 10:54)
 

Наверно, сначала всё-таки нужно установить соединение с MySQL.

   
 
 автор: colnce88   (08.07.2008 в 11:30)   письмо автору
 
   для: sms-send   (08.07.2008 в 11:17)
 

соединение есть

   
 
 автор: sim5   (08.07.2008 в 11:34)   письмо автору
 
   для: colnce88   (08.07.2008 в 11:30)
 

Как это есть, если вы получаете ошибку:
Error in SELECT * FROM `str` : Access denied for user 'ODBC'@'localhost' (using password: NO) -
Ошибка в SELECT * FROM 'str': Запрещенный доступ для пользователя 'ODBC' 'localhost' (использование пароля: NO)
???

   
 
 автор: colnce88   (08.07.2008 в 12:06)   письмо автору
 
   для: sim5   (08.07.2008 в 11:34)
 

Все работает, спасибо.

   
 
 автор: Trianon   (08.07.2008 в 12:09)   письмо автору
 
   для: colnce88   (08.07.2008 в 11:30)
 

Когда я написал, что устанавливать соединение с сервером и выбирать БД Вы умеете, я ориентировался на Ваш пост (14.05.2008 в 14:04) из которого было ясно, что назначение и применение функций
mysql_connect($hostname, $username, $password) or die ("");
mysql_select_db($dbName) or die (mysql_error()); 
Вам известно.
У меня они расположены в dbconfig.php

   
Rambler's Top100
вверх

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