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

Форум MySQL

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

 

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

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

тема: Вывод базы из переменной
 
 автор: Panker   (11.09.2006 в 16:03)   письмо автору
 
 


<?php
 $query 
"SELECT * FROM link";
 
$result mysql_query($query);
 while(
$r=mysql_fetch_array($result))
 {
  
$link_id=$r["link_id"];
  
$link_name=$r["link_name"];
  
$link_adress=$r["link_adress"];
 }
?>


вот типа код!
Тут каждая переменая типа табличка из базы!
типа набераю точнее вывожу $link_id и у меня линк айди выводится!

НО

проблема в том что выводится почему то последняя запись!
а мне надо что бы все записи выводились!
Как мне это сделать!? подскажите плиз! что то пытался по примеру из учебника но не как =(

   
 
 автор: kasmanaft   (11.09.2006 в 16:17)   письмо автору
 
   для: Panker   (11.09.2006 в 16:03)
 

В цикле выводить =)
(или в массив сначала загонять)

   
 
 автор: Panker   (11.09.2006 в 16:24)   письмо автору
 
   для: kasmanaft   (11.09.2006 в 16:17)
 

если мона на примерах, ато я новичёГ :)

   
 
 автор: Ziq   (11.09.2006 в 17:10)   письмо автору
 
   для: Panker   (11.09.2006 в 16:24)
 

примерно так


<?php 
 $query 
"SELECT * FROM link"
 
$result mysql_query($query); 
 while(
$r=mysql_fetch_array($result)) 
 { 
  
$link_id=$r["link_id"]; 
  
$link_name=$r["link_name"]; 
  
$link_adress=$r["link_adress"]; 

  echo 
$link_id."<br>\n"
  echo 
$link_name."<br>\n";
  echo 
$link_address."<br>\n";
 } 
?>

   
 
 автор: ec_stasis   (11.09.2006 в 17:14)   письмо автору
 
   для: Panker   (11.09.2006 в 16:03)
 


<?php
 $query 
"SELECT * FROM link";
 
$result mysql_query($query);
  
$link_id[]= array();
  
$link_name[]=array();
  
$link_adress[]=array();

 while(
$r=mysql_fetch_array($result))
 {
  
$link_id[]=$r["link_id"];
  
$link_name[]=$r["link_name"];
  
$link_adress[]=$r["link_adress"];
 }
echo 
'<pre>' print_r($link_id1) . print_r($link_name1) . print_r($link_adress1) ;
?> 

   
 
 автор: Trianon   (11.09.2006 в 17:19)   письмо автору
 
   для: ec_stasis   (11.09.2006 в 17:14)
 

тогда уж

<?php 
echo '<pre>';
 
$query "SELECT * FROM link"
 
$result mysql_query($query); 
 while(
$r=mysql_fetch_array($result)) print_r($r);
echo 
'</pre>';
?>  

   
 
 автор: ec_stasis   (11.09.2006 в 17:21)   письмо автору
 
   для: Trianon   (11.09.2006 в 17:19)
 

Это зависит от того, что требуется в конечном итоге: просто вывести данные, или обработать их...

   
 
 автор: cheops   (11.09.2006 в 19:00)   письмо автору
 
   для: Panker   (11.09.2006 в 16:03)
 

А как вы выводите записи? Внутри цикла while? Если выводится одна запись, то скорее всего вы выводите её вне цикла, это не корректно.

   
 
 автор: Panker   (11.09.2006 в 19:19)   письмо автору
 
   для: cheops   (11.09.2006 в 19:00)
 

echo я пишу в другом файле!!


В файле модуля ССЫЛОК я пишу так


<?php
 $query 
"SELECT * FROM link";
 
$result mysql_query($query);
 while(
$r=mysql_fetch_array($result))
 {
  
$link_id=$r["link_id"];
  
$link_name=$r["link_name"];
  
$link_adress=$r["link_adress"];
 }
?>


в файле вывода навигации я пишу так
<?=$link_id?> - 
<?=$link_name?> - 
<?=$link_adress?>


мне надо по ечё выводить ( по echo точней )

как бы разделённо название ссылки адрес ссылки id не обезательно!

мне что бы дизайн юзенры могли сделать сами

   
 
 автор: cheops   (12.09.2006 в 00:30)   письмо автору
 
   для: Panker   (11.09.2006 в 19:19)
 

Всё правильно, в результате получается последняя запись из таблицы link, для того, чтобы у вас выводились все ссылки, помещайте результат в массив
<?php 
 $query 
"SELECT * FROM link"
 
$result mysql_query($query); 
 while(
$r=mysql_fetch_array($result)) 
 { 
  
$link_id[] = $r["link_id"]; 
  
$link_name[] = $r["link_name"]; 
  
$link_adress[] = $r["link_adress"]; 
 } 
?>

и затем выводите $link_id, $link_name и $link_adress как массив, например, через цикл foreach.

   
 
 автор: Panker   (12.09.2006 в 18:22)   письмо автору
 
   для: cheops   (12.09.2006 в 00:30)
 

я пишу как вы сказали в файле модуля! в файле шаблона я пишу просто ечё переменная

мне пишут

Array - Array - Array

что такое? не так что то :)?

   
 
 автор: cheops   (12.09.2006 в 18:48)   письмо автору
 
   для: Panker   (12.09.2006 в 18:22)
 

Переменные $link_id[], $link_name[], $link_adress[] теперь массивы и вместо блока
<?=$link_id?> -  
<?=$link_name?> -  
<?=$link_adress?>

следует писать что-то вроде
<?php
  
for($i 0$i count($link_id); $i++)
  {
    echo 
$link_id[$i]." - ".$link_name[$i]." - ".$link_adress[$i]."<br>";
  }
?>

   
 
 автор: Panker   (13.09.2006 в 09:03)   письмо автору
 
   для: cheops   (12.09.2006 в 18:48)
 

спасибо всё ок!

но всё же если возможно, не скажите как просто ввиди переменых выводить? это не критично н ов шаблоне желательно делать так )

   
 
 автор: cheops   (13.09.2006 в 12:20)   письмо автору
 
   для: Panker   (13.09.2006 в 09:03)
 

Просто имеется ввиду без индексов или под этим имеется ввиду что-то другое?

   
 
 автор: Panker   (13.09.2006 в 16:31)   письмо автору
 
   для: cheops   (13.09.2006 в 12:20)
 

имеется ввиду место этого чуда :)

<?php
for($i = 0; $i < count($link_id); $i++)
{
echo $link_id[$i]." - ".$link_name[$i]." - ".$link_adress[$i]."<br>";
}
?>

писать просто допустим $link_id $link_name $link_adress и так далее )) просто такую байду в шаблон обычному пользователю вставлять не оч приятно да и не размахнёшся пока всем обяьсниш что вид менять надо так и так ...
переменные легче, так возможно
??

   
 
 автор: cheops   (13.09.2006 в 18:37)   письмо автору
 
   для: Panker   (13.09.2006 в 16:31)
 

>так возможно
Конечно, просто присвойте значения элементов массива переменным
<?php 
for($i 0$i count($link_id); $i++) 

  
$link_id $link_id[$i];
  
$link_name $link_name[$i];
  
$link_adress $link_adress[$i];
  echo 
$link_id." - ".$link_name." - ".$link_adress."<br>"

?>

   
Rambler's Top100
вверх

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