• 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!!

Xceed

New member
Schönen guten Abend,

ich trete an euch da ich sonst nicht weiterweis!
Und zwar muss ich für die *** eine Website bauen die mit Ajax arbeitet, sprich html xml js und ajax....
So ich habe eine süße kleine homepage und gebe in einem bereich dieser seite 2 frames, sagen wir links und rechts... im linken Frame wird eine bücherliste vorgewiesen.... ich möchte mit einem onClick verfahren unter JS, Informationen dynamisch im "rechten" Frame anzeigen....
Aber dazu gehört auch ein Bild...Die Informationen kommen aus der XML, da baut sich auch schon die erste Frage auf:
Wie kann ich Bilder in der XML einbauen und diese dann mit dem "onClick" verfahren in einem Frame der Page aufrufen?

So dann weiter.
Allgemein hasse ich das dumme coden jetzt schon :p
Vor allem einfach ins kalte Wasser geschmiessen zu werden...
Naja so weit so gut. Wenn wir das so hinbekommen das wir via Ajax die Informationen im rechten Frame aufrufen können dann wäre das perfekt und ich fertig...

Achja eine triviale Frage noch:
Wie bekomme ich die Tabellen im Html dynamisch so das sie sich dem Text anpassen bzw statisch: mit higth oder wie?
Ich bin sehr eingerostet und sehr hilflos, ich hoffe ihr könnt mir helfen.

Mit freundlichen Grüßen
Xceed
 
Was meinst du mit "Bild in XML"?
Wie schaut dein Code bis jetzt aus?
Was funktioniert nicht?
Warum verwendest du Frames, wenn du eh mit AJAX arbeiten willst?
Wer zwingt dich, das mit AJAX zu machen?
Wenn du das ganz so hasst - warum machst du's überhaupt?

Fragen über Fragen.
 
Ich mache das weil es eigentlich Spass macht, ich find es nur doof wenn die Dozenten uns quälen alles step-by-step zu machen.
Wer das will? Die Uni
Wieso Frames? Weil ich in dem linken Frame ganz simpel die anzuklickende Büchtertitel schreibe und rechts dann die informationen dazu anzeigen möchte, ich habe bisher gelesen das dies mit ajax geht.. aber mein Problem ist es .. das ich auch bilder von den bücher zu diesen informationen hin angegeben habe...
Mein bisheriger Code:
Html:
HTML:
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Rincewind's Bibliothek</title>
<link rel="stylesheet" type="text/css" href="css_datei.css" /> 
</head>
<body bgcolor="#526D54">
<center>
<div class="eingerueckt"> 
	<table id="banner">
		<tr>
			<td><img src="banner1.jpg" alt="Banner" />
			</td>
		</tr>
	</table>
</div>

<div class="content">
	<table>
		<tr class="menu">
			<td class="menu">
			<div class="midde">
				<b><a href="Home.html"> Home </a></b>
		</td>
		<td class="menu">
			<div class="midde">
				<b><a href="Ich.html"> Myself </a></b>
		</td>
		<td class="menu">
			<div class="midde">
				<b><a href="Terry_Pratchett.html"> Terry Pratchett </a></b>
		</td>
		<td class="menu">
			<div class="midde">
				<b><a href="Bücher.html"> Bibliothek </a></b>
		</td>
		<td class="menu">
			<div class="midde">
				<b><a href="contact.html"> Kontakt </a></b>
		</td>
		</tr>
	</table>	
</div><br>
<table class="tabelle">
<tr>
<td class="listing"></td><!-- Hier muss noch die Information zeum Aufrufen aus der XML Datei hinzugefügt werden! -->
<td class="blank"></td>
<td class="ajaxinfo"></td><!-- Hier wird der Content aus der Ajax Applikation angezeigt! -->
<tr>
</table>
<div class="eingerueckt">
	<b>© Copyright:<br>Informationen über die Bücher, stammen zum Teil durch eigenes Lesen.<br>Der andere Teil stammt aus dem Internet</b>
