какая кавычка не понял вот код Код (Text): <html> <head> <meta charset="utf-8"> <title>Cool page site</title> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script><!-- Библиотека jQuery --> <script src="js/script.js"></script><!-- Наш JS-код --> </head> <body> <!-- <a href="#" onclick="$.ajax({type: 'POST', url: 'handler.php', data: 'data1=1&data2=2&data3=3', success: function(data){ $('#results').html(data);}});">Отправить</a> --> <a href="#" onclick="$.ajax({type: 'POST', url: 'handler.php', data: 'data1=1&data2=2&data3=3', success: function(data){ $('#results').html(data);}});">Отправить</a> <div id="results">000</div> </body> </html> <? echo '<a href="#" onclick=" $.ajax ({ type: "POST", url: "handler.php", data: "data1=1&data2=2&data3=3", success: "function(data){$('#results').html(data)}; }) ">Отправить</a>'; ?> верхняя ссылка работает нижняя нет
onclick=" $.ajax ({ type: "POST", Вот уже перед словом POST обработчик закончился. Потому что кавычка закрылась. Экранируйте кавычки: onclick=" $.ajax ({ type: \"POST\", и в остальных местах тоже
Код (PHP): echo ' <a href="#" onclick=" $.ajax ({ type: \"POST\", url: \"handler.php\", data: \"data1=1&data2=2&data3=3\", success: \"function(data){$('#results').html(data)}\"; })" >Отправить</a>'; поправил так не работает
вот И, раз уж пошла такая пьянка Код (Text): <a href="#" id="my-link">click me</a> и где-то перед </body> или вообще в отдеьном js скрипте Код (Text): $(function() { $('#my-link').click(function() { $.post("/handler.php", {data1: 1, data2: 2, data3: 3}) .done(function(data) { $("#results").html(data); }); }); });
может быть я и согласен не пойдет мой полный код меню Код (PHP): $page_name=$_POST['razdel']; echo '<ul id="files">'; //$res=mysql_query("SELECT DISTINCT razdel FROM tovar WHERE code LIKE '".$code5."'"); $res=mysql_query("SELECT DISTINCT razdel FROM tovar WHERE code LIKE '".$code5."%'"); //$res=mysql_query("SELECT DISTINCT razdel FROM tovar"); while($row = mysql_fetch_array( $res)) {echo '<li>[url="#0"]'.$row['razdel'].'[/url]<ul>'; $res1=mysql_query("SELECT DISTINCT podrazdel FROM tovar WHERE razdel LIKE '".$row['razdel']."'"); while($row1 = mysql_fetch_array( $res1)) //{echo '<li>[url="?razdel='.$row['razdel']."]'.$row1['podrazdel'].'[/url]</li>';} //{echo '<li>[url="#"]'.$row1['podrazdel'].'[/url]</li>';} {echo '<a href="#" onclick=" $.ajax ({ type: "POST", url: "rez.php", data: "data1=1&data2=2&data3=3", success: "function(data){.$('#results')..html(data);}"});">'.$row1['podrazdel'].'</a></li>';} echo '</ul> </li>';} echo '</ul>'; } там ссылки из базы данных получаются (это меню)
согласен, удручающее зрелище. Могу только посоветовать переписать меню. Благо это не сложно. в прошлом посте я в цитате выделил тебе проблемные кавычки. Так сложно посмотреть?
Всем спасибо все получилось Если кому то надо Код (Text): echo " <a href='#'" ; echo " onclick=\" $.ajax ({ type: 'POST', url: 'handler.php', data: 'data1=6&data2=2&data3=3', success: function(data){ $('#results').html(data)} });\" >Отправить</a>"; так работает Вопрос считаю закрытым
Я бы на вашем месте вообще закрыл на этом месте блок php и сделал сырой вывод. Это вообще хорошая практика в местах, где друг на друга наслаивается куча кавычек. Код (Text): ?> <a href='#' onclick="$.ajax ({ type: 'POST', url: 'handler.php', data: 'data1=6&data2=2&data3=3', success: function(data){ $('#results').html(data)} });" >Отправить</a> <? Или, что даже лучше, сделать, как Luge предложил: http://php.ru/forum/viewtopic.php?f=16&t=49208#p391185
мой весь код на данный момент Код (Text): <html> <head> <script type="text/javascript" src="js/enhance.js"></script> <script type="text/javascript"> // Запуск теста на поддержку браузером скриптов enhance({ loadScripts: [ '../js/jquery.min.js', '../js/jQuery.tree.js', '../js/example.js' ], loadStyles: ['../css/enhanced.css'], forcePassText: ['Посмотреть с подключенными скриптами'], forceFailText: ['Посмотреть с выключенными скриптами'] }); </script> </head> </html> <? $host='localhost'; // имя хоста (уточняется у провайдера) $database='baza'; // имя базы данных, которую вы должны создать $user='root'; // заданное вами имя пользователя, либо определенное провайдером $pswd=''; // заданный вами пароль // подключаемся к MySQL $dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL."); mysql_select_db($database) or die("Не могу подключиться к базе."); function is_sel($a, $field) { $b = isset($_POST[$field])?$_POST[$field]:NULL; if($a == $b) return 'selected="selected"'; } ?> <table style="width: 900px;" border="1" align="center" bgcolor="#FFFFFF" bordercolor="#006699"> <tbody> <tr> <td colspan="3" align="left"> <? // выбор области $res = mysql_query("SELECT * FROM kladr WHERE code LIKE '__00000000000'"); ?> <form id="frm" method="post"> <select name="obl" onchange="document.getElementById('frm').submit()" > <option value='0'>- Выберите область -</option>\r\n"; <? while($row = mysql_fetch_array($res)) echo "<option ".is_sel($row['code'],'obl')." value='" . $row['code'] . "'>" . $row['name'] . " ".$row['socr']. "</option>\r\n"; echo "</select>"; $code2 = (mysql_real_escape_string($_POST['obl'])); $code1 =$code2/100000000000; // выбор города $res=mysql_query("SELECT * FROM kladr WHERE code NOT LIKE '".$code2."' AND code LIKE '".$code1."______00000' "); if(mysql_num_rows($res)){ ?> <select name="gorod" onchange=" document.getElementById('frm').submit();" > <option code="gorod" value='0'>- Выберите город -</option>\r\n"; <? while($row = mysql_fetch_array($res)) echo "<option ".is_sel($row['code'],'gorod')." value='" . $row['code'] . "'>" . $row['name'] . " ".$row['socr']. "</option>\r\n"; echo "</select>"; $code3 = (mysql_real_escape_string($_POST['gorod'])); $code1 = (mysql_real_escape_string($_POST['gorod']))/100000; // выбираю район $res=mysql_query("SELECT * FROM kladr WHERE code NOT LIKE '".$code3."' AND code LIKE '".$code1."_____'"); if(mysql_num_rows($res)){ ?> <select name="raion" onchange="document.getElementById('frm').submit()" > <option code="raion" value='0'>- Выберите район -</option>\r\n"; <? while($row = mysql_fetch_array($res)) echo "<option ".is_sel($row['code'],'raion')." value='" . $row['code'] . "'>" . $row['name'] . " ".$row['socr']. "</option>\r\n"; echo "</select>"; $code4 = (mysql_real_escape_string($_POST['raion'])); }} ?> <form action="index.php" method="post"> <input type="submit" name="button" value=" Выбрать" /> </form> <? if (isset($_POST['button'])) { $row1 = mysql_fetch_array(mysql_query("SELECT * FROM kladr WHERE code LIKE '".$code2."'")); $row2 = mysql_fetch_array(mysql_query("SELECT * FROM kladr WHERE code LIKE '".$code3."'")); $row3 = mysql_fetch_array(mysql_query("SELECT * FROM kladr WHERE code LIKE '".$code4."'")); echo "<center>"; echo $row1['name']. " ".$row1['socr'];echo " "; echo $row2['name']. " ".$row2['socr'];echo " "; echo $row3['name']. " ".$row3['socr'];echo " </center>"; if ($code2>0){$code5=$code2/100000000000;} if ($code3>0){$code5=$code3/100000;} if ($code4>0){$code5=$code4;} ?> </td></td></tr><tr><td width="10" align="left" valign="top";> <? // меню echo '<ul id="files">'; $res=mysql_query("SELECT DISTINCT razdel FROM tovar WHERE code LIKE '".$code5."%'"); while($row = mysql_fetch_array( $res)) {echo '<li><a href="#0">'.$row['razdel'].'</a><ul>'; $res1=mysql_query("SELECT DISTINCT podrazdel FROM tovar WHERE razdel LIKE '".$row['razdel']."'"); while($row1 = mysql_fetch_array( $res1)) { $d1 = $row['razdel']; $d2 = $row1['podrazdel']; $d3 = $code5; echo "<a href='#'"; echo "onclick=\"$.ajax({type: 'POST', url: 'rez.php', data: 'data1=$d1&data2=$d2&data3=$d3', success: function(data){ $('#results').html(data)}});\"; >$d2</a>"; } echo '</ul> </li>';} echo '</ul>'; } ?> <br /></td> <td align="left" valign="top"><div id='results'></div></strong></td> </tr> </tbody> </table> а ты пишешь закрыть и прочее
Помогите еще с одной ссылкой echo' <a href="../rez/delete.php" onclick="$.ajax({type: "POST", url: "../rez/delete.php", data: "id='.$rows["id"].'"});">0</a> ' должна удалять строчку из таблицы созданной php Добавлено спустя 14 минут 24 секунды: Помогите еще с одной ссылкой echo' <a href="../rez/delete.php" onclick="$.ajax({type: "POST", url: "../rez/delete.php", data: "id='.$rows["id"].'"});">0</a> ' должна удалять строчку из таблицы созданной php
Написать за вас обработчик или что сделать? 1. Вынесите код из тега html в нормальный js-скрипт. Чтобы разработчик которому после вас придётся разгребать ваш код не проклинал вас страшными проклятиями. 2. Покажите сам запрос который уходит на сервер и ответ сервера. 3. Если уходит запрос, приходит ответ, но не тот, который вый ждёте, выкладывайте запрос, ответ и исходник обработчика запроса.
while($rows = mysql_fetch_array($result)) { $colvo = $colvo + 1; echo '<td class="edit razdel '.$rows["id"].'">'.$rows["razdel"].'</td> <td class="edit podrazdel '.$rows["id"].'">'.$rows["podrazdel"].'</td> <td class="edit tovar '.$rows["id"].'">'.$rows["tovar"].'</td> <td class="edit opisanie '.$rows["id"].'">'.$rows["opisanie"].'</td> <td class="edit prais '.$rows["id"].'">'.$rows["prais"].'</td> <td><a href="../rez/delete.php" onclick=" $.ajax({ type: "POST", url: "../rez/delete.php", data: "id='.$rows["id"].'" }); " >0</a> </td> </tr>'; получается таблица в которой можно править данные надо что бы можно было удалить ненужные строчки Добавлено спустя 46 минут 24 секунды: файл delete.php <? require_once('../rez/baza.php'); $id=$_POST['id']; echo $id; $sql="DELETE FROM tovar WHERE id=$id"; mysql_query($sql); ?>
1. Временно измените протокол на GET и посмотрите что отвечает ваш обработчик на запросы вида http:// site.com/.../rez/delete.php?id=123 2. В самом обработчике сделайте вывод ошибки mysql при её возникновении и результат выполнения запроса, для чего обратитесь к документации по функциям mysql_num_rows() и mysql_error() 3. Настоятельно рекомендую почитать об отладке сценариев на PHP и защите от SQL-инъекций. В существующей версии ваш код позволяет недоброжелателю делать с вашей базой данных всё что ему захочется.
выполняется как надо <? require_once('../rez/baza.php'); $id=$_GET['id']; echo $id; $sql="DELETE FROM tovar WHERE id=$id"; mysql_query($sql); ?> Добавлено спустя 1 минуту 38 секунд: обработчик не может получить id через post
Почитайте об отладке Ajax-запросов через плагины браузера типа Firebug. Посмотрите через плагин (или через что вам удобнее) куда вы шлёте запросы и что вам отвечает сервер. Скорее всего из js вы шлёте запрос по несуществующему адресу.
не понимаю ничего Добавлено спустя 15 минут 32 секунды: выдает <a href="" onclick="$.ajax({type: " post",="" url:="" "..="" rez="" del.php",="" data:="" "id="58"})""> фигня какаето
переделал работает даже но фигня полная echo ' <td><a href="" onclick=" $.ajax({type: \'POST\', url: \'../rez/del.php\', data: \'id='.$rows["id"].'\'});" >00</a> '; помогите упростить