Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сгенерировать уникальную переменную 
:(
    Опции темы
supervladislav
Дата 30.11.2009, 10:08 (ссылка)    | (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



у меня есть функция которая выводит фотографии для определённой новости))))
проблема в том как при переходе на другие фотографии в новости 
делать вот эту переменной уникальной imggo и  imggo1 для каждой  новости 
можно приписать ей $cfg2 ,но в таком случае как быть вот с этой строкой кода 
просто присвоить $imggo.$cfg2 
Код

if($imggo>0){$ss=$imggo*3;}else{$ss=$imggo1*3;}


подскажите пожалуйста выход из ситуации может есть другой выход 


Код

function vivodimg($namenews){
global $db,$myfotki,$mygood,$kab,$red,$imggo;

$namenews=mysql_escape_string($namenews);
$cfg2++;

if($imggo>0){$ss=$imggo*3;}else{$ss=$imggo1*3;}
$parse1=$db->sql_query("SELECT * from img WHERE name='$namenews' and gde='blog' limit $ss,3") or die(mysql_error());
$parse=$db->sql_query("SELECT * from img WHERE name='$namenews' and gde='blog'") or die(mysql_error());

echo '<table cellpadding="0" cellspacing="0" border="0" align="center">';

echo '<tr>';
$p=$mygood[0];



if($kab=='редактировать новость' or $kab=='редактировать'){

if($db->sql_numrows($parse)>3 or $cfg2>3){
if($imggo1>0){$cfg2-$imggo1;
}
echo '<td><a href="index.php?imggo1='.$cfg2.'&kab=редактировать новость&namenews='.$p.'&red='.$red.'"><<</a></td>';}
}else{
if($db->sql_numrows($parse)>3 or $cfg2>3){

echo '<td><a href="index.php?imggo1='.$cfg2.'&go=1&kab=0&namenews='.$p.'&red='.$red.'"><<</a></td>';}}
while($datt=$db->sql_fetchrow($parse1)){
if($db->sql_numrows($parse1)>0){
echo '<td align="center">';
echo '&nbsp;<img src="'.$datt['path'].'" width=100px" border="0">&nbsp;';


if($_SESSION["adm"]==3){
echo '<br><input type="checkbox" name="myfotki[]" value="'.$datt['id'].'">';}
echo '</td>';
}else{ echo '<td></td>';}}


if($kab=='редактировать' or $kab=='редактировать новость'){

if($imggo>0){$cfg2+$imggo;}
if($db->sql_numrows($parse)>3 or $cfg2>3){

echo '<td><a href="index.php?imggo='.$cfg2.'&kab=редактировать&red='.$red.'">>></a></td>';}
}else{

if($db->sql_numrows($parse)>3 or $cfg2>3){
echo '<td><a href="index.php?imggo='.$cfg2.'&go=1&kab=0&red='.$red.'">>></a></td>';}}
echo '</tr>';

echo '</table>';
}


PM MAIL   Вверх
MoLeX
Дата 30.11.2009, 11:39 (ссылка) |   (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



 smile а если написать русским языком?


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
supervladislav
Дата 30.11.2009, 13:22 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



Когда появляются ссылки 
у них одна и таже переменная для перехода к след фотографиям ))когда нажимаешь на стрелку следующей фотографий происходит переход как 
в новости в которой относится данная группа фотографий так и всех других ))для ентого нужно генерить надо присоеденить в конец инд номер  ,что бы получилось
imggo1.$cfg2  ))))   
Код

echo 'imggo1'.$cfg2.'';


как проверять потом эту переменную ))))
что-то такое 
Код

if($imggo1.индиф)

как вот эту строчку переделать с условием добавления числа )))скажем $cfg 
Код

if($imggo>0){$ss=$imggo*3;}else{$ss=$imggo1*3;}


Код

echo '<td><a href="index.php?imggo1='.$cfg2.'&go=1&kab=0&namenews='.$p.'&red='.$red.'"><<</a></td>';

PM MAIL   Вверх
gta4kv
Дата 30.11.2009, 13:58 (ссылка) |    (голосов:7) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Вы, наверное, единственный человек на этом форуме, чей код с каждым разом становиться все хуже и хуже, а вопросы все не понятнее и не понятнее..