</div></center>
</body>
</html>
Ja meine CSS Datei sieht so aus:
Code:
body {background:#526D54;}



table.tabelle {
			height: 450pt;
			}

h2 {
   color: #4169E1;
   font-family: arial;
   text-align: center;
   }
   
b {
  color: black;
  font-family: georgia;
  font-weight: 100;
  font-size: 8pt;
  }

l  {
  color: black;
  font-family: georgia;
  font-weight: 100;
  font-size: 8pt;
  text-align:center;
  }

td b {
  color: black;
  font-family: arial;
  font-weight: 100;
  font-size: 12pt;
  }
   
#teingerueckt {margin-left: 200px;}
#txeingerueckt{ margin-left: 620px;}

#head{ margin-left: 340px;}



#einleitung {color: black;
  font-family: georgia;
  font-weight: 200;
  font-size: 18pt;
  text-align:center;}
  
  
#banner  {border-width: 0pt;
          border-style: ridge;
          border-color:black;
          }

  
#o {
  color: black;
  font-family: georgia;
  font-weight: 100;
  font-size: 12pt;
  text-align:center;}

td.menu {background: #526D54;
		vertical-align: middle;
		text-align: center;
        width: 150pt;
       }

td.blank { background: #526D54;
			width: 30pt;
			padding: 3px;
			}
			

td.content {
			border-width: 1pt;
			border-style: ridge;
			border-color:black;
			width:600pt;
             }
			 
td.listing {
			background: #556B2F;
			border-width: 1pt;
			border-style: ridge;
			width: 360pt;
			margin-right: 50px;
			}
			
td.ajaxinfo {
			background: #556B2F;
			border-width: 1pt;
			border-style: ridge;
			width: 360pt;
			margin-left: 50px;
			}

div.link {padding-left:110px;
		}

div.eingerueckt { margin-left: 0px;}



div.content {margin-top:10px;
			margin-left: 0px;}


div.midde {padding-left: 15px;}
und die XMLwäre zu groß...
ein kleiner teil davon:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="t_p_scheibenwelt.xsl" ?>

<Sammlung>
    <buch>
        <grafik>
            <bild pfad="tp2.jpeg" name="Bild"/>
        </grafik>
         <titel>Darwin und die Götter der Scheibenwelt</titel>
        <seitenanzahl>384 Seiten</seitenanzahl>
        <erscheinungsjahr>2007, 2.Auflage Piper Verlag</erscheinungsjahr>
        <kurzbeschreibung>Was geschieht, wenn sich die Realitäten verschieben und Charles Darwin die Evolution plötzlich nicht mehr als naturwissenschaftliches Phänomen, sondern als göttliches Werk begreift? Rincewind und die anderen Zauberer der Scheibenwelt stehen vor einem Rätsel. Und als sie die Geschichte korrigieren wollen, stiften sie nichts als Unheil.</kurzbeschreibung>
        <bewertung>4 Sterne</bewertung>
    </buch>

So bei der XML soll ein Bild von dem Buch und ein Bild für die Bewertung , in der HTML datei angezeigt werden.

Achja keine Sorge... das sieht Anfängerhaft aus.. ist es auch :p
Mein Problem, genau richtig.. ich will ein Bild was als Information in der XML lagert, nacher beim klicken auf den Buchtitel im rechten Frame meiner PAge aufrufen....
 
Ich hab's immer noch nicht wirklich verstanden.
Du hast eine riesige XML-Datei mit den Büchern und diese XML willst du jetzt mit JS laden und dann auch verarbeiten?
Da wär' aber eine serverseitige Lösung besser (schneller).

PS: gutes Buch
 
Jop eigentlich mit Ajax aber das is ja JS und XML...
und ja ich will die XML datei, bzw die Infors zu den Titel über JS wenn es denn ajax verlangt , auf meine website laden, ohne das sich diese neuaufbaut!

P.S: alle sind top!
 
Das Konzept klingt alles andere als durchdacht. Und es scheint, als ob du nicht wirklich verstanden hast, wozu die diversen Techniken nützlich sind.

AJAX ist eine komfortable Technik um Teile von Daten in eine Seite einzubinden, in gewisser Weise ist es ein Ersatz für Frames, i.d.R. kann man AJAX mit Frames ersetzten. Beides zu nutzen macht wenig Sinn. Genauso ist es nicht unbedingt sinnvoll JS die ganze Arbeit machen zu lassen, wenn es um Datenaufarbeitung geht.

