Datenübertrag bei einer dynamischen Tabelle eines Popups

TomNi

Grünschnabel
hi,

hab vor 5 Wochen php programmieren angefangen. Jetzt steh ich seit 3 Tagen vor einem Problem und komm nicht weiter.

Ich hab auf meiner Hauptseite ein Eingabefeld für die Telefonnummer. Daneben hab ich ein Link zu meinem Telefonbuch.

Das Telefonbuch hat die Möglichkeit per name die Telefonnummer zu suchen(aus der MySql DB). Diese werden dynamisch per php in einer Tabelle ausgegeben (Benutzer hat die Möglichkeit die gewüschte telefonnummer per checkbox button auszuwählen).

Die ausgewählte Telefonnummer(n) soll(en) nun in das Eingabefeld der Hauptseite eingefügt werden. Mir wurde gesagt es soll per java script gehen! Leider hab ich weder von java, noch von javascript viel ahnung.

Kann mir bitte bitte jemand helfen. Bin echt ratlos und will das irgendwie hinbekommen .


Eingabefeld von der Hauptseite:
PHP:
<?
<div class="mmsbig">Telefonnumer:</div>
                <div class="inhaltschrift">    
                    <input type="text" name="telefonnummer" size="45" class="eingabegeld">
                    <a target="popup" onClick="window.open('', 'popup', 'width=800,height=900,scrollbars=yes, toolbar=no,status=no,resizable=yes,menubar=no,location=no,directories=no,top=10,left=10')"href="telefonbuch.php">Telefonbuch</a>
                </div>
?>

Und das ist im Popup:

PHP:
</div>    
        <div>Suchbegriff (Vorname ODER Nachname ODER Firma)
        </div>
        <p></p>
        <?php
            echo '<form method="post" action="">
            <table width="400" border="0">
              <tr>
                <td>&nbsp;</td>
                <td><input type="text" name="suche" size="45" /></td>
                <input type="hidden" name="FUNC" value="1">
                <td>&nbsp;</td>
                <td><input type="submit" name="submit" value="Suchen"></td>
              </tr>
            </table>
            </form>';
        if (!empty($_POST["suche"])&& (($_POST["FUNC"])== "1")) {
        $connection=mysql_connect("localhost", "root", "***") or die ("Verbindungsversuch fehlgeschlagen");
        mysql_select_db("mmsversand", $connection) or die("Konnte die Datenbank nicht waehlen.");


        $sql = "SELECT telefonbuch_id, vorname, nachname , telefonnummer, firma FROM telefonbuch WHERE nachname like '%".$_POST["suche"]."%' OR vorname like '%".$_POST["suche"]."%' OR firma like '%".$_POST["suche"]."%'";

        $adressen_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");
        $anzahl = mysql_num_rows($adressen_query);
        echo "Anzahl der Datensätze: $anzahl \n";

        ?>
        <p></p>
        <table cellpadding="1" cellspacing="3" border="1">
        <tr>
            <td><b>Auswahl</b></td>
            <td><b>Vorname</b></td>
            <td><b>Nachname</b></td>
            <td><b>Firma</b></td>
            <td><b>Telefon</b></td>
        </tr>
    <?php
    while ($adr = mysql_fetch_array($adressen_query)){
    ?>
   <form action=""> <tr>
        <td><input type="checkbox" name="telnr" value="<?=$adr['telefonnummer']?>"></td>
        <td><?=$adr['vorname']?></td>
        <td><?=$adr['nachname']?></td>
        <td><?=$adr['firma']?></td>
        <td><?=$adr['telefonnummer']?></td>
         
    </tr>
    </form>
<?php
    }   
}
?>
</table>            

</table>
<input type="submit" value="Einfügen" size="40">
    <p><p><p>
 
Hi,

mit opener kannst Du auf das öffnende Fenster (Hauptseite) zugreifen.

Die Checkboxen im PopUp kannst mit Hilfe der Methode getElementsByName in ein Array aufnehmen. Dieses
Feld durchläufst Du in einer for-Schleife und wenn ein Checkbox gewählt wurde, schreibst Du den Wert (value)
in das Eingabefeld der Hauptseite.

Beispiel - PopUp-Dokument:
Code:
<html>
<head>
<title>www.tutorials.de - PopUp-Dokument</title>
<meta name="author" content="Quaese">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
  <!--
function setNumbers(){
  var arrNumbers = document.getElementsByName("telnr");

  // Eingabefeld in opener leeren
  opener.document.getElementsByName("telefonnummer")[0].value = "";

  // Nummern-Array durchlaufen
  for(var i=0; i<arrNumbers.length; i++){
    // Falls es sich um eine gewählte Checkbox handelt
    if((arrNumbers[i].type == "checkbox") && (arrNumbers[i].checked==true)){
      opener.document.getElementsByName("telefonnummer")[0].value += arrNumbers[i].value + ", ";
    }
  }

  // Letztes Komma in Eingabefeld entfernen
  opener.document.getElementsByName("telefonnummer")[0].value = opener.document.getElementsByName("telefonnummer")[0].value.substr(0, opener.document.getElementsByName("telefonnummer")[0].value.length-2);
}
 //-->
</script>
</head>
<body>
<form action="">
	<table cellpadding="1" cellspacing="3" border="1">
	  <tr>
	    <td><b>Auswahl</b></td>
	    <td><b>Vorname</b></td>
	    <td><b>Nachname</b></td>
	    <td><b>Firma</b></td>
	    <td><b>Telefon</b></td>
    </tr>
	  <tr>
	    <td><input type="checkbox" name="telnr" value="123"></td>
	    <td>Hans</td>
	    <td>Dampf</td>
	    <td>Firma 1</td>
	    <td>123</td>
	  </tr>
	  <tr>
	    <td><input type="checkbox" name="telnr" value="456"></td>
	    <td>Peter</td>
	    <td>Lustig</td>
	    <td>Firma 2</td>
	    <td>456</td>
	  </tr>
	  <tr>
	    <td><input type="checkbox" name="telnr" value="789"></td>
	    <td>Werner</td>
	    <td>Witzig</td>
	    <td>Firma 3</td>
	    <td>789</td>
	  </tr>
	</table>
</form>
<p><input type="submit" onclick="setNumbers(); return false;" value="Einfügen" size="40"></p>
</body>
</html>
Vielleicht hilft Dir das weiter.

Ciao
Quaese
 

Neue Beiträge

Zurück