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

Форум PHP

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

 

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

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

тема: Подскажите где тута ошибка??
 
 автор: nokia   (03.05.2008 в 11:52)   письмо автору
 
 

Скажите пожалйста эта функция будет работать если учесть что до нее я успешно подключился к базе и также до этой функции описана функция enc Вообщем идея в том чтоб она генерировала ссылку по id... Если что то ое так подскажите, о акулы PHP, пожалуйста!

function link($id)

    $server = servak
    $ath = mysql_query("select * from page where id='$id'");
    while($data = mysql_fetch_array($ath))
         {
          $a = enc($data['a']);
          $b = enc($data['b']);
          $c = enc($data['c']);
         }

     
    $link = 'http://'.$server.'/index.php?category='.$a.'&sub='.$b.'&name='.$c;
   echo $link; 
}; 

   
 
 автор: radu89   (03.05.2008 в 13:51)   письмо автору
 
   для: nokia   (03.05.2008 в 11:52)
 

A so eto za
 enc 
??

   
 
 автор: nokia   (03.05.2008 в 14:04)   письмо автору
 
   для: radu89   (03.05.2008 в 13:51)
 

вот нашел нашел транслит

function enc($st)
  { 
    $st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ_",
    "abvgdeeziyklmnoprstufh'iei");
    $st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_",
    "ABVGDEEZIYKLMNOPRSTUFH'IEI");
    $st=strtr($st, 
                    array(
                        "ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh", 
                        "щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
                        "Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH", 
                       "Щ"=>"SHCH","Ь"=>"i", "Ю"=>"YU", "Я"=>"YA",
                        "ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye"," "=>"_",
                         
                        )
            );
    return $st;
  }
ТАК ЧТОЖ ТАМ ТАКОЕ??

   
 
 автор: Atheist   (03.05.2008 в 14:14)   письмо автору
 
   для: nokia   (03.05.2008 в 14:04)
 

Вообще логика скрипта странная - планируется вывести только линк с учетом последней тройки значений $a, $b и $c? Если в таблице несколько записей подходят под критерий id = '$id', то первые возвращаемые строки не будут играть никакой роли. Если id - PRIMARY KEY или UNIQUE какой-нибудь, то убери вообще сам цикл, оставь только
$data = mysql_fetch_assoc($ath);
$a = enc($data['a']);
$b = enc($data['b']);
$c = enc($data['c']);

> вот нашел нашел транслит
Наверное, тебе нужна не транслитерация, а URL-кодирование:
$a = urlencode($data['a']);
...

> id='$id'
Если функция позиционируется, как public (фактически функция автономная), то нужно обязательно приводить $id к integer. Иначе тут возможна SQL-injection.

> mysql_fetch_array
И какой умный дядя посоветовал использовать эту гадкую функцию? Используй mysql_fetch_assoc().

> $server = servak
Это просто синтаксически неверно: нет точки с запятой и если константа "servak" не определена, то крайне желательно обрамлять подобные строки кавычками/апострофами.

   
 
 автор: cheops   (04.05.2008 в 11:46)   письмо автору
 
   для: nokia   (03.05.2008 в 11:52)
 

А в чём заключается ошибка?

   
Rambler's Top100
вверх

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