Und was das Bild anbelangt, das ist doch lediglich als Referenz in deinem Code, es wird doch gar nicht in dem AJAX Request übertragen, sondern wird bzw. wollte vom Browser geholt werden, wenn du entsprechenden HTML Code in die Seite einbindest.
 
1 Tag suche, keine Lösung!

Sorry für den neuen Thread,

also ich habe meinen Code nun umgeschrieben arbeite nur mit div und span tags.
Nun hab ich alles soweit fertig doch meine Applikation wirft die Informationen nicht aus die ich brauche, ein Freund meinte mir fehle in der function in der html die parameter:
HTML:
<li onclick="buchsuche();"> Hohle Köpfe</li>
			<li onclick="buchsuche();"> Der Zeitdieb</li>
			<li onclick="buchsuche();"> Ab die Post</li>
			<li onclick="buchsuche();"> Der Winterschmied</li>

Es geht darum das er sich per Klick auf einen dieser Büchertitel , die Informationen lädt, so nun aber habe ich das PRoblem das er mir nicht die Informationen ausgibt, weiss einer wie ich das am besten umsetze?
anbei noch js und php code
PHP:
<?php

$q=$_GET["q"];

$xmlDoc = new DOMDocument();
$xmlDoc->load("t_p_scheibenwelt.xml");

$x=$xmlDoc->getElementsByTagName('titel');

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("<br />");
  } 
}

?>

JS:
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);
}

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

Tut mir leid das ich euch nerve aber danke dennoch für jede Hilfe!
 
AW: 1 Tag suche, keine Lösung!

Dein Freund hat recht.

PS: wo wir in JS die Variable xmlDoc definiert?
 
gar nicht?
Damn!
nungut wie kann ich das mit der Variablen lösen?

Ein Ansatz von mir ist es in der XML Datei allen eine ID zu geben sprich buch eins bekommt ID a1 oder so, und dann geb ich in der html einen parameter mit der dann über js im php mit einer for schleife die xml instanz absucht nach passender id und diese dann auswirft.. aber habe ich nicht dann das problem das ich für ein falsches buch eine id bekommen kann?!?!

gruß Xceed
 

oder hier her?
responseXML Property (IXMLHTTPRequest)
lass dir einfach den jeweiligen buch-knoten als xml zurückgeben und nicht als text den du dann selbst parsen mußt, das übernimmt dir dann das XMLHttpRequest objekt und du kannst über die DOM methoden auf deine ausgabe zugreifen. oder du sendest gleich beide elemente infos und titel als html, die du dann als ganzes einfügst. oder die nächste variante, du hast den titel doch in deiner bücherliste (das element, welches den request auslöst, hat doch den buchtitel)

nungut wie kann ich das mit der Variablen lösen?
übergebe der funktion eine. der code ist nicht von dir, oder?!

Ein Ansatz von mir ist es in der XML Datei allen eine ID zu geben sprich buch eins bekommt ID a1 oder so, und dann geb ich in der html einen parameter mit der dann über js im php mit einer for schleife die xml instanz absucht nach passender id und diese dann auswirft.. aber habe ich nicht dann das problem das ich für ein falsches buch eine id bekommen kann?!?!
woher sollst du für ein falsches buch eine id bekommen? die idee finde ich besser, als immer den titel durch die gegend zu reichen (und schneller).
du lässt dir sicher mit php eine liste aller bücher generieren. hier verpasst du den elementen noch deine buch-id. bei einem click auf das element besorgst du dir die id, machst damit deinem request. diesem gibst du die id als parameter mit. im php suchst du jetzt wieder das buch mit der id, sendest eine antwort wie in oben beschrieben.
 
JA doch der Code ist schon von mir, kp w3c-schools hilft..
Das dumme ist wir haben eine Aufgabe von der Uni und wir haben diesbezüglich nur seeeehr wenig gelernt...
nun hab ich die idee und kann sie nicht übersetzen , das ist mein Problem , meinen Bücher ids geben ist kein Ding, das mach ich gleich mal in der XML und schau mal wie ich das bewerkstelligen kann. Hat irgendwer vllt. für mich ein Tutorial was das angeht?

Beste Grüße
 
