• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Xml und die Qual der Bilder!!

Okay vorne weg, bist auf HTML und XML habe ich eigentlich noch nie wirklich programmiert, sagen wir es so ein wenig geskriptet in html und xml , aber sonst.
Nein gar nicht.
Tut mir auch LEid, ich habe oft eine seltsame Gabe mich sehr unbedeutend und verwirrend auszudrücken.
Mein PRoblem ist hoffentlich jedem bekannt. Also von den hier anwesenden.
Und ich arbeite nun an mehreren Baustellen gleichzeitig und kann eigentlich keine wirklich.
So Leid es mir tut.


-----argh doppelpost sorry -----
 
Zuletzt bearbeitet:
1. Woher weiß die Funktion, dass ein Wert in str übergeben wird? Soll der Request auch ohne ausgeführt werden?
2. Bist du 100% sicher, dass in str immer nur URL konforme Zeichen sein werden? Oder wußtest du nicht, dass es Zeichen gibt die in der URL kodiert werden müssen? (da gibt es mehrere Möglichkeiten SELFHTML: JavaScript / Objektreferenz / Objektunabhängige Funktionen)
Zum ersten, keine Ahnung das ist die Funktion aus dem Beispiel das ich hatte um die zu ändern. Ich kann nur vermuten, ja ich brauch 1000 Tutorials, ganz klar, dazu hab ich aber keine Zeit mehr. Werde sie aber noch durcharbeiten.
Zu 2 würde ich sagen das er sich doch in dem Sinne keine URL aneignet oder doch? Wüsste nicht wo die function auf eine andere Page zugreifen sollte, die function soll nur auf die xml datei und die php zugreifen und ich glaube die haben in dem sinne doch url technisch keine bedeutung oder wenn sie im gleichen Ordner liegen würde es doch ausreichen wenn ich anstat 'GET' , url einfach 'Get', namederxml, eingeben würde oder?
 
Und ich arbeite nun an mehreren Baustellen gleichzeitig und kann eigentlich keine wirklich.
dann wird es schwer zu einem ergebniss zu kommen. fang also vorne an, bring eine sache zu ende und erst dann beschäftige dich mit der nächsten. das kann auch ein iterativer prozess werden, aber es bringt nichts alles gleichzeit angehen zu wollen, vor allem, einem die Grundlagen fehlen.
als erstes brauchst du deine buchliste mit den id's und dem aufruf der entsprechenden onclick-event-handler. hast du die?
 
Okay vorne weg, bist auf HTML und XML habe ich eigentlich noch nie wirklich programmiert, sagen wir es so ein wenig geskriptet in html und xml , aber sonst.
Nein gar nicht.
Das erklärt einiges.

Mit HTML und XML kann man übrigens nicht programmieren (auch nicht skripten) das sind Auszeichnungsprachen, keine Programmiersprachen.

Zu 2 würde ich sagen das er sich doch in dem Sinne keine URL aneignet oder doch? Wüsste nicht wo die function auf eine andere Page zugreifen sollte, die function soll nur auf die xml datei und die php zugreifen und ich glaube die haben in dem sinne doch url technisch keine bedeutung
Ohje, da fällt mir nichts mehr ein. Natürlich ist der Aufruf einer php Datei ein URL Request, warum glaubst du, heißt die Variabel in deinem Beispiel url?
 
Das ist nicht so gut, da eine ISBN nur aus Zahlen besteht.
Wenn man mal von den Bindestrichen absieht, die ja Sprache, Verlagskennung, Buchnummer und Prüfsumme voneinander trennen, hat die Prüfsumme die Besonderheit, dass sie 11 verschiedene Werte annehmen kann (weil der Algorithmus Modulo 11 nutzt).
Da dies nicht mit den Ziffern 0-9 abzubilden ist, wurde hier noch das X als Ziffer / Zeichen ergänzt. Eine ISBN kann also folglich auch auf X enden. Und das ist nur im römischen eine Zahl.

Trotz dieser Besonderheit, sind sie dennoch nicht als IDs im Sinne von HTML zu gebrauchen.
 
Das erklärt einiges.

Mit HTML und XML kann man übrigens nicht programmieren (auch nicht skripten) das sind Auszeichnungsprachen, keine Programmiersprachen.

Ohje, da fällt mir nichts mehr ein. Natürlich ist der Aufruf einer php Datei ein URL Request, warum glaubst du, heißt die Variabel in deinem Beispiel url?


Was soll man dazu sagen , ich bin nach hier gekommen um Hilfe zu suchen, wenn man nicht will okay, aber alles was ich sage mit "ohje, da fällt mir nichts mehr ein" zu kommentieren ist auch nicht sonderlich motivierend für mich.

ich versuche ja mal zu verstehen wie ich die idee mit der id umsetzen kann, dafür muss ich halt noch einiges lernen. zum beispiel gebe ich der function in der html einen parameter mit, bsp: onClick="buchsuche(this.id)" nur was mach ich damit jetzt? in der js wird die buchsuche ja alleine deklariert.. da steht bei mir ja buchsuche(str) why?
 
