526

Re: Выпадающий список

Объединить можно строку, а функция строку не возвращает, поэтому надо делать так:

print "<table width='750' height='150'  class='table22'>
  <tr>
    <td>";
sub_func($row, $aSQL, $aName, $aUnion)
print "</td>
  </tr>
</table>";

527

Re: Выпадающий список

Спасибо получилось!

528

Re: Выпадающий список

Хочу спросить, на щет тех списков что в форме отправки. Они написаны только на php и потому чтоб отправить параметр из одного списка и получить результат в другом нужно перезагрузить страницу, а так как ети два полученых параметра нужно потом еще и файлу обработчику послать, то выходит что такой код не будет работать в форме но и разделить их неполучяется, как же быть писать на java? Там ненужно будет перезагружать страницу, или можно всетаки здесь чтото придумать?

529

Re: Выпадающий список

А можно както написать ети списки но без выборки из базы тогда не прийдется отправлять запрос на сервер. Например будет два селекта  в первом некие значения от 1 до 5 а у второго в value тоже со значениями от 1 до 5 при выборе в первоп както сопоставить значение со вторым?

530

Re: Выпадающий список

Если второй список зависит от первого, то для второго надо подготовить данные в формате JSON.

<script>
var json = {
1 : {"value":"значение", "parent":"идентификатор из первого списка"},
2 : {"value":"значение 2", "parent":"идентификатор из первого списка"}
};

/* Параметр parent в функции - это идентификатор из первого списка. */
function second_select(parent) {
  var oOption;
  var oSelect = document.getElementById('select');
  oSelect.innerHTML = '';
  for (var id in json) {
    if (parent != json[id]['parent']) continue;

    oOption = document.createElement('option');
    oSelect.appendChild(oOption);
    oOption.text = json[id]['value'];
    oOption.value = id;
  }
}
</script>

Пока это все, что я могу подсказать. Писать весь код за вас не буду.

531

Re: Выпадающий список

И на том спасибо! Подскажите еще пожалуйста как сформировать запрос чтоб из определенной папки imegas вытаскивал названия картинок и помещял их в базу в таблицу (table) в столбец (img) но обрезал при етом расширение картинок чтоб в базу заносились лиш названия

532

Re: Выпадающий список

Чтение файлов каталога: readdir()
Расширение можно определить и обрезать с помощью регулярного выражения: preg_match()
Запрос на добавление данных в БД: INSERT

533

Re: Выпадающий список

Подскажите как правильно вписать переменную в ету строку есть запрос

 $result4 = mysql_query("select model from sezon  ",$db);
                  $row4 = mysql_fetch_array($result4);

и вот в ету строку я хочу вставить вместо  WINTER 101-big    " . $row["model"] . "

<img class='expando' border='0' src='imgcircle/WINTER 101-big.jpg' width='120' height='120'>

тогда из папки будут братся названия картинок которые соответствуют имени из запроса. Я только незнаю как грамотно записать строку

534

Re: Выпадающий список

Все правильно, так и пишите через точки объединяя строку. Только есть проблема с пробелами, скорее всего имена файлов с пробелами работать не будут. Попробуйте закодировать таким образом:
urlencode($row["model"]).

535

Re: Выпадающий список

Спасибо. С пробелами нормально читает имена

536

Re: Выпадающий список

Подскажите как написать запрос если нужно найти и вывести следующюю строку 155/45 R13 но в запросе я указываю только параметр R13 .

$result = mysql_query("select * from baza where radius= R13 ",$db);

такой запрос не подействует. Нужно както написать чтоб выборка ишла по всей строке но только по части слов или букв

537

Re: Выпадающий список

Документация здесь.

... WHERE `radius` LIKE "%R13%"

538 (изменено: hardsh, 2012-05-15 08:59:06)

Re: Выпадающий список

Добрый день.

Хочу экспортировать данные из таблицы в xls файл.
Нашёл класс для экспорта в xls, данные успешно формируются в xls файл, но формируется только одна запись, хотя в таблице их сотни.

Вот скрипт с таблицей, данные выводятся из БД.

<?php
    session_name("students");
    session_start();
?>
 <table bgcolor="#FFFFF0"  border="1" cellpadding="3" cellspacing="0" width="100%" ">
    <tr bgcolor="#FAEBD7"  align="center">
          <td><b>Номер зачетки</td>
          <td><b>Фамилия</td>                                      
          <td><b>Имя</td>
          <td><b>Отчество</td>
    </tr>
          
<?php
include("xls.php");
include("connect.php");
include("index.php");

  if(!isset($_SESSION['id'])) {
     exit("Необходимо авторизироваться!!!");
    }
        $st_group = $_POST['st_group'];
        $sql_add = "SELECT * FROM students WHERE st_group='$st_group'";
        $result = mysql_query($sql_add);
       
   while($arr = mysql_fetch_assoc($result))
   {
        $num_zach = $arr[num_zach];
        $family = $arr[family];
        $name = $arr[name];
        $otch = $arr[otch];
        $st_group = $arr[st_group];
    
    echo "
   <tr>
      <td>&nbsp $num_zach</td>
      <td>&nbsp $family </td>
      <td>&nbsp $name </td>
      <td>&nbsp $otch </td>
   </tr>";

 $xls = new XLS(); 
 $xls->add_cell(0,0,"Номер зачетки");
 $xls->add_cell(1,0,"Фамилия");
 $xls->add_cell(2,0,"Группа");
 $xls->add_cell(0,1,$arr[num_zach]);
 $xls->add_cell(1,1,$arr[family]);
 $xls->add_cell(2,1,$arr[st_group]);

   }
        
$xls->save_file('file.xls');
?>

</table>

Вот класс для формирования xls. Взят на просторах сети...

<?
    /*
    +-----------------------------------+
    |                                   |
    |   Microsoft Excel v5 file writer  |
    |   By Ali Imran ali@gimptalk.com   |
    |                                   |
    |   Copyrights reserverd:           |
    |   www.swish-db.com                |
    |                                   |
    +-----------------------------------+
    */

    #Microsoft Excel 5 Header and End Of File Binary Representation
    define("XLSFile_Header",    pack("s*",2057,8,0,0,0,0));
    define("XLSFile_End",        pack("s*",10,0));

    #Following function return code for an Excel Worksheet Cell
    function get_xlscell_code($x,$y,$cell_txt) {
        $ret = pack("s*",516,strlen($cell_txt)+8,$y,$x,0,strlen($cell_txt));
        $ret .= $cell_txt;
        return $ret;
    }
    
    class XLS {
        var $_final_bytes  = "";
        var $_file_name = 'text.xls';
        
        function XLS() { }
        
        function add_cell($COLUMN,$ROW,$cell_text) {
            $this->_final_bytes .= get_xlscell_code($COLUMN,$ROW,$cell_text);
        }
        function xls_bytes() {
            return XLSFile_Header.$this->_final_bytes.XLSFile_End;
        }
        function save_file($fname='',$_overwrite=true) {
            $fname = $fname==''  ? $this->_file_name : $fname;
            $f = @fopen($fname,"r");
            if($f and !$_overwrite) {
                @fclose($f);
                return false;
            }
            @fclose($f);
            $f = @fopen($fname,"w");
            if(!$f) return false;
            $bytes = $this->xls_bytes();
            if(!@fwrite($f,$bytes)) return false;
            @fclose($f);
            
            return true;
        }
    }

?>

Подскажите пожалуйста в чем проблема?

UPDATE:
print_r($family) или любая другая переменная выводит только одну запись. Почему тогда в таблице формируются все записи?

539

Re: Выпадающий список

$xls = new XLS(); // Эту строку надо вынести из цикла while, иначе при каждом проходе формируется новая ссылка на класс, поэтому сохраняется только последняя строка.

540 (изменено: hardsh, 2012-05-15 11:36:00)

Re: Выпадающий список

Сделал так

$xls = new XLS(); 
while($arr = mysql_fetch_assoc($result))

При открытии xls файла пишет
"Ошибка файла: данные могут быть утеряны"
По прежнему формируется только одна строка

541

Re: Выпадающий список

hardsh сказал:

При открытии xls файла пишет

При каком открытии?

Посмотрите цифры в параметре функции. Первый ноль - это наверное ячейка, второй строка:
$xls->add_cell(0,0,"Номер зачетки");
Чтобы писать в новые ячейки, надо увеличивать счетчик строки.

Смотрите документацию класс, может есть еще какие-нибудь особенности его работы.

542

Re: Выпадающий список

Hanut сказал:

При каком открытии?

Ну так
после этого

$xls->save_file('file.xls');

на сервере создается файл "file.xls"
Когда я его открываю, то выходит ошибка "Ошибка файла: данные могут быть утеряны"

543

Re: Выпадающий список

hardsh сказал:

Когда я его открываю, то выходит ошибка "Ошибка файла: данные могут быть утеряны"

Не знаю что это означает.

544

Re: Выпадающий список

Здравствуйте подскажите пожалуйса. Хочу формировать страницы динамически. Вот блок который формирует ссылки из базы

$result = mysql_query("select DISTINCT brand from baza  ORDER BY brand",$db);


while ($row = mysql_fetch_array($result)) {
    
        print"<p><a href='obrabotchik.php?brand=" . $row["brand"] . "'>" . $row["brand"] . "</a>";}  
          ?>

обработчику передается параметр с названием бренда. Принимаю параметр и превращяю его в переменную

if (isset($_GET['brand'])) {$brand = $_GET['brand'];}
if (!isset($brand)) {$brand = $brand;} 
$result55 = mysql_query("select DISTINCT brand from baza where brand='$brand'  ",$db);
if (!$result55)
{
echo"<p>Запрос в базыу не прошол код ошибки<br></p>";
exit (mysql_error());
}
if (mysql_num_rows($result55) > 0)
{
$row55 = mysql_fetch_array($result55);
}
else
{
echo "<p>Информация по запросу не прошла в таблице нет данных</p>";
exit();
}

А в ывести в запросе не получяется

else { $sql = '
  
    SELECT DISTINCT brand, model FROM `baza` WHERE `brand` = "$brand" ORDER BY `brand` ';  
}

не выводится ничего при первой загрузке страницы ни в чекбоксах ни в списках ничего не выбрано значит формируется етот запрос в котором я хочу чтоб выбирался бренд который передался рание

545

Re: Выпадающий список

Нельзя передать переменную в строку находящуюся в одинарных кавычках. Надо делать конкатенацию в этом случае объединяя строку через символ точки. Еще один момент - это необходимо использовать функцию экранирования спецсимволов mysql_real_escape_string, чтобы не получить однажды ошибку запроса.

$sql = 'SELECT DISTINCT brand, model FROM `baza` WHERE `brand` = "' . mysql_real_escape_string($brand) . '" ORDER BY `brand`';

При формировании ссылки необходимо использовать функцию urlencode(), опять-таки для экранирования спецсимволов.

print "<p><a href='obrabotchik.php?brand=" . urlencode($row["brand"]) . "'>" . $row["brand"] . "</a>";

Эта строка не имеет смысла:

if (!isset($brand)) {$brand = $brand;}

546

Re: Выпадающий список

Спасибо большое  помогло, еще один вопрос. Вот блок который формирует чекбоксы он выводится на странице обработчика

<?php 
$result = mysql_query("select DISTINCT brand from baza WHERE ostatok >0 ORDER BY brand",$db);


while ($row = mysql_fetch_array($result)) {
    if (isset($_POST[$row['brand']])) 
    
     {
        print"<p>" . $row["brand"] . " <input type='checkbox' checked='checked' name='".$row['brand']."' 
        value=''  onchange='this.form.submit();'  >";
        }
        else { print"<p>" . $row["brand"] . " <input type='checkbox'  name='".$row['brand']."' 
        value=''  onchange='this.form.submit();'  >";} }
          ?>

Как в нем прописать условие если обработчик принял переменную то поставить нажатым тот чекбокс который соответствует принятой переменной

547

Re: Выпадающий список

Я пробую прировнять

while ($row = mysql_fetch_array($result)) {
    if (isset($_POST[$row['brand']])== ($_POST['$brand']))
    
     {
        print"<p>" . $row["brand"] . " <input type='checkbox' checked='checked' name='".$row['brand']."' 
        value=''  onchange='this.form.submit();'  >";
        }
        else { print"<p>" . $row["brand"] . " <input type='checkbox'  name='".$row['brand']."' 
        value=''  onchange='this.form.submit();'  >";} }

но в итоге отмечеными выходят все чекбоксы

548

Re: Выпадающий список

if (isset($_POST[$row['brand']])) - Этого должно быть достаточно.

549 (изменено: павелsimon, 2012-05-15 14:44:51)

Re: Выпадающий список

Нет не вышло при загрузке они все не активны. Вот код который вытаскивает и привращяет в переменную brand можно чекбокс както к нему прировнять ?

$result55 = mysql_query("select DISTINCT brand from baza where brand='$brand'  ",$db);
if (!$result55)
{

echo"<p>Запрос в базыу не прошол код ошибки<br></p>";
exit (mysql_error());
}
if (mysql_num_rows($result55) > 0)
{
$row55 = mysql_fetch_array($result55);

550

Re: Выпадающий список

павелsimon сказал:

Нет не вышло при загрузке они все не активны.

При какой загрузке?

павелsimon сказал:

Вот код который вытаскивает и привращяет в переменную brand можно чекбокс както к нему прировнять ?

Не смог понять.