Это сообщение отредактировал(а) gta4kv - 30.11.2009, 13:58
PM MAIL   Вверх
supervladislav
Дата 30.11.2009, 14:09 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



ну наверное 
PM MAIL   Вверх
Sanchezzz
  Дата 1.12.2009, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Может сделать проше?

Вот держи в помощь унылой жабе=) готовенькое. уже давно использую.

Файл  imgresize.php
Код

/*
$src = путь
$width=73, ширина
$height=63 высота
$rgb цвет фона 
$quality качество 
*/
function img_resize($src, $width=73, $height=63, $rgb=0xFFFFFF, $quality=100){    
  $src = $_SERVER['DOCUMENT_ROOT'].$src; //Путь
  if (!file_exists($src)) return false;

  $size = getimagesize($src);

  if ($size === false) return false;

  $format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
  $icfunc = "imagecreatefrom" . $format;
  if (!function_exists($icfunc)) return false;

  $x_ratio = $width / $size[0];
  $y_ratio = $height / $size[1];

  $ratio       = min($x_ratio, $y_ratio);
  $use_x_ratio = ($x_ratio == $ratio);

  $new_width   = $use_x_ratio  ? $width  : floor($size[0] * $ratio);
  $new_height  = !$use_x_ratio ? $height : floor($size[1] * $ratio);
  $new_left    = $use_x_ratio  ? 0 : floor(($width - $new_width) / 2);
  $new_top     = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2);

  $isrc = $icfunc($src);
  $idest = imagecreatetruecolor($width, $height);

  imagefill($idest, 0, 0, $rgb);
  imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0, 
    $new_width, $new_height, $size[0], $size[1]);

  imagejpeg($idest /*, $dest, $quality*/);

  imagedestroy($isrc);
  imagedestroy($idest);
  //return true;
}


header("Content-type: image/jpeg");
if (isset($_GET['url']) and $_GET['url']!=''){
    $w = (isset($_GET['w']) && intval($_GET['w'])!='') ? $_GET['w'] : 73;
    $h = (isset($_GET['h']) && intval($_GET['h'])!='') ? $_GET['h'] : 63;
    $c = (isset($_GET['c']) && $_GET['c']!='') ? "0x".$_GET['c'] : 0xFFFFFF;
img_resize($_GET['url'],'', $w ,$h , $c);
}


В чем суть вы храните одну детальную картинку и выводите таким размером каким хотите 

<img src="/imgresize.php&url=/upload/kartinka.jpg&h=150&w=220&t=<?=time()?>">

Метод работает и для аякса...

Пример делаем показ картинки с подгрузкой из аякса... 

Файл ajax.php
Код

<?
    if($_POST['image']!=''){
            if(file_exists($_SERVER['DOCUMENT_ROOT'].$_POST['image']))
                $filepath = $_SERVER['DOCUMENT_ROOT'].$_POST['image'];

                //image_type_to_mime_type()
            //    print 'd';
                $size = getimagesize($filepath);
                $wr = 50; $hr = 50;
                if(!$size===true){print 'немогу загрузить изображение!!!';}else{

                if($size[0] >= 800) $wr= 800; else $wr = $size['0'];
                if($size[1] >= 640) $hr= 640; else $hr = $size['1'];

                //print "<img src=\"/resize_image.php?url=".$_POST['file']."&amp;w=$wr&amp;h=$hr\" width=\"$wr\" height=\"$hr\" />";
                print '<img  style="border:2px solid #525252;" src="'.$_POST['image'].'" width="'.$wr.'" height="'.$hr.'" />';
                    //include 'resize_image.php?url=';
                }
                //width
    }
?>



Css стиль сделать в  файл..

Код

#overlay {
  position: fixed;
  z-index:100000;
  top: 0px;
  left: 0px;
  height:100%;
  width:100%;
  display: none;

  text-align:center;

}

.overlayBG {
  background-color:#000000;
  filter:alpha(opacity=75);
  -moz-opacity: 0.75;
  opacity: 0.75;
}

* html #overlay { /* ie6 hack */
     position: absolute;
     height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
}

