Anonymní profil D@ve – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil D@ve – Programujte.comAnonymní profil D@ve – Programujte.com

 

Příspěvky odeslané z IP adresy 193.165.148.–

JavaScript, AJAX, jQuery › AJAX nefunkčnost XML
23. 8. 2013   #180760

Dobrý den, dělám na filtru, kde bude moct člověk vybrat značku auta a poté mu do selectu načtou modely, vytahnuté z DB. Zkoušel jsem to přes AJAXi, vytvořil jsem si php soubor, kde vytvářím XML a poté ho přes AJAXovou funkci ho načítám do zkušebního DIVu, abych věděl jestli to vůbec funguje, ale prostě ne a ne to fungovat. Přikládám všechny důležité soubory (zkrácené). Jinak upravuji to ve starém redakčním systému Sunlight XXL 1.0.1. Proto v tom mainu je output.

 autaXML.php

<?php
  require 'connect.php';
  
  
  //Dotaz na DB
$sql =  "SELECT `manufacturer_text`, `model_text`, `body_text`, `fuel_text`, `id` " .
           "FROM `tip_auta` " .
           "GROUP BY `manufacturer_text`";
  
//Vytažení dat
$brandsData = mysql_query( $sql,$databaze_s ) or die('Nelze načíst data aut; ' . mysql_error() );
    
        
//Založení XML souboru pro Ajax
header("Content-Type: text/xml");
$xml = new DOMDocument("1.0","utf-8");
$brands = $xml->createElement("znacky");
$xml->appendChild($brands);
    
while($zaznam = $brandsData->fetch_object()){
  //Vytvořit struktůru
  $brand = $xml->createElement("znacka");
  $brandData = $xml->createTextNode($zaznam ->znacka);
  $brand->appendChild($brandData);
            
  $model = $xml->createElement("model");
  $modelData = $xml->createTextNode($zaznam ->model);
  $model->appendChild($modelData);
            
  //Poskládat správně
  $brand->appendChild($model);
  $brands->appendChild($brand);
}
$vystup = $xml->saveXML();
echo $vystup;
?>

function.php

<script>
function prectiSoubor(){
  var xhr;

  if (window.XMLHttpRequest){
      // IE7+, Firefox, Chrome, Opera, Safari
      xhr=new XMLHttpRequest();
  } else {
      // IE6, IE5
      xhr=new ActiveXObject("Microsoft.XMLHTTP");
  }
  if(xhr){
    xhr.open("POST","autaXML.php",true);
    xhr.onreadystatechange=function(){
      if (xhr.readyState==4 && xhr.status==200){
          xmlDoc=xhr.responseXML;
          document.getElementById("zkouska").innerHTML=xmlDoc;
      }
    }
    xhr.send(null);
    if(!xhr.responseXML){
        alert("Nenacetlo se XML!")
    }
  } else {
    alert("Nenacetlo se xhr!")
  }
}
</script>

main.php

<?php

require 'connect.php';
require 'functions.php';
    
    //Výběr z databáze všechny auta
    $sql1 = "SELECT * " .
           "FROM `tip_auta` " .
           "ORDER BY `id` DESC ".
           "LIMIT " . mysql_escape_string( $start ) . ", " . mysql_escape_string( $limit ) . ";";
    
    //Spojení s databází       
    $cars = mysql_query( $sql1,$databaze_s )
      or die('Nelze načíst data aut; ' . mysql_error() );    
      
    //Filtr  
    $output =  "<form class=\"filtrAut\" method=\"GET\" onsubmit=\"\">";
    $output .= "<h3>Hledání vozidla</h3>";
    //Filtr - Výběr značky
    //$url = $_SERVER['PHP_SELF'] . "?" . $_SERVER['QUERY_STRING'];
    $output .= "<p><label for=\"znackaAuta\">Značka: </label><select onchange=\"prectiSoubor()\" id=\"znackaAuta\">";
    $output .= "<option value=\"nerozhoduje\">Všechny značky</option>";
    //Načtení značek
    if($pocet != 0){
      $sql2 =  "SELECT `manufacturer_text`, `model_text`, `body_text`, `fuel_text`, `id` " .
               "FROM `tip_auta` " .
               "GROUP BY `manufacturer_text`";
      //Vytažení dat
      $brandsData = mysql_query( $sql2,$databaze_s )
        or die('Nelze načíst data aut; ' . mysql_error() );
      //Procházení dat
      while($znacky = MySQL_Fetch_Array($brandsData)){
        
            $znacka = $znacky['manufacturer_text'];
            
            //Přidávání optionu        
            $output .=  "<option value=\"" . $znacka . "\">" . $znacka ."</option>";
      }
    }           
    $output .= "</select></p>";
    //Filtr - Výběr modelu
    $output .= "<p><label for=\"modelAuta\">Model: </label><select id=\"modelAuta\">";
    $output .= "<option value=\"nerozhoduje\">Všechny modely</option>";
    $output .= "</select></p>";
    //Tlačítko filtrovat
    $output .= "<button onclick=\"prectiSoubor()\"type=\"submit\">Hledat vozidla</button>";
    $output .= "</form>";
    $output .= "<div id=\"zkouska\"></div>";         

?>

Všechno funguje v pořádku jen se nechce načíst XMLko do toho DIVu zkouška. Hlásí to alert, že se nenačetlo XML. Děkuji předem za jakoukoli pomoc, jelikož si fakt už nevím rady.

D@ve
Delphi › Cyklus While--prosím o radu
13. 10. 2008   #87295

DObrý den prosím o radu mám takový menší problém potřeboval bych pomoci s jedním příkladem kdy mám následující úkol
počítadlo od 1 do 21 kde mi musí vycházet následující čísla 1,2,3,5,8,13,21 (1+2=3;1+2+3=5;atd...)vůbec si nevím rady. Prosím o odpověd
//myslím si že tam musí být 3 nebo 4 proměnné a ciklus While Děkuji

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý