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

Форум MySQL

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

 

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

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

тема: Имеющиеся в базе таблицы
 
 автор: mehelson   (12.03.2007 в 11:10)   письмо автору
 
 

Здравствуйте всем!
Помогите с проблемкой...

нужно вывести в <option... имеющиеся в базе таблицы...

<?
$query 
mysql_query("SHOW TABLES");
if(!
$query) exit (mysql_error());

while(
$tabl mysql_fetch_array($ath))
{
  foreach(
$tabl as $val)
  echo 
"<option value=1>".$val."</option>";


но почему то таблицы дублируются ?
Подскажите?

Спасибо!

   
 
 автор: Trianon   (12.03.2007 в 11:18)   письмо автору
 
   для: mehelson   (12.03.2007 в 11:10)
 


<?php
$res 
mysql_query("SHOW TABLES");
if(!
$res) exit (mysql_error());
$i 0;
echo 
"<select><option>--tables--</option>\r\n";
while(
$tabl mysql_fetch_row($res))
{
  
$i++;
  
$tabl $tabl[0];
  echo 
"<option value=$i>$tabl</option>\r\n";
}
echo 
'</select>';
?>

   
 
 автор: cheops   (12.03.2007 в 11:20)   письмо автору
 
   для: mehelson   (12.03.2007 в 11:10)
 

А почему вложенные циклы используются вместо одного?

   
 
 автор: mehelson   (12.03.2007 в 11:39)   письмо автору
 
   для: cheops   (12.03.2007 в 11:20)
 

Спасибо !

конечно же mysql_fetch_row...
уже после добавления темы заметил...
жаль нельзя удалить тему...

А почему вложенные циклы используются вместо одного?
если не использовать, то вместо названий таблиц - Array
а вообще так переписал:

<?php
$ath 
= @mysql_query("SHOW TABLES");
if(!
$ath) exit(mysql_error());
while(
$tabl mysql_fetch_row($ath))
{
  foreach(
$tabl as $val)
    echo 
"<input type=radio name=table value=$val>".$val."<br>";
}
echo 
"<br><br><input type=submit></form>";
?>


Спасибо еще раз !

   
 
 автор: Trianon   (12.03.2007 в 12:14)   письмо автору
 
   для: mehelson   (12.03.2007 в 11:39)
 

>конечно же mysql_fetch_row...

mysql_fetch_row тут не при чем. Я его поставил искличительно ради голой эстетики. mysql_fetch_array вполне прошел бы.


>>А почему вложенные циклы используются вместо одного?
>если не использовать, то вместо названий таблиц - Array

ничего, Вы, похоже, не поняли....

>а вообще так переписал:
>while($tabl = mysql_fetch_row($ath))
> foreach($tabl as $val)

и опять получили полную ерунду. Cheops не просто так удивился вложенным циклам. Не нужны они там.

   
 
 автор: mehelson   (12.03.2007 в 13:24)   письмо автору
 
   для: Trianon   (12.03.2007 в 12:14)
 

>и опять получили полную ерунду. Cheops не просто так удивился вложенным циклам. Не нужны они там.

да, факт не понял... объясните...
в таком варианте как раз ерунды нет...

   
 
 автор: Trianon   (12.03.2007 в 13:35)   письмо автору
 
   для: mehelson   (12.03.2007 в 13:24)
 

прошу прощения, поторопился с выводами.
mysql_fetch_row-то берет короткий массив из одного поля....

Но только зачем цикл городить, когда можно явно указать то, что хочешь вывести?

<?php 
while($tabl mysql_fetch_row($ath)) 
    echo 
"<input type=radio name=table value=$tabl[0]>$tabl[0]<br>"

И в этом варианте уже не играет роли array или row .

   
 
 автор: mehelson   (12.03.2007 в 13:55)   письмо автору
 
   для: Trianon   (12.03.2007 в 13:35)
 

да, действительно второй цикл городить незачем... ;)
странно, почему сразу вместо таблиц отображались Array ?
в общем то я поэтому и стал искать выход...

Все, спасибо !

   
 
 автор: Trianon   (12.03.2007 в 14:33)   письмо автору
 
   для: mehelson   (12.03.2007 в 13:55)
 

потому, что вышеуказанные функции возвращают массив

   
Rambler's Top100
вверх

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