PHP MySQL Datenübergabe in Frame??

Dieses Thema PHP MySQL Datenübergabe in Frame?? im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von safer, 16. März 2005.

Thema: PHP MySQL Datenübergabe in Frame?? Moin, ich habe in PHP ein Formular gebaut, das mir aus einer SQL Datenbank Daten liefert. Also als Beispiel: Gebe...

  1. Moin,
    ich habe in PHP ein Formular gebaut, das mir aus einer SQL Datenbank Daten liefert.
    Also als Beispiel:
    Gebe mir alle Adressen mit dem Länderkenzeichen FIN zurück.
    Funktioniert soweit auch alles einwandfrei. Das Ergebnis wird auf einer neuen Seite ausgegeben.

    Jetzt habe ich folgendes Problem:
    Will ich das Ergebnis aber in einem Frame zurückgeben funzt es nicht.
    (Es werden keine Daten zurückgegeben)

    Ich muss es in einem Frame haben, da ich oben die Liste der ausgegebenen Daten habe, und unten ein Formular wo ich die einzelnen Datensätze bearbeiten kann.
    Was muß ich machen, das mir die Daten auch im Frame zurückgegeben werden.

    Frame:
    <frameset rows=50%,*>
    <frame name=frmList src=ausgabelist.php>
    <frame name=frmEdit src=ausgabeedit.php?action=new>
    </frameset>

    Also wenn ich die Daten direkt in ausgabelist.php ausgebe, funzt es.
    Möchte ich die Daten aber in oben aufgeführten Frame anzeigen lassen geht es nicht.
    Wo ist mein Gedankenfehler??

    danke und gruß
    safer
     
  2. Eine Möglichkeit währe, dass du im oberen Frame eine Auswertung machst, und die betreffendende Datensatz-ID an das untere Frame per JavaScript sendest.

    in etwa so:
    Code:
    <?php
    // Auswertung der Datenbank
    // z.B. Datensatz (ds) = 10;
    $ds = 10;
    ?>
    <body onLoad=parent.frmEdit.location.href='ausgabeedit.php?action=new&datensatz=<?php echo $ds; ?>'>
    
    
    Dazu ist es aber ZWINGEND erforderlich, dass du die DB-Auswertung VOR dem <BODY> Tag machst.


    gruss conny
     
  3. Moin,
    danke für deine Antwort, aber das ist nicht das Problem. Im Frame läuft alles einwandfrei.
    Also oben die Liste unten die Seite zum editieren. Funktioniert!
    Mein Problem ist, wenn ich den Frame aufrufe, kommen alle Datensätze aus der Datenbank.
    In ausgabelist.php steht folgende SQL Anweisung:
    mysql_query(select * from adressen order by nname )
    Wie gesagt, das funzt einwandfrei.
    Mein prob ist, wenn ich den Frame aufrufe möchte ich vorher eingeben, welches Land angezeigt werden soll. (Wenn alle kommen, wird es unübersichtlich über 1500 Datensätze)

    Rufe ich die ausgabelist.php mit dieser Form direkt auf (nicht im Frame),
    <form action=ausgabelist.php method=GET>
      <input type=text size=3 name=sqllandkz>
      <input type=submit value=OK>
      </form>

    Alles einwandfrei, es werden nur die Länder angezeigt , die ich haben möchte.
    Jetzt mein Problem: wird die ausgabelist.php im Frame aufgerufen, werden mir keine Daten mit dem sqllandkz angezeigt.

    Hoffe ich konnte es jetzt ein wenig verständlicher rüberbringen

    Danke und gruß
    safer
     
  4. OK, hab das Szenario mal nachgebaut, ich hab ehrlich gesagt k.A. wo der Wurm drinn sein soll. :-\
    Oder ich bin hier bei ner falschen Diagnose :-\

    Frame-Links (bei dir Oben)
    Code:
    <?php
    ....
    
    include('adodb/adodb.inc.php');
    $conn = &ADONewConnection('mysql');
    $conn->PConnect('localhost','xxxxx','xxxxx','frame_test');
    $sql =->select name, id from kontinent ORDER by name';
    $rs = $conn->Execute($sql);
    
    print <h2>Frame Links</h2><br><br>;
    print <form action='../main/main.php' target='main' method='POST'>;
    print $rs->GetMenu2('kontinent',$_POST['kontinent'],false);
    print <input type='submit' value='Übernehmen' name='submit'>;
    print </form>;
    
    ....
    ?>
    
    Main-Frame (bei dir Unten)
    Code:
    <body>
    <h2>Main Frame</h2>
    <?php
    if($_POST['kontinent']) {
    	include('adodb/adodb.inc.php');
    	$conn = &ADONewConnection('mysql');
    	$conn->PConnect('localhost','xxxxx','xxxxx','frame_test');
    	$sql =->select id, name from land WHERE kon_id='.$_POST['kontinent'].' ORDER by name';
    	if($rs = $conn->Execute($sql)) {
    		while ($arr = $rs->FetchRow()) {
    			 print $arr[1].<br>;
    		}
    	}
    }
    ?>
    </body>
    

    gruss conny
     
  5. Hallo Conny,
    herzlichen dank erstmal, das du dich da so reindenkst ;)

    Wenn wir mal von deinem Beispiel ausgehen, wählst du links aus (wäre bei mir oben) Rückgabe rechts soweit alles OK.

    Ich möchte aber vorher die Auswahl mitgeben.

    Bevor deine Beispielseite in Frames aufgeht.
    (Also gebe ich auf der Seite mein länderkz ein) OK und
    jetzt wird der Frame aufgerufen.
    Nun sollen alle Länder (links) angezeigt werden, die meiner Vorgabe entsprechen
    Sodass links jetzt eine Liste steht mit allen Ländern(bei mir Adressen mit dem vorher mitgegebenen länderkz ) die in der Datenbank vorhanden sind.
    Und rechts kann die linke Seite editiert werden.

    Das ist eigentlich mein Problem.

    Werde mal Versuchen das Problem Online zu stellen, wir aber etwas dauern.

    Danke und Gruß

    safer
     
  6. Jup, Online stellen ist ein Wort ;) ;)
     
  7. OK, jetzt kapier sogar ich was du willst ;) :D

    Hab das irgendwie nicht kapiert, dass du das Frameset schon mit Parametern öffnen willst :-\

    Nun gut, so kann das nix werden. Du Übergibst zwar die Variable sqllandkz an das Frameset, aber an das Obere Frame übergibst du es nicht ;D ;D

    Dazu musst nun das Frameset in *php umwandeln und das obere Frame mit der Variablen sqllandkz aufrufen.

    Dann sollte die Sache rennen ;) ;)


    gruss conny
     
  8. Danke, werde es mal so versuchen.
    Melde mich dann nochmals

    gruß
    safer
     
  9. Hiiiiiiiiiilfe,
    entweder bin ich zu blöd oder ich kann einfach nicht vom Schlauch runter. ;D ;D

    Hab jetzt mal das Frameset in php umgewandelt, und hab das obere Frame mit der Variable spllandkz aufgerufen. Es wird aber immernoch nichts Angezeigt. :-[

    Gruß
    safer
     
  10. Sollte aber funktionieren.
    Hab's gerade nochmal getestet ;)

    Sieht ungefähr so aus (OK, mein Beispiel hat 3 Frames)

    Code:
    
    <?php
    $param = false;
    if($_REQUEST['sqllandkz']) $param = skllandkz=.$_REQUEST['sqllandkz'];
    ?>
    <frameset cols=250,* frameborder=NO border=0 framespacing=0>
     <frame src=menu2/frame_left.php name=leftFrame scrolling=NO noresize>
     <frameset cols=*,135 frameborder=NO border=0 framespacing=0>
    		<frame src=main/main.php?<?php echo $param; ?> name=main>
    		<frame src=menu2/frame_right.php name=rightFrame scrolling=NO noresize>
    	</frameset>
    </frameset>
    
    
    und in der Main.php musst du dann $_REQUEST['sqllandkz'] abfragen.


    gruss conny
     
Die Seite wird geladen...

PHP MySQL Datenübergabe in Frame?? - Ähnliche Themen

Forum Datum
Versionsprobleme mit der "mysql.dll" (32 und 64bit) Windows 7 Forum 28. Juni 2016
Mysql-Zugriff via batch Webentwicklung, Hosting & Programmierung 16. Okt. 2014
Automatisierte MySQL Backups erstellen Windows XP Forum 28. Aug. 2012
iis7 verträgt sich nicht mit mysql Windows XP Forum 2. Aug. 2012
Programmierer (PHP/MySQL) für WinTotal gesucht! Windows XP Forum 20. Mai 2012