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

Форум MySQL

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

 

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

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

тема: Обработка MySQL-запроса средствами PHP
 
 автор: bartik   (26.10.2006 в 22:31)   письмо автору
 
 

Всем доброго дня. Хотелось бы получить справку , как делать многотабличные запросы, а также как делат вывод скажем через while($s=mysql_fetch_array($result)) где $result наш запрос. В общем хочется получить справку, как с ними работать.

   
 
 автор: cheops   (27.10.2006 в 00:32)   письмо автору
 
   для: bartik   (26.10.2006 в 22:31)
 

1) А к каким таблицам запрос делаете?
2) Запрос следует передавать функции mysql_query(), функция mysql_fetch_array() принимает дескриптор
<?php
  $query 
"SELECT ... FROM ...";
  
$res mysql_query($query);
  if(!
$res) exit(mysql_error());
  if(
mysql_num_rows($res))
  {
    while(
$result mysql_fetch_array($res))
    {
       echo 
$result['name']."<br>"
       
echo $result['description']."<br>"
    
}
  }
?>

   
 
 автор: bartik   (27.10.2006 в 11:05)   письмо автору
 
   для: cheops   (27.10.2006 в 00:32)
 

Уважаемый cheops , я умею делать такие запросы, мне хотелось бы чтобы вы показали как вы работаете с такими запросами к примеру:
$r=mysql_query("SELECT c.name,c.cid,c.count,l.url FROM url_cat c,url_cat_linear l WHERE c.parent='$cid' AND c.cid=l.cid ORDER BY c.name") or die(mysql_error());
Это многотабличный запрос в 2 таблицы.. Как из него выводить данные?)) Я почему спрашиваю, потому что могут быть одинаковые таблицы, скажем ID и ID итд.

   
 
 автор: Trianon   (27.10.2006 в 11:14)   письмо автору
 
   для: bartik   (27.10.2006 в 11:05)
 

колонкам можно давать алиасы:

$r=mysql_query("SELECT c.name AS c_name,c.cid AS  c_id,c.count AS  c_count, l.url AS  l_url FROM url_cat c,url_cat_linear l WHERE c.parent='$cid' AND c.cid=l.cid ORDER BY c.name") or die(mysql_error()); 

и вытаскивать поля по именам алиасов:

while($result = mysql_fetch_assoc($r)) 
    { 
       echo $result['c_name']."<br>" 
       echo $result['l_url']."<br>" 
    } 

можно также брать поля просто по номерам колонок, но это неудачная практика:

while($result = mysql_fetch_row($r)) 
    { 
       echo $result[0]."<br>" 
       echo $result[3]."<br>" 
    } 

   
 
 автор: cheops   (27.10.2006 в 14:37)   письмо автору
 
   для: bartik   (27.10.2006 в 11:05)
 

В этом случае обычно столбцам назначают псевдонимы при помощи оператора AS, как показал Trianon. Оператор AS позволяет назначить в результирующей таблице новое имя для столбца.

   
 
 автор: bartik   (27.10.2006 в 14:39)   письмо автору
 
   для: cheops   (27.10.2006 в 14:37)
 

Всем большое спасибо, теперь всё понятно.

   
Rambler's Top100
вверх

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