Вообщем переделываю свой вариант на нормальный вариант... Вообщем в html-документе в виде index.php есть div в который я хочу вывести таблицу, состоящая из 3 столбцов, а строки зависят от кол-ва картинок . 1 столб- выводится фото 2 столб- выводится описание места 3 столб-выводится отзыв о месте Ранее я реализовал всё в одном index.php Теперь же хочу разделить html от функционированности на JS, вызывая отдельно вытащить php-скрипт, который выводит строчку(1 столбец-выводит картинку по адресу, который указан в БД под MySQL, 2 столец строки-показывает сведения из БД, 3 столб-показывает соотв записи из БД)...и соотв кол-во строк зависить будет от кол-а картинок(кол-во прописанных путей в БД на картинки)...т.е. эта динамическая таблица... поэтому в index.php, где у меня прописан основной html документа такое содержание пока% Код (PHP): <html> <head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <meta name="description" content=""> <meta name="author" content=""> <link rel="stylesheet" href="style.css"> <script type="text/javascript" src="js/mest.js"></script> <script type="text/javascript" src="js/jquery-2.1.1.min.js"></script> <title>официальный сайт</title> </head> <body> .... <div id="centecont"> <li>[url="#1"]Местные места</b>[/url]</li> <table id="tablemest"> <td> Фото места</td> <td> Описание </td> <td> Отзыв посетителей </td> <span id="trtablemest"></span> </table> </div> .... </body> </html> соответственно я создал mest.js сл содержания, который должен подставить полученный html-отрывок в формате JSON с mest.php уже с данными в виде текстовой строки и вставить его в index.php в text span id="trtablemest" содержание mest.js Код (Text): function tablemest(){ $.ajax({async:true,cache:false,type: "POST", url:'mest.php',dataType:"json",trsendmest:function(data) { $("#trtablemest").text(data.htmlsegment); } }); } теперь вот самое проблематичное, что я не уверен правильно ли я реализовал вытаскивание(синтаксически как прописать) уже сформированные строки(не одну , а сразу все) в виде HTML и отдать этот html сегмент для вставки в основной html-документ через mest.js вот мой пока код mest.php Код (PHP): <?php //обнуляем строку $htmlsegment=''; mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $db2=mysqli_connect("localhost","userdb","pwd1","bd"); $query2="Select * from `bd`.`mesto`"; $result2=mysqli_query($db2,$query2); //echo mysql_error(); //если произошло соединение, но не произошло чтение с таблицы всех данных if (!isset ($result2)){ // echo "No Select from mesto"; } //рисуем html-страницу, разбираем полученные данные и вставляем их в нужные места html-страницы while ($date1=mysqli_fetch_assoc($result2)){ $htmlsegment=$htmlsegment+'<tr>'; //Работаем с полученной картинкой //Измеряем параметры картинки:ширина, высота, тип, атрибуты $recipient2='/image/'; list($width, $height, $type, $attr) = getimagesize('./'.$recipient2.$date1['contetnimg']); //Создаем(если отсутсвует) директорию /image/image100 или при наличии директории сразу масштабируем картинку и кладём в /image/image100 //Проверяем наличие директортии /image/image100 $recipient='image/image100/'; // echo 'На стадии создания '.$recipient; chmod('/pub/home/site/htdocs/image',0777); @mkdir($recipient, 0777, true); //масштабируем картинку в ширину 100 и высоту 100 и создаём новую отмасштабируемую картинку в директорию /image/image100 $newwidth='100'; $newheight='100'; // echo '<br /> Имя файла '.$date1['contetnimg']; resizeImage($date1['contetnimg'], $newwidth, $newheight, $recipient); //Выводим отмасштабированную картинку места в ячейку таблицы 100 на 100 // echo '<br /> Директория100/файл: '.$recipient.$date1['contetnimg']; $mgssrc='image/image100/'.$date1['contetnimg']; // echo '<br /> Параметр $mgssrc: '.$mgssrc; //echo '<td> <img src="image/image100/1.jpg" width="100" height="100"> </td>'; $htmlsegment=$htmlsegment+'<td> <img src="'.$mgssrc.'" width="100" height="100"> </td>'; //Выводим описание места с БД по картинке $htmlsegment=$htmlsegment+'<td> '.$date1['opismesto'].'</td>'; //Выводим отзыв о месте с БД по картинке $htmlsegment=$htmlsegment+'<td> '.$date1['otziv'].'</td>'; $htmlsegment=$htmlsegment+'</tr>'; } //закончили работу с выводом и заполнением html-страницей, закрываем сеанс с БД mysqli_close($db2); //функция по масштабированию картинки jpg function resizeImage($filename, $newwidth, $newheight,$recipient){ //echo $recipient; $recipient3='/pub/home/site/htdocs/image/'; // echo '<br /> Параметр для функции getimagesize '.$recipient3.$filename; list($width, $height) = getimagesize($recipient3.$filename); // echo '<br /> Результат функции getimagesize : '.print_r($width, true); if($width > $height && $newheight < $height){ $newheight = $height / ($width / $newwidth); } else if ($width < $height && $newwidth < $width) { $newwidth = $width / ($height / $newheight); } else { $newwidth = $width; $newheight = $height; } // echo '<br /> Параметры для функции imagecreatetruecolor: $newwidth= '.print_r($$newwidth, true).' $newheight='.print_r($newheight, true); $thumb = imagecreatetruecolor($newwidth, $newheight); // echo '<br /> Параметр для imagecreatefromjpeg: '.$recipient3.$filename; $source = imagecreatefromjpeg($recipient3.$filename); //echo $recipient.$filename; // echo '<br /> Параметры для функции: imagecopyresized: получатель: '.print_r($thumb, true).' источник: '.print_r($source, true); $res=imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); // echo '<br /> Результат imagecopyresized: '.print_r($res, true); //var_dump($thumb); //освободим память imagedestroy($source); //вернём результат в виде создания отмасштабированной картинки в директори /image/image100 // echo '<br /> Параметр для функции imagejpeg: $thumb'.$thumb.' имя файла '.$recipient.$filename; return imagejpeg($thumb, './'.$recipient.$filename); } $out=array(); $out['htmlsegment']=$htmlsegment; echo json_encode($out); ?>
Re: затрудняюсь реализовать вывод таблицы через HTML+JS+PHP+ я ещё не пробовал в работе, только так примерно написал...как бы совета прошу-правильно ли я прописываю синтаксически. чтобы получить желаемый результат?эффективно ли прописан качестве скорости работы..мб эту вещь можно реализовать как-то по-иному, что приведёт к более быстродействию лучше?
Re: затрудняюсь реализовать вывод таблицы через HTML+JS+PHP+ ты напиши для начала. тебе для бенчмаркинга своих приложений не хватает знаешь чего? правильно, я тебе не одну сотню раз сказал об этом. не загружай голову лишней инфой. напиши код который работает. если он покажется избыточным - начнешь оптимизировать. ибо это индивидуально всё. но для своей индивидуальности тебе еще не хватает умения работать с кодом. так что пиши просто работающий код.
Re: затрудняюсь реализовать вывод таблицы через HTML+JS+PHP+ Оптимизацию нужно проводить когда ресурсов не хватает. Ну или при тестировании видно очень большое потребление ресурсов. Быстро взглянув, то всё нормально, на будущее посмотри как это делают во framework или паттерны MVC, MVVM. Первым делом запускай, проверяй работу по маленьким шагам. А потом спрашивай.
Re: затрудняюсь реализовать вывод таблицы через HTML+JS+PHP+ вот именно. когда есть опыт - еще на стадии разработки продумывается оптимизация. а когда только первые шаги - оптимизировать несуществующую программу это дележка шкуры не убитого медведя.
Re: затрудняюсь реализовать вывод таблицы через HTML+JS+PHP+ попробовал...вывелась шапка таблицы с ссылкой, но по нажатию на которую строки таблицы не появились(( а до переделывания всё выводилось-картинки, описания к ним и отзывы...так формировалась таблица для просмотра... что не так прописал мб? сервер возратил после нажатия на ссылку вот что
Re: затрудняюсь реализовать вывод таблицы через HTML+JS+PHP+ не подумай что я стебусь. хотя я безусловно получаю удовольствие от того как ты тонешь. но результат твоей работы полностью соответствует тому уровню с которым ты взялся за решение данной задачи. требование к коду ты выращиваешь в геометрической прогрессии а свои знания и умения ты не прокачиваешь даже в арифметической. это уже тянется не одну неделю. и не один тред. но ты же сможешь. я в тебя верю.
Re: затрудняюсь реализовать вывод таблицы через HTML+JS+PHP+ СергейЧИТА попробуй в мыслях понять как работает твой код и сходится ли там всё логически. Перепиши всё с нуля, попробуй первым делом вывести простую переменную, потом наращивай функционал.
Re: затрудняюсь реализовать вывод таблицы через HTML+JS+PHP+ я думаю, что index.php+mest.js-там всё ровно.... у меня ошибка где-то в mest.php(((точнее по формированию строки и выводе ее в виде строки через функцию json_encode почему-то возвращает 0...опять же я не пойму-смотрю через инстурмент разработчика в хроме во вкладке response...в данном случае строка {"htmlsegment":0} указывает, что возвращён сервером нулевое значение(числовое) или же нулевое(всмысле пустую строку)? Я попробовал вывести вот так $out['htmlsegment']=''.$htmlsegment; echo json_encode($out); выдаёт также... и так $out['htmlsegment']='$htmlsegment'; echo json_encode($out); но тут понятно))просто выдаёт не переменную $htmlsegment, а строку в виде символов-$htmlsegment что не так не могу понять, всё же логично... 1)объявляю переменную 2)присваиваю ей значение-пустая строка 3)получаю какие-либо данные 4)полученные данные прибавляю путём котактенации строк%пустую с полученными данными 5)в итоге получаю строку в значении переменной $htmlsegment 6)в формате JSON передаю значение переменно $htmlsegment в виде строки в javascript mest.js для вставки последний который делает в место указанное в основном html-документе в виде index.php что-то в тупике((
Re: затрудняюсь реализовать вывод таблицы через HTML+JS+PHP+ Так в какой строке ошибка? Что не отрабатывает так как тебе нужно?
Re: затрудняюсь реализовать вывод таблицы через HTML+JS+PHP+ ну раз возрат скрипта идёт 0(пустая строка), то как минимум не отрабатывает вот эти строки Пытаюсь получить алертом сформированную строку через javascript mest.js Код (Text): function tablemest(){ $.ajax({async:true,cache:false,type: "POST", url:'mest.php',dataType:"json",trsendmest:function(data) { alert ('HTML строка= '+data.htmlsegment); $("#trtablemest").text(data.htmlsegment); } }); } но по нажатию на ссылку в index.php" Местные " ничего не происходит...смотрю заголовки клиентской части-всё ОК...а в ответ от сервера получаю вот что не так? почему по нажатию на ссылку в html-документе в index.php- должна отрабатывать функция tablemest() и вызываться скрипт mest.php-это проходит(по инструментам разработчика в хроме видно), а строка html?которую нужно вставить в документ, не формируется(хотя я скриптом выдаю строку JSON'ом)?
Re: затрудняюсь реализовать вывод таблицы через HTML+JS+PHP+ Я имел ввиду код работающий увидеть, можно выложить на http://runnable.com/ Ещё отладку JS можно делать прямо в браузере https://developer.chrome.com/devtools/docs/javascript-debugging
Re: затрудняюсь реализовать вывод таблицы через HTML+JS+PHP+ без подключения к бд реально и хоста, только код http://runnable.com/me/VIxpy7vQ7FtUE9QN и вот сама консоль по JS что показывает http://файл.онлайн/krwbf4yk48ed.html
Re: затрудняюсь реализовать вывод таблицы через HTML+JS+PHP+ Не находит код, и выкладывай картинки на хостинг изображений, а то 10 минуту ждать пока скачаеться
Re: затрудняюсь реализовать вывод таблицы через HTML+JS+PHP+ http://runnable.com/VI1YYFnOd9ktZ4w7/output с подключением к БД