#imageconteiner {
display:none;
position:absolute;
position: fixed;
width:100%;
text-align:center;
z-index: 100001;
color:#000000;
display:none;
top:15%;
/*left:25%;*/
}
*html #imageconteiner { /* ie6 hack */
position: absolute;
/*margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');*/
}


HTML код: С JS под фреймворк jquery

Код

<body>
<div id="imageconteiner"></div>
<div id="overlay" class="overlayBG"></div>

<script type="text/javascript">
function endAnim(){
    $('div#imageconteiner').css('display','none').hide(300);
    $('div#overlay').css('display','none');
    $('div#imageconteiner').html('');
}

function startAnim(){
$('div#overlay').css('display','block');
$('div#imageconteiner').css('display','block').show(300);

}

function getImage(file){
$.post("\ajax.php", { image: file },
  function(data){
   $('div#imageconteiner').html(data);
   startAnim();
  }, "html");
}



$('div#overlay').bind('click', function(e){
//e = new Event(e);
endAnim();
//e.stop();
});

$('div#imageconteiner').bind('click', function(e){
//e = new Event(e);
endAnim();
//e.stop();
});
</script>


Это обезательно после боди вставлять.

Код

<div id="imageconteiner"></div>
<div id="overlay" class="overlayBG"></div>


JS код под mootools
Код


<script type="text/javascript">
var myTransition = new Fx.Transition(Fx.Transitions.Elastic, 3);
var fx = new Fx.Tween('imageconteiner', {
    property: 'opacity',
    transition: Fx.Transitions.Quad.easeOut,
    delay:1000, duration:1000,
    wait:false, link: 'chain' 
});


$('overlay').addEvent('click', function(e){
e = new Event(e);
endAnim();
e.stop();
});

function startAnim(){
var vv = $(document.body).getSize();
$('overlay').setStyle('display','block');
$('imageconteiner').setStyle('display','block');
fx.start(0,1);    
}

function endAnim(){
    $('imageconteiner').setStyle('display','none');
    $('overlay').setStyle('display','none');
}

function ajaxPrepare(body){
var param_str="";
    if(typeof(body) == "string"){
        param_str = body.replace(/^\?/, "");
    }else if(typeof(body) == "object"){
        for(var name in body){
            if (!body.hasOwnProperty(name)) continue;
            if (name != '')
                param_str += "&" + name + "=" + body[name];
        }
    }
return param_str;
}

function SendAjax(Parms,reqID){
$(document.body).getSize().y
    var dealogdata = new Request.HTML({
            method: 'post',
            url:'/ajax.php',
            evalScripts:true,
            data:ajaxPrepare(Parms),
            onRequest: function(){
            $(reqID).set('html', '');                
            },    
            onSuccess: function(a,b,c){
            $(reqID).set('html',c);
            },
            onFailure: function() {}   
            }).send();
}

function getImage(url){
SendAjax({image:url},'imageconteiner');
startAnim();
}
</script>


Может что то где то не так со стороны JS, firebug в помощь... Счасливо!


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
MoLeX
Дата 1.12.2009, 09:47 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Sanchezzz, мне жалко сервер который при каждом обращении создает превью для картинки


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Sanchezzz
  Дата 1.12.2009, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Это всеголишь пример.. небезательно юзать его да и на малых сайтах в полне нормально использовать. 

Применение одно если вам нужно сохранить оригинал картинки и уменьшить ее до детальной, для привьюшки придется при заполненние БД сжимать и сохранять.

Либо делать все ручками резать сжимать прописывать.


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
supervladislav
Дата 1.12.2009, 19:10 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: -8
Всего: -9



Енто я могу сделать сам)))
У меня не выходит вот такая вещь)))
чтобы фотография выводилась в новости я использую функцию vivodimg()
 при прокрутке фотографий влево вправо если их больше 3 для этой новости появляются стрелки влево и вправо ))
мне надо эту переменную сделать уникальной  чтобы она для аждой новости была своя ,а потом как-то проверять на наличие числа в ней
 
Код

imggo1'.$cfg2.'

Код

echo '<td><a href="index.php?imggo1'.$cfg2.'='.$cfg2.'&go=1&kab=0&namenews='.$p.'&red='.$red.'"><<</a></td>';



Это сообщение отредактировал(а) supervladislav - 1.12.2009, 19:41
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0553 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.