![]() |
|
||||||||||
|
|||||
|
<?php
$items = "16"; $image_path = "photo/thumbJPG/"; mysql_connect('localhost', 'gmarik', 'Photoshop7'); mysql_select_db('art110_appl'); $sql = "SELECT * FROM ab_photo WHERE Cat='$cat' LIMIT 0,$items"; $result = mysql_query($sql); ?> <html> <head> <title><?php echo $siteName . " :: " . $siteURL; ?></title> <meta name="keywords" value="<?php echo $siteKeywords; ?>"> <meta name="description" value="<?php echo $siteDescription; ?>"> <link rel="stylesheet" type="text/css" href="ab_style.css"> </head> <body> <?php if($items==16){ echo "<table><tr><td>table1</td></tr></table>" } else{ echo "<table><tr><td>table2</td></tr></table>" };?> </body> </html> Как написать, чтобы юзер мог, нажав на ссылку (или еще как-то) изменить значение $items==9 на $items==16, и от того бы он получил одну из этих таблиц. Это типа foto.php?cat=iSes&mode=16 (don't know actually!!) and foto.php?cat=iSes&mode=9 или все намного проше? Ром, ты же поможешь вот только с этим,а то в на мальенком мониторе плохо, когда много фоток, а на большом - надо именно 16.
__________________
Нужен новый динамический сайт? Решения для нового века. Marco Tech Скыни для форумов | Комплект кнопок | Фотошоп | Шаблоны сайтов | PHP |
|
|||||
|
Теоретик и Практик
|
нихрена не понял... четче формулируй задачу!!!
я увидел 2 разные проблемы: 1. тебе надо, чтоб на большом разрешении у юзера показывалось 16 фото, а если на маленьком - 9. 2. тебе надо дать юзеру возможность нажатием кнопочки выбрать, удобнее ему 16 или 9 картинок. выходы: 1. при загрузке вызывай яваскрипт, который определит разрешение клиента, и соответственно перепишет (напишет ) фрагмент пхп-кода.2. тупо ставь кнопку или селект, по нажатию отправляй данные на ту же страницу, но вставляя необходимое значение куда надо. метод передачи значения не имеет особого значение - GET или POST, решать тебе, как будет удобнее. можешь эти данные даже в сессию записать, чтоб потом, в процессе прохода по страницам, не передавать повторно если все-таки я не так понял и не то сморозил - читай первую строчку поста. и еще одно: еще раз пришлешь приватом такое сообщение - настучу модераторам. и сделают тебе такой же плюсик, как у мення. потому что то, что ты сделал называется СПАМОМ!!! и терпеть спам на нашем любимом форуме мы не намерены!!! ![]() |
|
|||||
|
taken from
Все работало, когда таблица состояла от читсого HTML, но после строчки, где картинка вызивается из БД, php код сривается и не хочет пахать. Поэтому я поставил echo в начале каждой строчки, но это не помогло. if($items==16){ echo "<table align="center" cellpadding="0" cellspacing="0" width="790" height="400">"; echo "<tr>"; echo "<td width="537" valign="top" height="39" colspan="2"> <p> </p></td>"; echo "<td width="345" height="39"> <p> </p></td>"; echo "</tr>"; echo "<tr>"; echo "<td width="525" valign="top" height="361" rowspan="3"> <table cellpadding="0" cellspacing="0" width="507">"; echo "<tr>"; echo "<td width="139"> <table class="box" cellpadding="0" cellspacing="0" width="96" height="96">"; echo "<tr>"; echo "<td width="1250"> <p align="center"> "; echo "<? $row = mysql_fetch_array($result) ?>"; echo "<a href="zoom.php?id=<? echo $row['id'] ?>"> <img alt="<? echo $row['date' ] ?> - <? echo $row['author' ] ?>" border="0" src="<? echo $image_path . $row['url'] ?>" /> </a><br>"; // Виновата именно эта строчка, только как ее обмануть, чтобы заработала? Пробовал тремя способами, все некак. echo "<? echo $row['source'] ?> </p></td>"; echo "</tr>"; echo "</table>"; echo "</td>"; Теперь, если можете, укажите на ошибку. Также нужна пагинация, в зависимости от значения $items==16. В Dreamweaveer MX и множ прочитанных туториалов по этому поводу мольчали, там все попроше и вот потому у меня не крутится. Тогда, получается, это должно виглядеть вот так: foto.php?cat=iSes&mode=16&page=1 ? <?php $page = @$_GET["page"]; $start = @$_GET["start"]; if(!is_numeric($page) || $page < 1) $page = 1; if($page == 1) $start = 0; else $start = ($page * $itemsPerPage) - $itemsPerPage; $numRows = mysql_num_rows(mysql_query("select id from ab_photo")); ?> <?php if($page > 1) $nav .= "<a href='foto.php?cat=$cat&mode=16&page=" . ($page-1) . "'><u>« Назад</u></a> | "; for($i = 1; $i <= ceil($numRows / $itemsPerPage); $i++) if($i == $page) $nav .= "<a href='foto.php?cat=$cat&mode=16&page=$i'><b>$i</b></a> | "; else $nav .= "<a href='foto.php?cat=$cat&mode=16&page=$i'>$i</a> | "; if(($start+$newsPerPage) < $numRows && $numRows > 0) $nav .= "<a href='foto.php?cat=$cat&mode=16&page=" . ($page+1) . "'><u>Дальше »</u></a>"; if(substr(strrev($nav), 0, 2) == " |") $nav = substr($nav, 0, strlen($nav)-2); echo $nav . "<br> "; ?> Про яваскрипт я уже сам додумал, но как то у мня яваскрипт с пхп в голове плохо вместе живут. А про то, что инфо надо держать в сессии, а сам выбор делать через select = это очень даже не слабо. Но чо то неподскажешь, где бы я нашел инфо, про то как напсать этот <option> который отсилает в session эту инфо про разрешение?
__________________
Нужен новый динамический сайт? Решения для нового века. Marco Tech Скыни для форумов | Комплект кнопок | Фотошоп | Шаблоны сайтов | PHP |
|
|||||
|
Cессии не передаются и из за того, теперь нет ничего. Л. - почему нужна index.php страница, ведь можно без, или нет. Помоему теперь виновата именно она. Хотя я уже запутался, трудно понять все ошибки, но их все уже перечислил выше.
index.php <? session_start(); if (isset($_POST['items'])) { if ($_POST['items'] == 16 || $_POST['items'] == 9 ) { $_SESSION['items'] = $_POST['items']; } header("Location: " . $_SERVER['PHP_SELF'] . ""); } ?> <form name="form" method="post" action=""> Select Items: <select name="items" title="Photo" onChange="this.form.submit()"> <option selected></option> <option>9</option> <option>16</option> </select> preview.php $items = $_SESSION['items']; $cat = $_GET['cat']; $page = $_GET['page']; а эти строчки нужни в этом файле? <? session_start(); if (isset($_POST['items'])) { if ($_POST['items'] == 16 || $_POST['items'] == 9 ) { $_SESSION['items'] = $_POST['items']; } header("Location: " . $_SERVER['PHP_SELF'] . ""); } ?> это как бы остволяю, но толко всеравно нет, ничего не происходит. <form name="form" method="post" action=""> Select Items: <select name="items" title="Photo" onChange="this.form.submit()"> <option selected></option> <option>9</option> <option>16</option> </select> </form> [РАЗМЕРОМ=4]S.O.S.[/РАЗМЕРОМ] Кусок кода из одной фото галереи, может тут че и есть, незнаю, может все никчему. Братци, что же вы молчите, это же форум, не диалог ... монолог... с коментариями с моей стороны. * Construct a selection menu based on an array passed to the method * * @param array $multiple */ function select_gallery($multiple=array() ) { global $HTTP_GET_VARS; // reset page-index to page 1 $HTTP_GET_VARS[$this->page] = 0; // construct selection-form $str .= "\n<form name=\"navigator\" method=\"get\">\n"; $str .= "<select name=navMenu style=\"font:9pt\" onChange=\"return go_menu(navigator.navMenu);\" size=\"1\">\n"; $str .= "<option>select ...</option>\n"; for($i=1; $size=count($multiple), $i<=$size; $i++) { $str .= sprintf("<option value=\"?%s\" %s>%s</option>\n", $this->url($this->gallery, "$this->gallery=$i" ), ($HTTP_GET_VARS[$this->gallery] == $i ? "selected" : ""), $multiple[$i][3] ); } $str .= "</select>\n"; $str .= "</form>\n\n"; return $str; }
__________________
Нужен новый динамический сайт? Решения для нового века. Marco Tech Скыни для форумов | Комплект кнопок | Фотошоп | Шаблоны сайтов | PHP |
|
|||||
|
Теоретик и Практик
|
уууууу... какой ты
![]() так много кода боюсь читать однако, для мозгов напряжно в этом случае вспоминается старая программерская истина: лучше написать по новому, нежели ковырять старое, тем более чужие исходники. у тебя тут такая мутня написана, что голову сломать можно. а все из-за того, что ты забыл про одну очень полезную вещь - отделение логики от содержимого . у тебя такая каша... и поэтому у тебя сюда уже и не вяжется яваскрипт, и глюки появляются... разбей все на части, напиши повтояющиеся вещи функциями и тогда будем говорить. а такую кучу кода лопатить - не наше дело. время надо использовать рационально. а говорю я тебе все это не потому, что я такой ворчун, а только для того, чтоб ты хотя бы задумался о том, как надо оптимально писать код. чтоб было удобно и понятно. лучше научиться этому сразу. потом руки уже не дойдут - проверено не раз и не на одном горе-программере |
|
|||||
|
Цитата:
|
![]() |
Часовой пояс GMT +4, время: 02:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|