nun hab ich die idee und kann sie nicht übersetzen , das ist mein Problem , meinen Bücher ids geben ist kein Ding, das mach ich gleich mal in der XML und schau mal wie ich das bewerkstelligen kann. Hat irgendwer vllt. für mich ein Tutorial was das angeht?
was jetzt? id's vergeben? du schreibst einfach id="deine_id" in das xml für alle deine bücher. da Bücher eine ISBN haben, würde sich diese z.b. anbieten.
 
Also XML Response hab ich nun drin a la:
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);
}


Ids ab ich einfache genommen da ich nur 20 Bücher vorerst nehme.
Nun arbeite ich mich langsam ran wie ich der function den befehl für die id geben , die schleife in der php kann ich glaub ich schon bearbetien, dank buch und internet..
Ansonsten deine Hilfe nehme ich gerne an !

P.S du zitierst mich gerne :p
 
Nun arbeite ich mich langsam ran wie ich der function den befehl für die id geben
verstehst du das, was du da machst? deine funktion buchsuche bekommt einen parameter übergeben, str. dieser parameter wird an das php-script weitergereicht, als q. wenn du deine funktion buchsuche also mit deiner id als parameter aufrufst, hast du diese dann im php-script auch zur verfügung und kanst das buch mit dieser id suchen.


P.S du zitierst mich gerne
ja
 
Also XML Response hab ich nun drin a la:
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);
}
Die Funktion ist schlecht, warum merkst du grad selber, du überprüfst so gut wie nichts auf Gültigkeit, beachtest kaum Regeln.

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)

und noch ein Tipp, in JS (und in den meisten anderen C ähnlichen Sprachen) kannst du Additionen in der value = value + x auch so schreiben value += x
Wobei ich die Zuweisung an url in einem statement machen würde.
 
Schlag mich , aber ich habe ne applikation gesehen mit nem drop down menu, die habe ich halt übernommen und wollte dieses verfahren anstatt mit dem menü über listen machen so das ich was in der liste anklicke nd das gleiche ergebnis bekomme, naja klappt nicht so ganz.

und ja ich weiss was die da machen mit den parametern bin da gerade hinter gekommen,
arbeite gerade in der php an der zuweisung
$cd=($y->childNodes) finde noch heraus was die operatoren bedeuten also "-> <= dann denk ich verstehe ich den loop in der php.

Und komme meinem Ziel einen SChritt näher..

Wie gesagt ich habe vorher NIE was mit php und so zu tun gehabt und die einführung in js im seminar beziehen sich auf lustige alerts nen mouseover und onclik..
Also ich entschuldige mich wenn ich mit meiner trivialität die leute nerve!

Greetz Xceed
 
Wie gesagt ich habe vorher NIE was mit php und so zu tun gehabt und die einführung in js im seminar beziehen sich auf lustige alerts nen mouseover und onclik..
Also ich entschuldige mich wenn ich mit meiner trivialität die leute nerve!
Die Frage die ich mir Stelle ist, ob du jemals etwas mit programmierung zu tun hattest?

Aber von nerven kann man nicht sprechen, es wäre nur netter, wenn du etwas mehr auf die Antworten eingehen würdest. Es macht immer den Eindruck, als ob du wieder zwei oder drei Schritte weiter bist, als das was du hier gefragt/gesagt hast. Für Aussenstehende, die nicht Wissen was du gerade machst, kann das frustrierend sein.
 
Schlag mich , aber ich habe ne applikation gesehen mit nem drop down menu, die habe ich halt übernommen und wollte dieses verfahren anstatt mit dem menü über listen machen so das ich was in der liste anklicke nd das gleiche ergebnis bekomme, naja klappt nicht so ganz.
doch, prinzipiell geht das

und ja ich weiss was die da machen mit den parametern bin da gerade hinter gekommen,
arbeite gerade in der php an der zuweisung
$cd=($y->childNodes) finde noch heraus was die operatoren bedeuten also "-> <= dann denk ich verstehe ich den loop in der php.
ich rede erst mal von der JS-funktion. aber nach der aussage hier, ... ich weiß gar nicht was ich dazu sagen soll.
es ist doch egal was der code macht. du mußt doch wissen, was er machen soll. was erwartest du denn als ausgabe?
 
Zurück
Oben