Was soll man dazu sagen , ich bin nach hier gekommen um Hilfe zu suchen, wenn man nicht will okay, aber alles was ich sage mit "ohje, da fällt mir nichts mehr ein" zu kommentieren ist auch nicht sonderlich motivierend für mich.
Ich schrieb weiter iben, dass es auch für Helfer nicht motivierend ist, wenn man auf Ratschläge keine Rückmeldungen bekommt.
Wenn du die Antworten, die du bereits bekommen hast nicht liest, ist das ja nicht mein Problem, aber dieser Spruch von mir bezog auf die von mir zitierte Aussage von dir.

ich versuche ja mal zu verstehen wie ich die idee mit der id umsetzen kann, dafür muss ich halt noch einiges lernen. zum beispiel gebe ich der function in der html einen parameter mit, bsp: onClick="buchsuche(this.id)" nur was mach ich damit jetzt? in der js wird die buchsuche ja alleine deklariert.. da steht bei mir ja buchsuche(str) why?
Weil das eine Variabel ist.

Wie schon mehrfach erwähnt, dir fehlen Grundlagen, in dem Falle ist es natürlich schwierig zu helfen, ich kling mich auf jeden Fall hier aus, das führt zu nichts.
 
ich versuche ja mal zu verstehen wie ich die idee mit der id umsetzen kann, dafür muss ich halt noch einiges lernen. zum beispiel gebe ich der function in der html einen parameter mit, bsp: onClick="buchsuche(this.id)" nur was mach ich damit jetzt? in der js wird die buchsuche ja alleine deklariert.. da steht bei mir ja buchsuche(str) why?
??? was verstehst du nicht? buchsuche(str) { ... ist die deklaration der funktion und buchsuche(this.id) ist der aufruf der funktion. deine funktion buchsuche reicht die id weiter, ans php-script.
 
??? was verstehst du nicht? buchsuche(str) { ... ist die deklaration der funktion und buchsuche(this.id) ist der aufruf der funktion. deine funktion buchsuche reicht die id weiter, ans php-script.

MAl schauen ob ich dich richtig verstanden habe, also (this.id) wird weiter gereicht an mein php script? busuche(str) ist also die function in meiner js datei die quasi sagt das er sich die infos über php sholen soll und diese dann mit elementbyid("titel") = innerhtml... an meine html wiedergibt?
Wenn ja kommich langsam dran, muss dann nur noch wissen welche befehle ich dem js geben soll, im Eneffekt muss die function in der js beinhalten das er ein XMLrequest erstellt, dann eine aufforderung an das php für den loop und dann die ausgabe in der html oder?
Langsam verzweifel ich ich lese und lese und komme nicht voran wieso auch immer...
 
Wenn ja kommich langsam dran, muss dann nur noch wissen welche befehle ich dem js geben soll,
so kann man es auch sagen.

im Eneffekt muss die function in der js beinhalten das er ein XMLrequest erstellt, dann eine aufforderung an das php für den loop und dann die ausgabe in der html oder?

so in etwa. der request ist die aufforderung an das php-script. ob du da den loop machen mußt oder nicht, ist noch eine ganz andere frage. im callback (onreadystatechanged) welches in der antwort auf dem request gerufen wird, mußt du dann deinen entsprechenden html-code ausgeben.

Langsam verzweifel ich ich lese und lese und komme nicht voran wieso auch immer...
ja, ich auch, weil es so scheint, als hättest du immer noch nichts von deinem geposteten code verstanden.
 
ja, ich auch, weil es so scheint, als hättest du immer noch nichts von deinem geposteten code verstanden.


Also ich hab mir mal das Tutorial auf w3c schools zum Thema XML DOM, JS und dem parsen von XML angeschaut.
Code:
function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}

Das ist zum erstellen eines RequestObjekts in unterschiedlichen Browsern mit einem Catch verfahren; falls das Objekt in dem Browser nicht klappt wird es mit dem catch(e) abgefangen und der nächste wird ausgeführt bzw. versucht.

Code:
var xmlHttp;

function buchsuche(str)
{ 
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request");
 return;
 } 
var url="getbookinfo.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

Ich glaube hier hatten wir das Problem wegen der URL schonmal.
Code:
var url="getbookinfo.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
ist mir noch unschlüssig, das ist der bereich der in PHP übergeht und dort dann quasi die schleife aufruft, right?

Code:
function stateChanged() 
{ 
 if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 document.getElementById("titel").innerHTML=xmlHttp.responseText;
 document.getElementById("titel").innerHTML=xmlDoc.getElementsByTagName("titel")[0].childNodes[0].nodeValue;
 } 
}

Hiermit wird doch der stateChanged von xml.onreadystatechange bestimmt, der dann die ausgabe der einzelnen elemente die per ...ElementByID("titel") ausgewählt werden und dann ausgegeben werden, das alles wird doch dann verpackt und in dem return XMLHttp vom Anfang an die HTML page zurückgeschickt oder?

Jaja ich weiss du hast keine Lust mehr mir zuhelfen, aber ich gebe mir mühe...
 
