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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: SELECT

Сообщения:  [1-10]   [11-11] 

 
 автор: cheops   (27.03.2006 в 13:37)   письмо автору
 
   для: Oligarx   (27.03.2006 в 10:45)
 

Он указывает номер столбца в результирующей таблице, если у вас столбец один - параметр должен принимать значение 0.

   
 
 автор: Oligarx   (27.03.2006 в 10:45)   письмо автору
 
   для: cheops   (27.03.2006 в 00:45)
 

Спасибо, всё заработало. Вот только интересно, что означает mysql_result($ath,0) второй параметр 0 для чего он ? (в справочнике посмотрел, но чёто тоже не понял ...)

   
 
 автор: cheops   (27.03.2006 в 00:45)   письмо автору
 
   для: Oligarx   (26.03.2006 в 22:04)
 

Resource id #5 - это дескриптор запроса, необходимо его скормить фукнции mysql_result(), чтобы получить результат
<?php
for($i=0$i<$mass$i++) 

$arrava[$i]=$box[$i]; 


  for(
$i=0$i<$mass$i++)  // До сюда всё Запипиристо :)) 
  


$query="SELECT msg FROM tb_gvest WHERE id_msg=$arrava[$i];"
$ath mysql_query($query); 

  echo (
$arrava[$i]."<br>"); 
  echo 
"<form action= method=\"POST\"> 
           <TEXTAREA NAME=\"correct[]\" WRAP=\"virtual\" COLS=\"40\" ROWS=\"3\"> 
           "
.mysql_result($ath,0)."
           </TEXTAREA><br>"
;   
  } 
echo 
"<INPUT TYPE=\"submit\" VALUE=\"OK\"> 
         </form>"

}
?>

   
 
 автор: Oligarx   (27.03.2006 в 00:10)   письмо автору
 
   для: Oligarx   (26.03.2006 в 22:04)
 

..... мда, видать кроме cheops'a никто не может помочь (или не хочет) ... (будем ждать)

   
 
 автор: Oligarx   (26.03.2006 в 22:04)   письмо автору
 
   для: cheops   (26.03.2006 в 20:08)
 


for($i=0; $i<$mass; $i++)
{
$arrava[$i]=$box[$i];
}

  for($i=0; $i<$mass; $i++)  // До сюда всё Запипиристо :))
  {

$query="SELECT msg FROM tb_gvest WHERE id_msg=$arrava[$i];";
$ath = mysql_query($query);

  echo ($arrava[$i]."<br>");
  echo "<form action= method=\"POST\">
           <TEXTAREA NAME=\"correct[]\" WRAP=\"virtual\" COLS=\"40\" ROWS=\"3\">
           $ath
           </TEXTAREA><br>";  
  }
echo "<INPUT TYPE=\"submit\" VALUE=\"OK\">
         </form>";
}


сделал так, теперь в текстареах выводится
Resource id #5
Resource id #6
Resource id #7

ваще не пойму что за 5, 6, 7 ...

   
 
 автор: cheops   (26.03.2006 в 20:08)   письмо автору
 
   для: Oligarx   (26.03.2006 в 18:21)
 

Погодите... у вас же функция sql_execute() вообще ничего не возвращает, я так понимаю она предназначена только для операторов UPDATE и DELETE, а SELECT необходимо либо самостоятельно обрабатывать, либо воспользоваться какой-то другой функцией.

   
 
 автор: Oligarx   (26.03.2006 в 18:21)   письмо автору
 
   для: cheops   (26.03.2006 в 14:30)
 


function sql_connect()
 {
  $this->conn_id=mysql_connect($this->sql_host,$this->sql_login,$this->sql_passwd);
  mysql_select_db($this->sql_database);
 }
/////////////////

function sql_execute()
 {
  $this->sql_res=mysql_query($this->sql_query,$this->conn_id);
  $this->sql_err=mysql_error();
 }


возвращает выполнение запроса (результат)

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

   
 
 автор: cheops   (26.03.2006 в 14:30)   письмо автору
 
   для: Oligarx   (26.03.2006 в 03:34)
 

А что возвращает функция $my->sql_execute().

   
 
 автор: Oligarx   (26.03.2006 в 03:34)   письмо автору
 
   для: cheops   (26.03.2006 в 01:58)
 

Запятую убрал, но поставленой задачи не добился. А именно ...

вот код странички с которой через форму передаются чек-боксы ... (вернее часть кода)


for($i=0; $i < $num_post; $i++)
 {
 echo "<tr>
            <td><INPUT TYPE=\"checkbox\" NAME=\"box[]\" VALUE=\"".$postrow[$i]['id_msg']."\"></td>
            <td>".@$postrow[$i]['id_msg']."</td>
            <td>".@$postrow[$i]['name']."</td>
            <td>".@$postrow[$i]['msg']."</td>
            <td>".@$postrow[$i]['mail']."</td>
            <td>".@$postrow[$i]['icq']."</td>
           </tr>";
 }



а это код обработчика, от которого требуется вывести msg из базы в поля textarea ... для дальнейшего редактирования и замены в базе (но это другая история). В данный момент нужно вывести из таблицы msg в textarea.


<?
 
require("../../../req/mysql.class");
 
$my=new class_mysql;
 
$my->sql_connect();

if(isset(
$_POST['box']))
{
    
$boxlist  $_POST['box'];
    if(!
is_array($boxlist))               // если передан один элемент,
             
$boxlist = array($boxlist); //делаем из него массив :)
 
 
foreach($boxlist as $box[])

  
$mass count($boxlist);
////////////////////////////////////////
for($i=0$i<$mass$i++)
{
$arrava[$i]=$box[$i];
}

  for(
$i=0$i<$mass$i++)  // До сюда всё Запипиристо :))
  
{

$my->sql_query="SELECT msg FROM tb_gvest WHERE id_msg=$arrava[$i];";
$messaga $my->sql_execute();

  echo (
$arrava[$i]."<br>");
  echo 
"<form action= method=\"POST\">
           <TEXTAREA NAME=\"correct[]\" WRAP=\"virtual\" COLS=\"40\" ROWS=\"3\">
           
$messaga
           </TEXTAREA><br>"
;  
  }
echo 
"<INPUT TYPE=\"submit\" VALUE=\"OK\">
         </form>"
;
}
else
{ echo 
"ничего не введено"; }

echo(
mysql_error());
?>


Тут всё работает на ура, до тех пор, пока не вставляю

$my->sql_query="SELECT msg FROM tb_gvest WHERE id_msg=149;";
$messaga = $my->sql_execute();

(функции мускула 100% рабочие ... использую везде). И гавное дело echo(mysql_error()); молчит ...

никаких ошибок не выводится а textarea пустые :((

да, самое главное textarea почему то не пустые ... туда что то выводится но ничего не видно (как будто пробелы выводятся)

   
 
 автор: cheops   (26.03.2006 в 01:58)   письмо автору
 
   для: Oligarx   (26.03.2006 в 01:40)
 

>Подскажите пожалуйста, что здесь неправильно ...
Запятая лишняя после msg, необходимо исправить запрос следующим образом
SELECT msg FROM tb_gvest WHERE id_msg=149


Да можно выполнять запросы в цикле, но в вашем случае проще сформировать в цикле запрос, и потом его выполнить
<?php
  
for($i=0$i<=10$i++) 
  { 
    
$arr[] = $i;
  }
  
$ath mysql_query("SELECT msg FROM tb_gvest WHERE id_msg IN(".implode(",",$arr).")"); 
?>

   

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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