mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 13:42 Benutzername: Passwort: Auto-Login

Thema: AJAX-Frage vom 09.05.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> AJAX-Frage
Seite: 1, 2  Weiter
Autor Nachricht
AndiN
Threadersteller

Dabei seit: 31.05.2005
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Fr 09.05.2008 14:11
Titel

AJAX-Frage

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen,

ich bin derzeit noch völliger AJAX-Noob. Das muss sich ändern.

Infos zu meinem Problem:

Ich habe 2 Selectfelder (A und B) in welche ich DB-Einträge aus zwei verschiedenen SQL-Spalten reinlade.

DB-Aufbau:

Spalte A | Spalte B
-----------|-----------------------
eintrag 1 | Apfel Birne Zitrone
eintrag 2 | Banane
eintrag 3 | Kirsche Pflaume

Ausgabe:

Selectfeld A
eintrag 1
eintrag 2
eintrag 3

Selectfeld B (multiselect)
Apfel
Banane
Kirsche
Pflaume
Zitrone

Folgende Aufgabenstellungen möchte ich jetzt mit AJAX lösen:

1) Wenn ich im Selectfeld A einen Eintrag markiere, dann soll - ohne Reload der Seite (deshalb eben mit AJAX) - die Einträge im Selectfeld B markiert werden welche im jeweiligen Eintrag im DB-Feld der Spalte B dem DB-Feld A zugeordnet sind.

D.h. Wenn ich "eintrag 1" anklicke sollen im Selectfeld B "Apfel" "Birne" und "Zitrone" selectiert werden.

2) Das ganze soll auch andersrum funktionieren.

D.h. Wenn ich im Selectfeld A "Birne" markiere dann soll "Apfel" und "Zitrone" im Selectfeld A markiert werden sowie "eintrag 1" im Selectfeld B.

Das Abspeichern kriege ich dann wohl ohne euch hin. *zwinker*

Vielen Dank im Vorraus für eure Hilfe. * Applaus, Applaus *
  View user's profile Private Nachricht senden
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Fr 09.05.2008 22:21
Titel

Antworten mit Zitat Zum Seitenanfang

Hab jetzt keine Zeit, dein Posting richtig zu lesen...

Zitat:
ich bin derzeit noch völliger AJAX-Noob. Das muss sich ändern.

Dann wird dich folgendes sicher interessieren.
Galileo Computing bietet in seiner Openbook-Section das Buch JavaScript und AJAX - Das umfassende Handbuch von Christian Wenz zum kostenlosen Online-lesen an. Oder als Download (ZIP-Datei ca. 9,4 MB)
  View user's profile Private Nachricht senden
Anzeige
Anzeige
AndiN
Threadersteller

Dabei seit: 31.05.2005
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Sa 10.05.2008 00:23
Titel

Antworten mit Zitat Zum Seitenanfang

Danke... aber... also irgendwie vermisse ich das Kapital "AJAX & SQL".
Genau das brauche ich eigentlich. *hu hu huu*
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Sa 10.05.2008 01:11
Titel

Antworten mit Zitat Zum Seitenanfang

Ajax bietet dir auch keine Möglichkeit direkt mit einer Datenbank zu kommunzieren,
sondern nur mit einem Script (z.B. PHP) welches deine Datenbank Abfragen sendet.

Dazu hat Rob ja schon den Tipp zum Openbook gegeben:

http://www.galileocomputing.de/openbook/javascript_ajax/18_ajax_002.htm#af62bc0d1857260b20770001d019a5b6

Ich verstehe leider nicht so wirklich was genau du vorhast, vermute aber das Ajax hier nicht notwendig ist.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
AndiN
Threadersteller

Dabei seit: 31.05.2005
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Sa 10.05.2008 01:29
Titel

Antworten mit Zitat Zum Seitenanfang

m hat geschrieben:
Ich verstehe leider nicht so wirklich was genau du vorhast, vermute aber das Ajax hier nicht notwendig ist.


Ich habe folgendes vor:

1) Ich lese zwei SQL-Spalten in zwei Selectfelder ein
2) Ich klicke auf einen Eintrag im Selectfeld 1 und dann soll er mir die Einträge im Selectfeld 2 selectieren die in der SQL-DB miteinander verknüpft sind.

Bspl.:

Spalte 1 | Spalte 2
----------|------------------------------
Auto | Kolben, Scheibe, Benzin
Fahrrad | Lenker, Klingel


Wenn ich jetzt im Selectfeld 1 auf Auto klicke, dann sollen im Selectfeld 2 die Einträge "Kolben", "Scheibe" und "Benzin" selektiert sein. Die Einträge "Lenker" sowie "Klingel" sollen nicht selektiert sein. Wennich im Selectfeld "Fahrrad" wähle ist es genau umgekehrt.

Da er nicht wissen kann was ich auswähle muss ich quasi die SQL-Abfrage "Welcher Werte stehen bei 'Auto' in der Spalte 2 drin" mit AJAX lösen da ich sonst entweder im Vorraus sämtliche möglichen Abfragen machen muss und diese zwischenspeichern oder die Seite neu laden muss.


