Jump to content

adamsalex

Newbie
  • Posts

    10
  • Joined

  • Last visited

adamsalex's Achievements

Explorer

Explorer (1/14)

0

Reputation

  1. Все всем спасибо кто участвовал - разобрался, проблема была в передаче нескольких запросов сразу в 1 селект + куча мусора, как только почистил мусор и стал передавать нормальный HTML все стало ОК
  2. <?php echo '<?xml version="1.0" encoding="UTF-8"?>'; include('db_login.php'); /*echo '<head>'; echo '<title>' .$f. '|' .$m. '|' .$y. '</title>'; echo "<meta http-equiv='X-UA-Compatible' content='IE=7'/> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/> <meta name='robots' content='index, follow' /> <link rel='stylesheet' href='css/reset.css' type='text/css'/> <link rel='stylesheet' href='css/main.css' type='text/css'/>"; echo '</head>';*/ // не забываем менять на реальный сервер czmysql1 $db = new mysqli($db_server, $db_login, $db_pass, $db_name); $db->set_charset("utf8");// говорим что обрабатываем в скрипте в кодировке utf8 if(!$db) { // Show error if we cannot connect. echo 'ERROR: Could not connect to the database.'; } else { //инициализируем переменные if(isset($_GET['t'])) $t=$_GET['t']; // HTML -> PHP передаем type if(isset($_GET['f'])) $f=$_GET['f']; // HTML -> PHP передаем firm if(isset($_GET['m'])) $m=$_GET['m']; // HTML -> PHP передаем model if(isset($_GET['y'])) $y=$_GET['y']; // HTML -> PHP передаем year echo'<option value="">выберите..</option>'; // подставляем первое значение в option для всех столбцов // получаем в форму название фирм из БД if(isset($_GET['f']) == '') { $query = $db->query("SELECT firm FROM firm WHERE type_id = '".$t."'"); while ($result = $query ->fetch_object()) { echo '<option value ="'.$result->firm.'" >' .$result->firm. '</option>'; } } // получаем в форму название моделей из БД c проверкой что m пока не существует if(isset($_GET['m']) == '') { $query = $db->query("SELECT model FROM type,firm,model WHERE type.type_id=firm.type_id AND firm.firm_id=model.firm_id AND type.type_id='" .$t. "' AND firm.firm = '".$f."'"); while ($result = $query ->fetch_object()) { echo '<option value ="'.$result->model.'" >' .$result->model. '</option>'; } } // получаем в форму год из БД if(isset($_GET['y']) == '') { $query = $db->query("SELECT year FROM type,firm,model,year WHERE type.type_id=firm.type_id AND firm.firm_id=model.firm_id AND model.model_id=year.model_id AND type.type_id='" .$t. "' AND firm.firm = '".$f."' AND model.model ='".$m."'"); while ($result = $query ->fetch_object()) { echo '<option value ="'. $result->year.'" >' .$result->year. '</option>'; } } // получаем в форму кузов из БД $query = $db->query("SELECT frame FROM type,firm,model,year,frame WHERE type.type_id=firm.type_id AND firm.firm_id=model.firm_id AND model.model_id=year.model_id AND year.year_id=frame.year_id AND type.type_id='" .$t. "' AND firm.firm = '".$f."' AND model.model ='".$m."' AND year.year='".$y."'"); while ($result = $query ->fetch_object()) { echo '<option value ="'. $result->frame.'" >' .$result->frame. '</option>'; } } $mysqli->close(); ?>
  3. сделал - ошибка осталась xml is null передает такой код ПараметрыЗаголовкиОтветHTML <?xml version="1.0" encoding="UTF-8"?><option value="">выберите..</option><option value ="SUZUKI" >SUZUKI</option><option value ="DAIHATSU" >DAIHATSU</option><option value ="FUSO [MITSUBISHI_TRUCKS]" >FUSO [MITSUBISHI_TRUCKS]</option><option value ="HINO" >HINO</option><option value ="HONDA" >HONDA</option><option value ="ISUZU" >ISUZU</option><option value ="LEXUS" >LEXUS</option><option value ="MAZDA" >MAZDA</option><option value ="MITSUBISHI" >MITSUBISHI</option><option value ="NISSAN" >NISSAN</option><option value ="SUBARU" >SUBARU</option><option value ="TOYOTA" >TOYOTA</option><option value ="UD NISSAN_DIESEL" >UD NISSAN_DIESEL</option><br />
  4. Да... теперь пишет xml is null var options = xml.getElementsByTagName('option'); строчку <?xml version="1.0" encoding="UTF-8"?> прописал в index.html, если прописать в load_form_ajax.php, то так? echo '<xml version="1.0" encoding="UTF-8">';
  5. ага сделал if (xmlhttp.readyState==4 && xmlhttp.status==200) { var para = document.createElement("option"); var txt = document.createTextNode(xmlhttp.responseXML); para.appendChild(txt); document.getElementById('parts_firm').appendChild(para); } теперь выдает в selecte [object] - где то я "DOM не достроил"
  6. Теперь все ок- в load_form_ajax.php приходит <option value="">выберите..</option><option value ="SUZUKI" >SUZUKI</option><option value ="DAIHATSU" >DAIHATSU</option><option value ="FUSO [MITSUBISHI_TRUCKS]" >FUSO [MITSUBISHI_TRUCKS]</option><option value ="HINO" >HINO</option><option value ="HONDA" >HONDA</option><option value ="ISUZU" >ISUZU</option><option value ="LEXUS" >LEXUS</option><option value ="MAZDA" >MAZDA</option><option value ="MITSUBISHI" >MITSUBISHI</option><option value ="NISSAN" >NISSAN</option><option value ="SUBARU" >SUBARU</option><option value ="TOYOTA" >TOYOTA</option><option value ="UD NISSAN_DIESEL" >UD NISSAN_DIESEL</option> в HTML форме все вставляется в один селект сплошной строкой насколько я понимаю нужно делать цикл которого у меня не хватает в js - сейчас код такой xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { var para = document.createElement("option"); var txt = document.createTextNode(xmlhttp.responseText); para.appendChild(txt); document.getElementById('parts_firm').appendChild(para); } } xmlhttp.open("GET","load_form_ajax.php?t="+str,true); xmlhttp.send(); }
  7. В итоге как должно быть код load_form_ajax.php , даже если комментировать все в head результат аналогичный <?php include('db_login.php'); echo '<head>'; echo '<title>' .$f. '|' .$m. '|' .$y. '</title>'; echo "<meta http-equiv='X-UA-Compatible' content='IE=7'/> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/> <meta name='robots' content='index, follow' /> <link rel='stylesheet' href='css/reset.css' type='text/css'/> <link rel='stylesheet' href='css/main.css' type='text/css'/>"; echo '</head>'; $db = new mysqli($db_server, $db_login, $db_pass, $db_name); $db->set_charset("utf8");// говорим что обрабатываем в скрипте в кодировке utf8 if(!$db) { // Show error if we cannot connect. echo 'ERROR: Could not connect to the database.'; } else { //инициализируем переменные if(isset($_GET['t'])) $t=$_GET['t']; // HTML -> PHP передаем type if(isset($_GET['f'])) $f=$_GET['f']; // HTML -> PHP передаем firm if(isset($_GET['m'])) $m=$_GET['m']; // HTML -> PHP передаем model if(isset($_GET['y'])) $y=$_GET['y']; // HTML -> PHP передаем year echo'<option value="">выберите..</option>'; // подставляем первое значение в option для всех столбцов // получаем в форму название фирм из БД if(isset($_GET['f']) == '') { $query = $db->query("SELECT firm FROM firm WHERE type_id = '".$t."'"); while ($result = $query ->fetch_object()) { echo '<option value ="'.$result->firm.'" >' .$result->firm. '</option>'; } } // получаем в форму название моделей из БД c проверкой что m пока не существует if(isset($_GET['m']) == '') { $query = $db->query("SELECT model FROM type,firm,model WHERE type.type_id=firm.type_id AND firm.firm_id=model.firm_id AND type.type_id='" .$t. "' AND firm.firm = '".$f."'"); while ($result = $query ->fetch_object()) { echo '<option value ="'.$result->model.'" >' .$result->model. '</option>'; } } // получаем в форму год из БД if(isset($_GET['y']) == '') { $query = $db->query("SELECT year FROM type,firm,model,year WHERE type.type_id=firm.type_id AND firm.firm_id=model.firm_id AND model.model_id=year.model_id AND type.type_id='" .$t. "' AND firm.firm = '".$f."' AND model.model ='".$m."'"); while ($result = $query ->fetch_object()) { echo '<option value ="'. $result->year.'" >' .$result->year. '</option>'; } } // получаем в форму кузов из БД $query = $db->query("SELECT frame FROM type,firm,model,year,frame WHERE type.type_id=firm.type_id AND firm.firm_id=model.firm_id AND model.model_id=year.model_id AND year.year_id=frame.year_id AND type.type_id='" .$t. "' AND firm.firm = '".$f."' AND model.model ='".$m."' AND year.year='".$y."'"); while ($result = $query ->fetch_object()) { echo '<option value ="'. $result->frame.'" >' .$result->frame. '</option>'; } } $mysqli->close(); ?>
  8. приходит вся страница с тэгами - в которой есть нужные данные -все броузеры кроме IE корректно отражают информацию
  9. Пишет Неизвестная ошибка выполнения Код 0 Строка 31 символ 5 - как раз начинается код document.getElementById("parts_firm").innerHTML=xmlhttp.responseText; полный код ФУНКЦИИ function showFirm(str) { if (str=="") { document.getElementById("parts_firm").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("parts_firm").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","load_form_ajax.php?t="+str,true); xmlhttp.send(); }
  10. Добрый день, не работает innerHTML в IE. Погуглил в итоге необходимо переписать с помощью DOM -не могу до конца понять как. Суть необходимо - из БД mySQL запросами через AJAX получать в select значения (асинхронно). В комментарии кода "строим DOM" насколько я понял не хватает каких то параметров. Index.html //функция получения названия фирм из БД function showFirm(str) { if (str=="") { document.getElementById("parts_firm").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { // строим DOM var para = document.createElement("option"); var txt = document.createTextNode(xmlhttp.responseText); para.appendChild(txt); document.getElementById('parts_firm').appendChild(para); //Через innerHTML не работает в IE //document.getElementById("parts_firm").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","load_form_ajax.php?t="+str,true); xmlhttp.send(); } ...... <td>Производитель:</td> <td> <!-- передаем в select id="parts_firm" инфо из БД, запускаем showModel() --> <select id="parts_firm" name="firm" onchange="showModel(this.value)"> <option></option> </select>
×
×
  • 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