Jump to content

lapwing

User
  • Posts

    57
  • Joined

  • Last visited

Everything posted by lapwing

  1. Подождите, подождите. Не забудте про меня. Кто нибудь может назвать конкретные имена дизайнеров и дать ссылки на портфолио, с тем чтобы потом я смог обратиться к верстальщику и меня не обматерили бы?
  2. Здравствуйте! Может не совсем правильно выбрал подраздел для своего вопроса, но решил спросить здесь из тех соображений, что сюда наверное чаще всего заходят верстальщики. Видел на форуме(сейчас уже не могу найти где именно) обсуждение работы дизайнеров в том смысле, что бывают толковые дизайнеры, после которых верстать одно удовольствие, а бывают не очень - такое наваяют, что потом и не сверстаешь. Опять же картинка должна быть в каком то определенном формате. Подскажите кто с кем работал, чтобы потом было поменьше проблем с версткой? Может ссылки какие на примеры работ?
  3. Взял вот так сделал: $b = 1; while($row = mysql_fetch_array($result)) { $a = 'ppy'; $ppy = $a."".$b; echo " <div class='example'> <h3>".$row['heading']."</h3> <div class='ppy' id='$ppy'> ........ </div> </div>;" $b = $b+1; } и в нижнем скрипте ...... $('#ppy1').popeye(options2); $('#ppy2').popeye(options2); $('#ppy3').popeye(options2); ........ Не знаю насколько допустимо id приcваивать не значение, а переменную, но желаемого результата достиг. Спасибо СЕВЕР, надо мне изучать JS. Кстати rus натолкнул меня на мысль сделать цикл со счетчиком, тоже спасибо.
  4. Я понимаю, что для вас это просто, а я сижу и туплю. Может распишете хоть чуть-чуть поподробнее или ссылку что ли на подходящий пример дадите?
  5. Почему onClick? Событие же должно происходить не по клику, а при каждом прохождении цикла?
  6. Здравствуйте! Наткнулся на фотогалерею http://dev.herr-schuessler.de/jquery/popeye/demo.html, понравилась тем, что на одной странице и листаешь фото и увеличиваешь по клику.(пример №2). Попробовал прикрутить себе. Из БД выводятся записи и хотел чтобы к каждой записи выводилось также и фото, т.е. скрипт должен работать в цикле. Скрипт работает, но выводятся только фотки к последней записи. При помощи Searcher и rus (спасибо им) понял что не работает из-за id ppy2. Т.е. насколько я понял этот идентификатор используется для обращения к нему из скрипта, а при попытке загнать выполнение скрипта в цикл, возникает проблема того, что идентификатор встречается несколько раз на странице, т.е. не уникален, чего быть не должно. Возможно ли переделать скрипт или он вообще не предназначен для многократного использования? Вот кусок кода <body> <?php include_once("../../connection.php"); $result = mysql_query('SELECT heading,message,tel,name,path1big,path1small,path2big,path2small FROM information WHERE operid = "s_kv" ORDER BY informid DESC LIMIT '.$start_pos.','.$perpage) or die('error Что то не выбирает'); while($row = mysql_fetch_array($result)) { printf(" <div class='example'> <h3>".$row['heading']."</h3> <div class='ppy' id='ppy2'> <ul class='ppy-imglist'> <li><a href='".$row['path1big']."'><img src='".$row['path1small']."' alt='' /></a></li> <li><a href='".$row['path2big']."'><img src='".$row['path2small']."' alt='' /></a></li> </ul> <div class='ppy-outer'> <div class='ppy-stage'> <div class='ppy-counter'> <strong class='ppy-current'></strong> / <strong class='ppy-total'></strong> </div> </div> <div class='ppy-nav'> <div class='nav-wrap'> <a class='ppy-next' title='Следующая'>Следующая</a> <a class='ppy-prev' title='Предыдущая'>Предыдущая</a> <a class='ppy-switch-enlarge' title='Увеличить'>Увеличить</a> <a class='ppy-switch-compact' title='Закрыть'>Закрыть</a> </div> </div> </div> </div> <p>".$row['message']."<br /> </p> <p>".$row['name']." Тел.".$row['tel']."<br /> </p> </div> <br />"); } ?> <!-- [example js] begin --> <script type="text/javascript"> <!--//<![CDATA[ $(document).ready(function () { var options2 = { caption: false, navigation: 'permanent', direction: 'left' } var options3 = { caption: 'permanent', opacity: 1 } $('#ppy1').popeye(); $('#ppy2').popeye(options2); $('#ppy3').popeye(options3); }); //]]>--> </script> <!-- [example js] end --> </body>
  7. Вотhttp://forum.htmlbook.ru/index.php?showtopic=22359
  8. Пытался разобраться, ни хренасики не получается. А если на коммерческой основе? Сколько это будет стоить?
  9. Вот ссылка http://www.harthaus.ru/apartament/. Предыдущая запись тоже с фото и когда я убираю у ul ppy-imglist они выводятся, пробовал последовательно убирать в ppy-imglist строки, но ничего не меняется. Подскажите верный путь.
  10. Здравствуйте! Увидел интересную галерею http://dev.herr-schuessler.de/jquery/popeye/demo.html. Пример №2.Пробую прикрутить. На сайте есть раздел вроде доски объявлений - хотелось бы чтобы к каждой записи выводился блок фотографий. Проблема в том, что фото выводятся только к последней записи. Убрал у тега ul стиль ppy-imglist - фото выводятся к каждой записи (конечно криво, но они есть). Поэтому возникла догадка, что при каждом последующем выводе записи из БД блок фотографий просто накладывается на предыдущий. Верно ли? И как это можно исправить? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title></title> <link rel="stylesheet" type="text/css" href="http://www.harthaus.ru/main.css" media="screen" /> <link rel="stylesheet" type="text/css" href="http://www.harthaus.ru/ppy/css/popeye/jquery.popeye.css" media="screen" /> <link rel="stylesheet" type="text/css" href="http://www.harthaus.ru/ppy/css/popeye/jquery.popeye.style.css" media="screen" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript" src="http://www.harthaus.ru/ppy/lib/popeye/jquery.popeye-2.0.4.min.js"></script> </head> <body> <div id="wrap"> <div id="content"> <?php include_once('../blocks/sidebar.php');?> <div id="maincontent"> <?php include_once("../../connection.php"); $result = mysql_query('SELECT heading,message,tel,name,path1big,path1small,path2big,path2small FROM information WHERE operid = "s_kv" ORDER BY informid DESC LIMIT '.$start_pos.','.$perpage) or die('error Что то не выбирает'); while($row = mysql_fetch_array($result)) { printf(" <div id='page-margins'> <div class='example'> <h3>".$row['heading']."</h3> <div class='ppy' id='ppy2'> <ul class='ppy-imglist'> <li><a href='".$row['path1big']."'><img src='".$row['path1small']."' alt='Продажа квартир' /></a></li> <li><a href='".$row['path2big']."'><img src='".$row['path2small']."' alt='Продажа квартир' /></a></li> </ul> <div class='ppy-outer'> <div class='ppy-stage'> <div class='ppy-counter'> <strong class='ppy-current'></strong> / <strong class='ppy-total'></strong> </div> </div> <div class='ppy-nav'> <div class='nav-wrap'> <a class='ppy-next' title='Следующая'>Следующая</a> <a class='ppy-prev' title='Предыдущая'>Предыдущая</a> <a class='ppy-switch-enlarge' title='Увеличить'>Увеличить</a> <a class='ppy-switch-compact' title='Закрыть'>Закрыть</a> </div> </div> </div> </div> <p>".$row['message']."<br /> </p> <p>".$row['name']." Тел.".$row['tel']."<br /> </p> </div> </div> <br />"); } ?> </div> <?php include_once('../blocks/p_sidebar.php');?> </div <br style="clear:both;" /> <?php include_once('../blocks/footer.php');?> </div> <!-- [example js] begin --> <script type="text/javascript"> <!--//<![CDATA[ $(document).ready(function () { var options2 = { caption: false, navigation: 'permanent', direction: 'left' } var options3 = { caption: 'permanent', opacity: 1 } $('#ppy1').popeye(); $('#ppy2').popeye(options2); $('#ppy3').popeye(options3); }); //]]>--> </script> <!-- [example js] end --> </body> </html> Стили .example{ margin: 0 0 2em 0; border-bottom: 1px solid #ddd; } #page-margins { width: 500px; margin: 0 auto; padding: 0 0 3em 0; } .ppy-imglist { width: 100%; display: block; overflow: hidden; } .ppy-imglist li { padding: 10px; border: 1px solid #f0f0f0; border-radius: 5px; -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; background: #FFF; list-style: none; float: left; display: block; margin: 0 10px 10px 0; } .ppy-imglist li a img { display: block; border: 0; } /* popeye example 2 */ #ppy2.ppy-active { width: 224px; float: right; margin: 0 0 10px 20px; } #ppy2 .ppy-outer { padding: 0 46px 0 0; } #ppy2 .ppy-stagewrap { padding: 7px; border-radius: 5px 0 5px 5px; -moz-border-radius: 5px 0 5px 5px; -webkit-border-radius: 5px 0 5px 5px; background: #cleaff; background: rgba(193,234,255,0.7); } #ppy2 .ppy-stage { width: 160px; height: 160px; border: 2px solid #fff; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; background-color: #777; } #ppy2 .ppy-counter { background: #FFF; color: #333; padding: 0 5px; font-size: 0.8em; position: absolute; bottom: 0; right: 0; opacity: 0.7; border-radius: 5px 0 0 0; -moz-border-radius: 5px 0 0 0; -khtml-border-radius: 5px 0 0 0; -webkit-border-radius: 5px 0 0 0; } #ppy2 .ppy-loading { background-image: url(../../gfx/popeye/loading2.gif); background-repeat: no-repeat; background-position:center; } #ppy2 .ppy-nav { border-radius: 0 5px 5px 0; -moz-border-radius: 0 5px 5px 0; -webkit-border-radius: 0 5px 5px 0; background: #76c6ee; background: -webkit-gradient( linear, left top, right bottom, color-stop(0, rgb(118,198,238)), color-stop(1, rgb(45,158,214)) ); background: -moz-linear-gradient( left top, rgb(118,198,238) 0%, rgb(45,158,214) 100% ); border-left: 1px solid #6ab1d5; width: 45px; position: absolute; top: 4px; right: 0; } #ppy2 .nav-wrap { padding: 5px 0; } #ppy2 .ppy-nav a { display: block; overflow: hidden; text-indent: -900em; height: 22px; padding: 5px; border-radius: 0 5px 5px 0; -moz-border-radius: 0 5px 5px 0; -webkit-border-radius: 0 5px 5px 0; width: 30px; } #ppy2 .ppy-prev { background: url(../../gfx/popeye/prev3.png) no-repeat center; } #ppy2 .ppy-next { background: url(../../gfx/popeye/next3.png) no-repeat center; } #ppy2 .ppy-switch-enlarge { background: url(../../gfx/popeye/enlarge4.png) no-repeat center; } #ppy2 .ppy-switch-compact { background: url(../../gfx/popeye/compact4.png) no-repeat center; } #ppy2 .ppy-nav a:hover { background-color: #378eba; cursor: pointer; opacity: 0.8; }
  11. Возможно ли делать так: ini_set('memory_limit', '32M'); $maxsize = 65536; $extentions = array( "gif","txt","jpg","jpeg","png","psd"); $type = strtolower(substr($_FILES['file']['name'][$i], 1+strrpos($_FILES['file']['name'][$i],"."))); $new_name = 'file-'.time().'.'.$type; if($_FILES['file']['size'][$i] > $maxsize) { $err = '<li>Произошла ошибка: размер фото больше 64Кб</li>'; } elseif(!in_array($type,$extentions)) { $err = $err.'<li>Произошла ошибка: файл имеет недопустимое расширение</li>'; } if (!empty($err)) { echo "$err"; exit("<br /><input name='back' type='button' value='Вернуться назад' onclick='java script:self.back();'>"); } else { if (copy($file, "uploads/".$new_name)) И дальше делаем с файлами то , что нам нужно; } ..................................... header( 'Location: '.$_SERVER['PHP_SELF']; Можно, видимо и наоборот: if (!$err) { copy($file, "uploads/".$new_name); и дальше работаем с файлами..... header( 'Location: '.$_SERVER['PHP_SELF']; } else { echo "$err"; exit; } Второй вариант похоже предпочтительней?
  12. В смысле, если количество ошибок равно нулю, тогда переадресовываем? Спасибо, сейчас буду пробовать.
  13. Я вот как раз этого и не улавливаю. Если будет ошибка, то нужно об этой ошибке сообщить и вывести это сообщение(и тогда переадресация не нужна), а если ошибок не будет, то пользователя переадресовываем. Т.е. получается, надо или проверку вставлять куда-то в другое место - а, куда ее еще вставишь-только в цикл, надо же проверять каждый из файлов или , если форма заполнена без ошибок и файлы прикреплены нормальные, перенаправлять пользователя куда-либо, может не на эту страницу, на другую? Может это можно каким то другим способом сделать?
  14. Здравствуйте! Прошу помочь разобраться. Есть скрипт отправки почты с вложением нескольких файлов - только картинки или фотографии плюс проверка на размер файла ( до 64 Кб). Вот кусок скрипта: <?php session_start(); $admin = 'pochta@mail.ru'; if ( isset( $_POST['sendMail'] ) ) { $name = substr( $_POST['name'], 0, 64 ); $tel = substr( $_POST['tel'], 0, 64 ); $email = substr( $_POST['email'], 0, 64 ); $subject = substr( $_POST['subject'], 0, 64 ); $message = substr( $_POST['message'], 0, 250 ); $error = ''; if ( empty( $name ) ) $error = $error.'<li>Не заполнено поле "Имя"</li>'; if ( empty( $tel ) ) $error = $error.'<li>Не заполнено поле "Телефон"</li>'; if ( empty( $email ) ) $error = $error.'<li>Не заполнено поле "E-mail"</li>'; if ( empty( $subject ) ) $error = $error.'<li>Не заполнено поле "Тема"</li>'; if ( empty( $message ) ) $error = $error.'<li>Не заполнено поле "Сообщение"</li>'; if ( !empty( $email ) and !preg_match( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $email ) ) $error = $error.'<li>поле "E-mail" должно соответствовать формату somebody@somewhere.ru</li>'; if ( !empty( $error ) ) { $_SESSION['sendMailForm']['error'] = '<p>При заполнении формы были допущены ошибки:</p><ul>'.$error.'</ul>'; $_SESSION['sendMailForm']['name'] = $name; $_SESSION['sendMailForm']['tel'] = $tel; $_SESSION['sendMailForm']['email'] = $email; $_SESSION['sendMailForm']['subject'] = $subject; $_SESSION['sendMailForm']['message'] = $message; header( 'Location: '.$_SERVER['PHP_SELF'] ); die(); } $filepath = array(); $filename = array(); for( $i = 0; $i < count($_FILES['file']); $i++) { if ( !empty( $_FILES['file']['tmp_name'][$i] ) and $_FILES['file']['error'][$i] == 0 ) { $filepath[] = $_FILES['file']['tmp_name'][$i]; $filename[] = $_FILES['file']['name'][$i]; // проверка загружаемого файла ini_set('memory_limit', '32M'); $maxsize = 64 * 1024; $extentions = array( "gif","jpg","jpeg","png","psd"); $size = filesize ($_FILES['file']['tmp_name'][$i]); $type = strtolower(substr($_FILES['file']['name'][$i], 1+strrpos($_FILES['file']['name'][$i],"."))); $new_name = 'file-'.time().'.'.$type; if($size > $maxsize) { echo "Файл больше 64 Кб. Уменьшите размер вашего файла или загрузите другой. <br><a href='' onClick=window.close();>Закрыть окно</a>"; } elseif(!in_array($type,$extentions)) { echo ' <b>Файл имеет недопустимое расширение</b><br>'; } //конец проверки } } $body = "АВТОР:\r\n".$name."\r\n\r\n"; $body .= "ТЕЛЕФОН:\r\n".$tel."\r\n\r\n"; $body .= "E-MAIL:\r\n".$email."\r\n\r\n"; $body .= "ТЕМА:\r\n".$subject."\r\n\r\n"; $body .= "СООБЩЕНИЕ:\r\n".$message; if ( send_mail($admin, $body, $email, $filepath, $filename) ) $_SESSION['success'] = true; else $_SESSION['success'] = false; header( 'Location: '.$_SERVER['PHP_SELF'] ); die(); } При запуске ругается, говорит, что заголовки уже были посланы. Смысл ошибки я понял - перед header не должно быть echo. Как тогда сообщить о том, что файл большой или имеет недопустимое расширение?
  15. lapwing

    SELECT из БД

    Разобрался, спасибо за ответы.
  16. lapwing

    SELECT из БД

    Как составить запрос я примерно понимаю SELECT name FROM users INNER JOIN notes ON id.users = notesid.notes Дальше $rezult_name = mysql_query('SELECT name FROM users INNER JOIN notes ON id.users = notesid.notes') Я не понимаю, как объединить $result и $result_name(какой-нибудь $result_new), т.е. объединить эти два запроса в один, чтобы потом подставить в $row = mysql_fetch_array($result_new) Т.е. осуществить такую операцию: выбрать несколько полей из таблицы notes и одно поле из таблицы users при условии равенства полей id.users = notesid.notes.
  17. lapwing

    SELECT из БД

    Подскажите пожалуйста как сделать запрос из двух таблиц? Есть таблица users( `id` int (8) AI, `name` varchar(50), `login` varchar(50), `password` varchar(32), PRIMARY KEY (`id`) ) TYPE MySAM; И есть таблица notes( `notesid` int(8) AI, `message` text, `tel` varchar(50), `userid` int(8), PRIMARY KEY (`notesid`) ) TYPE MySAM В коде идет выборка: $result = mysql_query('SELECT message,tel FROM notes ORDER BY notes DESC ) or die('error Что то не выбирает'); И далее эти данные выводятся в табличку: while($row = mysql_fetch_array($result)) { printf("<table class='table_buy'> <tr> <td><span class='select'>Текст объявления: </span>".$row['message']."<br><span class='select'>Телефон: </span>".$row['tel']." </td> </tr> </table><br>"); } Как теперь сделать так, чтобы после сообщения и телефона выводилось имя написавшего сообщение. Иными словами, как задать такую связь: выбрать name из таблицы users, где id(users) = userid(notes) и это name подставить в цикл.
  18. ОК. Почитаю еще поподробнее, но в целом уже понятно.
  19. Все равно еще раз спасибо
  20. В общем и целом вроде бы разобрался. Код оставил практически без изменений, т.к. использую все три условия, а $a и $b нужны, я так понял, для определения добавлять или не добавлять следующее условие в зависимости заполнено поле или нет(т.е. пустая переменная или нет). Действительно нужен был пробел и еще фигурные скобки у переменных заменил на одинарные кавычки. Спасибо.Спасибо за подробный и понятный ответ. Еще хотел заодно спросить по поводу переменных: я проверяю их на существование, а затем обрабатываю - if (isset($_POST['col_kom'])){$col_kom = $_POST['col_kom'];} if (isset($col_kom)){$col_kom = htmlspecialchars(stripslashes($col_kom));} Вопросов собственно два: 1. нужно ли обрабатывать переменные, если пользователь не вводит значения с клавиатуры, а выбирает их из списка? и 2. дочитался тут до функции mysql_escape_string и думаю, может ее лучше использовать? что показывает опыт? в чем различие?
  21. Копаю весь вечер - ничего не могу понять, если задаю жестко: $result = "SELECT id,s_kv1,s_kv2,s_kv3,s_kv7,s_kv8,s_kv9,s_kv10,s_kv12 FROM sale_kv WHERE s_kv1='$col_kom'"; все получается, если вставляю этот кусочек кода - выдает ошибку $result = "SELECT id,s_kv1,s_kv2,s_kv3,s_kv7,s_kv8,s_kv9,s_kv10,s_kv12 FROM sale_kv WHERE"; ................ if($col_kom!=""){ $result .="s_kv1 = {$col_kom}"; $a=1; }else{$a=0;} ............... $result = mysql_query($result,$db); $myrow = mysql_fetch_array($result); Смысл кода вроде ясен - если переменная $col_kom не равно пустому значению, конкатенируем к $rezult условие s_kv1={$col_kom} Может, где-то в синтаксисе ошибка? Посмотрите пожалуйста.
  22. Спасибо за ответ. Теперь, правда, возникла другая проблема. Вот последующий код: ....... 1. $result = mysql_query($result,$db); 2. $myrow = mysql_fetch_array($result); 3. echo "<table class='long' cellspacing='2' cellpadding='0'>"; do{ echo "<tr class='table_sale'>". "<td>"."<a href='view_rezult.php?b=sale_kv&id=".$myrow['id']."'>".$myrow['s_kv1']."</a>"."</td>". "<td>".$myrow['s_kv2']."</td>". "<td class='o'>".$myrow['s_kv3']."</td>". "<td>".$myrow['s_kv7']."</td>". "<td>".$myrow['s_kv8']."</td>". "<td>".$myrow['s_kv9']."</td>". "<td>".$myrow['s_kv10']."</td>". "<td>".$myrow['s_kv12']."</td>". "</tr>"; 14. } while($myrow = mysql_fetch_array($result)); echo "</table>"; Т.е. я пытаюсь вывести результаты поиска. Пишет, что в строке 2 и 14 ошибка - mysql_fetch_array() expects parameter 1 to be resource, boolean given in. В чем ошибка? Подскажите пожалуйста.
  23. Подскажите пожалуйста, как решить проблему: имеется форма поиска с полями col_kom, raion, cost. Имеется запрос к БД $result = mysql_query("SELECT * FROM sale_kv WHERE s_kv1 = '$col_kom' AND s_kv2 = '$raion' AND s_kv11 <= '$cost' ORDER BY id DESC"); В этом случае выборка производится по всем трем значениям. Как переделать запрос под тот случай, если пользователь заполнил только два поля или одно. К примеру количество комнат (col_kom) его не интересует и район (raion) тоже, лишь бы цена (cost) была меньше им заданной?
  24. Ошибку нашел. Закрывайте тему.
  25. Здравствуйте! Вопрос вот в чем - тестирую в FF - нормально, в IE7 и Opera получается первая запись съезжает вправо. Вот код case 'sale_kv' : $result = mysql_query("SELECT id,s_kv1,s_kv2,s_kv3,s_kv7,s_kv8,s_kv9,s_kv10,s_kv12 FROM sale_kv ORDER BY id DESC",$db); $myrow = mysql_fetch_array($result); printf ("<table cellspacing='2' cellpadding='0'>"); printf ("<tr>"); printf ("<th id='table_sale_header'>Кол-во комнат</th>"); printf ("<th id='table_sale_header'>Район</th>"); printf ("<th id='table_sale_header'>Ориентир</th>"); printf ("<th id='table_sale_header'>Общ.пл.</th>"); printf ("<th id='table_sale_header'>Жил.пл.</th>"); printf ("<th id='table_sale_header'>Пл.кухни.</th>"); printf ("<th id='table_sale_header'>Состояние</th>"); printf ("<th id='table_sale_header'>Цена в тыс.руб.</th>"); printf ("</tr"); do{ printf ("<tr><td class='table_sale'><a href='view_rezult.php?b=sale_kv&id=%s'>%s</a></td><td class='table_sale'>%s</td> <td class='table_sale'>%s</td> <td class='table_sale'>%s</td> <td class='table_sale'>%s</td> <td class='table_sale'>%s</td> <td class='table_sale'>%s</td> <td class='table_sale'>%s</td></tr>", $myrow["id"],$myrow["s_kv1"],$myrow["s_kv2"],$myrow["s_kv3"], $myrow["s_kv7"],$myrow["s_kv8"],$myrow["s_kv9"], $myrow["s_kv10"],$myrow["s_kv12"]); } while($myrow = mysql_fetch_array($result)); printf ("</table>"); break; Вот что получается Подскажите, пожалуйста, где накосячил?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy