Daten vom Popup ins Hauptfenster

blood-rose

Mitglied
Hi,
ich bin Anfänger, was php betrifft, also bitte entschuldigt meine Unwissenheit und vieleicht für euch dummen Fragen;) Habe leider keine 100%ige Lösung für mich in diesem Forum gefunden, bzw sie waren mir nicht ausführlich genug *schähm*

Hier mein "Problem"/meine momentanen Dateien (Die Datei einfuegen.php habe ich mal weggelassen, da sie ja nur die Textfelder ausliest und in die DB schreibt, das funktioniert ja auch):

hauptfenster.php: (In dieser Datei wird ein neuer Datensatz angelegt. Wenn man aber einen Namen aus der Tabelle tbl_Adresse auswählen will, klickt man auf den Button, der das Popupfenster öffnet. Siehe unten)

PHP:
<tr>
<td>
Name:
</td>
<td width="50%">
<input type="text" size="10" name="Name">
<input type="button" name="tbl_Konzern_MC_Button" value="...." onclick="window.open('popups/Namen_popup.php','popup','width=300,height=500')">
</td>
</tr>
</table>

Namen_popup.php: (Hier soll jeder Datensatz als Link erscheinen. Wenn man auf diesen Link klickt, soll dieser Datensazt (in dem Fall der ausgewählte Name) automatisch im hauptfenster.php in das Textfeld eingetragen werden, weiß aber nicht wie ich das genau umsetzen soll:(, da brauche ich also Hilfe)

PHP:
<html>
<head>
</head>
<body>
<?php
$db=mysql_connect("localhost","dbname","psw");
mysql_select_db("dbname", $db);
 
$res = mysql_query("
		 select Name from tbl_Adresse");
$num = mysql_num_rows($res);
echo "<b>$num Datensätze für Name gefunden:</b><br><hr>";
for ($i=0; $i<$num; $i++)
{
	 $nn = mysql_result($res, $i, "Name");
	 echo "$nn <br>";
}
 
mysql_close($db);
 
?>
</body>
</html>

Da ich wirklich ein Anfänger in Sachen Php-Programmierung bin, bitte ich um ausführliche Hilfe. Also Code-Schnippsel, die zu schnippselig sind, werden mir warscheinlich nicht weiterhelfen *gg*. Ich bedanke mich jetzt schon mal für eure Hilfe

LG blood-rose
 
Zuletzt bearbeitet:
Ich habe jetzt leider kein passendes Beispiel zu Hand, so eine Aktion ist aber afaik nicht php möglich. Bzw ich hätte da eine Idee, aber die ist sehr Umständlich. So etwas machst du über Javascript, wenn du wissen möchtest wie das geht, klick mal hier im Forum auf Weitere Smilies... da sollte etwas drinne stehen... ansonsten mal bei den Tuts für JS schauen oder im Forum. Hoffe das hilft dir ;)
 
Edit: Ah, oki werde ich mal durchlesen, danke erstmal;)



warte trotzdem noch auf weitere Anworten;) Das Problem ist eben, dass ich wirklich genau auf meinen Code eine Antwort brauche, weil ich sonst vorne und hinten nicht durchsteige bei den Beispielen. Muss ja auch net Php sein, hauptsache es funktioniert. Die Beispiele, die es schon gibt, bekomme ich irgendwie nicht auf mein Problem umgesetzt:(
 
Zuletzt bearbeitet:
Hi,

das ist eigentlich ein JavaScript-Problem.
Dein Ursprungsfenster sprichst Du mit "opener" an:
Code:
<script language="JavaScript">
<!--
function go(url) {
  opener.location.href = url;
}
//-->
</script>
In diesem Bsp. würde Deine hauptfenster.php auf die einfuegen.php?name=Huber geleitet sofern der Link so ausschaut:
HTML:
<a href="javascript:opener.goToURL('einfuegen.php?name=Huber'); onClick=self.close()">Huber</a>
Das bringt in Deinem Fall aber noch nix, da Du ja die anderen Felder auch noch übertragen mußt.

Wie man in JS Inputfelder anspricht ist hier beschrieben:
http://de.selfhtml.org/javascript/objekte/elements.htm#value

Eventuell könnte die Funktion so lauten:
Code:
<script language="JavaScript">
<!--
function setName(name) {
  opener.Formular.Name.value = name;
}
//-->
</script>
Wobei ich nicht weiß wie Dein Formular heißt und mir nicht sicher bin ob in JS der Variablenname "name" nicht etwa zu Konflikten führt.
 
Ok, ich packs net:( Bekomme es einfach nicht auf meine Bedürfnisse angepasst... Wenn jemand Zeit hat, meinen Code abzuändern ... ;) würde mich mega freuen! Komme total durcheinander mit der Syntax wie ich nun meinen Code mit dem JS kombiniere um nun wirklich zum Ergebniss zu kommen

show.jpg
 
Zuletzt bearbeitet:
Das gehört oben zw. <head> und </head> in der hauptfenster.php:
Code:
<script language="JavaScript">
<!--
function setName(username) {
  opener.Formular.Name.value = username;
}
//-->
</script>
Wobei Formular der Name vom Formular sein muß.

Die Links im Popup müssen so ausschaun:
PHP:
<a href="javascript:opener.setName('<? echo $nn ?>'); onClick=self.close()"><? echo $nn ?></a>

Ungetestet sollte aber so funktionieren.
 
Wenn ich mir den Link anschaue, sehe ich folgendes:


javascript:eek:pener.setName('test1');%20onClick=self.close()

Sieht das denn richtig aus? Weil im Hauptfenster wird mir "Fehler auf der Seite" "gesagt".
Denke das liegt daran, dass ich nicht kapiert hab, wofür username steht :-(
 
Zurück