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

Форум PHP

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

 

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

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

тема: Переменная $i от 2 до 35
 
 автор: eddenn   (16.10.2008 в 12:54)   письмо автору
 
 

for($i=2;$i<35;$i++){
while ($row = mysql_fetch_array($usr)){
for($d=0;$d<$num_fields;$d++){
echo"<textarea type="."text"." name="."$i"." rows=7 col=5>";
echo$i;
echo "</textarea>";
}
echo"<br />";
}
}

Помогите)) Нужно что бы внутри echo"<textarea type="."text"." name="."$i"." rows=7 col=5>";
Переменная $i выводилась от 2 до 35. Но она всегда остается 2. Не понимаю.

  Ответить  
 
 автор: sim5   (16.10.2008 в 13:04)   письмо автору
 
   для: eddenn   (16.10.2008 в 12:54)
 

У textarea нет type типа чего-то равного "text", у нее вообще нет такого атрибута - type! И вам что нужно - вывести 35 текстовых областей, или в одной области в столбик цифры прописать? И вообще - полный ужас.

  Ответить  
 
 автор: eddenn   (16.10.2008 в 13:27)   письмо автору
 
   для: sim5   (16.10.2008 в 13:04)
 

Мне нужно чтобы в текстареа попадала $I, чтобы я мог потом извлечь 35 результатов текстареа из $_GET

  Ответить  
 
 автор: sim5   (16.10.2008 в 13:29)   письмо автору
 
   для: eddenn   (16.10.2008 в 13:27)
 

И ради одной цифры вам нужно 35 текстовых областей? А это от куда взялось - $num_fields?

  Ответить  
 
 автор: eddenn   (16.10.2008 в 13:32)   письмо автору
 
   для: sim5   (16.10.2008 в 13:29)
 

public function call_table(){
//Вызываем таблицу
$query="SELECT * FROM "."$_GET[call_table]";
$usr = mysql_query($query);
//Считаем количество полей
$num_fields=mysql_num_fields($usr);
echo$num_fields."-mysql_num_fields";
//Считаем количество строк
$num_rows=mysql_num_rows($usr);
echo$num_rows."-mysql_num_rows";
//Самое интересное
?>
<form method='get' action='probe_5.php'>
<?php
//global$i;

for($i=3;$i<$num_rows;$i++){
while (true){
for($d=0;$d<$num_fields;$d++){
echo"<textarea "." name="."$i"." rows=7 col=5>";
//echo$row[$d];
echo$i;
echo "</textarea>";
}
echo"<br />";
}
}
?>
<input type='submit' value='go'>
</form>


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

  Ответить  
 
 автор: sim5   (16.10.2008 в 13:57)   письмо автору
 
   для: eddenn   (16.10.2008 в 13:32)
 

Еще ужаснее, уже имена таблиц базы GET запросом передаются. Осталось еще логины и пароли добавить в запрос и вообще хорошо будет. Ну разве так можно? Содержимое вашей таблицы, надо понимать, это не циферка, а записи, и записи могут иметь приличный объем. Как вы думаете, удобно будет выводить 35 объемных записей для редактирования? Каждая запись у вас должна иметь уникальный номер (id), вы можете получить все записи из таблицы и вывести их на страницу, но не так как вы это делаете, а:
<?
$query 
"SELECT * FROM tablename";
if (!
mysql_num_rows($query)) {
  while (
$row mysql_fetch_assoc($query)) {
    
//выводим в браузер все записи таблицы,
    //указывая к каждой ссылку, например,
    //"Редактировать", параметром запроса к таблице, 
    //которым будет служть id этой записи
  
}
}

Вот теперь вы сможите получить по id записи нужное вам поле для редактирования, так как вы это наблюдаете здесь на форуме. Если вам надо редактировать все-таки 35 полей (например, короткие поля описания товара), то выводить их нужно так, как я показал выше, но тогда запрос должен идти не к таблице всей, а к записям в этой таблице, принадлежащему одному ID.

PS. Выставляя код, обрамляйте его тегом [сode][/сode], иначе читать его не удобно.

  Ответить  
 
 автор: eddenn   (16.10.2008 в 14:10)   письмо автору
 
   для: sim5   (16.10.2008 в 13:57)
 

Хорошо...
Ссылка редактировать. Мы вызываем по ID строку, в которой N-ячеек.
А куда мы помещаем каждую отдельную ячейку таблицы, для редактирования...в текстареа?

  Ответить  
 
 автор: sim5   (16.10.2008 в 14:12)   письмо автору
 
   для: eddenn   (16.10.2008 в 14:10)
 

Все, вам в раздел MySQL и посмотреть примеры правильного обращения к таблицам: выборка, запись, обновление... Что касается вида поля, то если это текст большой, то да textarea, а если это небольшая строка, то вполне может и хватит input type=text. Это уже смотреть по вашим полям нужно.

  Ответить  
 
 автор: eddenn   (16.10.2008 в 14:13)   письмо автору
 
   для: sim5   (16.10.2008 в 14:12)
 

Спасибо

  Ответить  
Rambler's Top100
вверх

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