Zuletzt bearbeitet von AndiN am Sa 10.05.2008 01:31, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
AndiN
Threadersteller

Dabei seit: 31.05.2005
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Sa 10.05.2008 02:50
Titel

Antworten mit Zitat Zum Seitenanfang

Ich bin denke ich gaaaanz nah dran.
Wenn ich derzeit auf den Eintrag vom Selectfeld 1 klicke werden jedoch leider nicht die dazugehörigen Einträge im Selectfeld 2 selectiert sondern das Selectfeld 2 wird leer angezeigt.

Anbei meine beiden Dateien:

Formular
Code:

<script language="javascript" type="text/javascript">
<!--
function zuordnung()
{
   try {
      req = window.XMLHttpRequest?new XMLHttpRequest():
      new ActiveXObject("Microsoft.XMLHTTP");
   } catch (e) {
      //Kein AJAX Support
   }
 
   req.onreadystatechange = handleResponse;
   id = document.getElementById('stichwortnew').value;
   req.open('get','func.php?s='+id,true);
   req.send(null);
}
 
function handleResponse()
{
   if ((req.readyState == 4) && (req.status == 200))
   {
      document.getElementById('stichwortalt').innerHTML = req.responseText;
   }
}
//-->
</script>
<?php include ("connect.inc.php"); ?>
<form name="stichwortform" enctype="multipart/form-data">
<select name="stichwortalt" size="31" multiple class="text" style="width:246px;">
<?php
$sql = mysql_connect($host_porta,$user_porta,$pword_porta);
mysql_select_db($db_porta,$sql);
$connect = @mysql_query("SELECT stichwort FROM stichwoerter_alt ORDER BY stichwort");
while($val = mysql_fetch_object($connect))
{
   $Heilverfahren = $val -> stichwort;
?>
<option value="<?php echo $Heilverfahren; ?>"><?php echo $Heilverfahren; ?></option>
<?php
}
?>
</select>
<select name="stichwortnew" size="30" onChange="zuordnung();">
<?php
$sql3 = mysql_connect($host_porta,$user_porta,$pword_porta);
mysql_select_db($db_porta,$sql3);
$connect3 = @mysql_query("SELECT id,stichwort FROM stichwoerter ORDER BY stichwort");
while($val3 = mysql_fetch_object($connect3))
{
   $IDsw = $val3 -> id;
   $swortneu = $val3 -> stichwort;
?>
<option value="<?php echo $IDsw; ?>"><?php echo $swortneu; ?></option>
<?php
}
?>
</select>
</form>



func.php
Code:

<?php
include ("connect.inc.php");
$sql = mysql_connect($host_porta,$user_porta,$pword_porta);
mysql_select_db($db_porta,$sql);
$connect = @mysql_query("SELECT alte_stichwoerter FROM stichwoerter WHERE id = ".$s."");

while($val = mysql_fetch_object($connect))
{
   $stichw = $val -> alte_stichwoerter;
}
$array_stichw = explode("|||",$stichw);

echo '<select name="stichwortalt" size="31" multiple class="text" style="width:246px;">';
$sql = mysql_connect($host_porta,$user_porta,$pword_porta);
mysql_select_db($db_porta,$sql);
$connect = @mysql_query("SELECT stichwort FROM stichwoerter_alt ORDER BY stichwort");
while($val = mysql_fetch_object($connect))
{
   if(array_search($val,$array_stichw) == FALSE)
   {
      echo '<option value="'.$val.'">'.$val.'</option>';
   }
   else
   {
      echo '<option value="'.$val.'" selected>'.$val.'</option>';
   }
}
echo '</select>';
?>


Findet jemand den Fehler? * Keine Ahnung... *


Zuletzt bearbeitet von AndiN am Sa 10.05.2008 02:53, insgesamt 4-mal bearbeitet
  View user's profile Private Nachricht senden
AndiN
Threadersteller

Dabei seit: 31.05.2005
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Fr 16.05.2008 00:03
Titel

Antworten mit Zitat Zum Seitenanfang

Fehler gefunden. Läuft jetzt.

Thema beendet.
  View user's profile Private Nachricht senden
xBe

Dabei seit: 04.06.2006
Ort: Mönchengladbach
Alter: 34
Geschlecht: Männlich
Verfasst Fr 16.05.2008 00:28
Titel

Antworten mit Zitat Zum Seitenanfang

AndiN hat geschrieben:
Fehler gefunden. Läuft jetzt.

Thema beendet.



Wenn du nun noch reinschreibst was der Fehler war, dann können wir in Zukunft doppelte Themen vermeiden.

Lächel


xBe
  View user's profile Private Nachricht senden
 
Ähnliche Themen [Ajax] Prototype Funktion Ajax.Updater - Brauche Hilfe
AJAX
AJAX] Formulare
jquery php und ajax
Wie Aufwändig ist AJAX?
AJAX Seitenaufruf
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.