Das ist zum erstellen eines RequestObjekts in unterschiedlichen Browsern mit einem Catch verfahren; falls das Objekt in dem Browser nicht klappt wird es mit dem catch(e) abgefangen und der nächste wird ausgeführt bzw. versucht.

dein "Catch verfahren" ist das fangen von exeptions. wobei ich exeptions vermeiden würde.

Code:
var xmlHttpRequest = null;
  if (window.ActiveXObject)
  {
  	try
  	{
  		xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
  	}
  	catch (e)
  	{
  		try
  		{
  			xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
  		}
  		catch (e)
  		{
  		  alert('Your browser can\'t handle this script' + e.description);
        return;
  		}
  	}
  }
  else if (window.XMLHttpRequest)
  {
  	xmlHttpRequest = new XMLHttpRequest();
  }

Ich glaube hier hatten wir das Problem wegen der URL schonmal.
lassen wir das erst mal außer acht. unter der annahme du übergibst immer eine gültige id ist das ok.

ist mir noch unschlüssig, das ist der bereich der in PHP übergeht und dort dann quasi die schleife aufruft, right?

hier geht nichts in php über. das ist die url des requests, also deines php-scriptes.

Hiermit wird doch der stateChanged von xml.onreadystatechange bestimmt, der dann die ausgabe der einzelnen elemente die per ...ElementByID("titel") ausgewählt werden und dann ausgegeben werden, das alles wird doch dann verpackt und in dem return XMLHttp vom Anfang an die HTML page zurückgeschickt oder?

eher nicht! diese funktion wird aufgerufen, wenn sich die readyState Property (IXMLHTTPRequest) ändert. und zwar, weil du diese funktion als eventhandler für das onreadystatechange-Event angegeben hast. onreadystatechange Property (IXMLHTTPRequest)
ist der state 4, ist die antwort da. diese steht als text in responseText Property (IXMLHTTPRequest)
und als dom-tree in responseXML Property (IXMLHTTPRequest) (wenn es gültiges xml ist)
damit kannst du jetzt machen was du willst.

EDIT: dein xmlHttpRequest-Objekt ist global, das wird wenn mehrere requests parallel laufen zu problemen führen, kann aber für einen einfachen test erst mal vernachlässigt werden.
 
Zuletzt bearbeitet:
Ich hab es irgendwie ans laufen bekommen, ich habe mir nochmal den Code vorgenommen und bearbeitet, nun hab ich das Problem das es bei mir icht richtig angezeigt wird, ich habe apache als kleinen eigenen server um das zu Testen, nun ist es so das bei mir ein fehler angezeigt wird bei anderen aber die infos die ich brauche, mag mal einer drüberschauen ich habe die page mal angehangen.

Mfg.
 

Anhänge

  • hki.zip
    42,7 KB · Aufrufe: 4
Code:
<select name="Bücherliste" onchange="buchSuche(this.value)">
<option value="a1">Darwin und die Götter der Scheibenwelt</option>
<option value="a2">Die Farben der Magie</option>
<option value="a3">Gevatter Tod</option>
</select>
 
Code:
load("t_p_scheibenwelt.xml"); $x=$xmlDoc->getElementsByTagName('id'); for ($i=0; $i<=$x->length-1; $i++) { if ($x->item($i)->nodeType==1) { if ($x->item($i)->childNodes->item(0)->nodeValue == $q) { $y=($x->item($i)->parentNode); } } } $cd=($y->childNodes); for ($i=0;$i<$cd->length;$i++) { if ($cd->item($i)->nodeType==1) { echo($cd->item($i)->nodeName); echo(": "); echo($cd->item($i)->childNodes->item(0)->nodeValue); echo("
"); } } ?>


das wird bei mir ausgegeben anstelle an der die Informationen aus der XML geladen werden sollen-.-
 
Also der Code da oben ist der PHP code, und der wird mir nur ausgeworfen, ich habe nur XAMPP installiert mehr nicht, weiss icht, wenn ich auf status gehe steht das php aktiviert ist...


-------EDIT-------

Hmm nun hab ich Php noch installiert aber ich bekomme einfach kein Script angezeigt auch nicht mit dem test script....
find ich ein bisschen für den arsch....
und ich gebs langsam auf.. nun hab ich mir das testscript genommen wollt es ein wenig umschreiben...
aber es klappt nicht und anscheinend klappts hier auch nicht. Danke schön...
 
Zuletzt bearbeitet:
MAg mich denn jemand mal im ICQ kontaktieren damit wir vllt besser kommunizieren können?
Beste Grüße

192522149 ist die Nummer!

Drauf sind sie aber sie lassen sich auf einmal anscheinend nicht mehr laden , die applikation zeigt mir IMMER wieder nur das Script von php an -.-
und ich weiß absolutt nicht wieso.
Ja ich versuche dran zu arbeiten da ich kein dropdown menu will, sondern listen, aber auch das klappt nicht echt ätzend...
 
Zuletzt bearbeitet:
Zurück
Oben