Datenübergabe bei Popup in PHP

adapro

Grünschnabel
Hallo, ich bin neu hier im Forum und hoffe auf Hilfe bei dem Problem mit Datenübertragung auf Popup-Fenster.

Ich programmiere derzeit eine Site mit einer MySql-DB und PHP-Abfrage.
In der Datei 'daten_ausgabe.php' wird minimiert ein Reiseangebot angezeigt, bei Klicken
auf den 'mehr'-Link soll sich nun ein vordefiniertes Popup-Fenster öffnen mit der kompletten Anzeige der Daten.
Das Popup funktioniert auch, nur leider werden die Werte (id) falsch mit übertragen, siehe:

http://www.testseite.dassel-berlin.de/db_seiten/daten_ausgabe.php

Das entsprechende Skript dazu:

php (erster Teil zur Ermittlung der Einträge wg. Umblättern):

PHP:
<?php

require('connect.php');

$anzeigen = 3;

if($vor){$start=$limit+$anzeigen;}
if($back){$start=$limit-$anzeigen;}
if(!$start){$start=0;}

//Auslesen der Einträge nach Freigabe über check
$sql = "SELECT * FROM $tabellenname WHERE check=1 ORDER BY datum DESC LIMIT $start, $anzeigen";
$result = @mysql_query($sql,$link);

for($i=0;$i<mysql_num_rows($result);$i++)
{
  $ergebnis[$i]=mysql_fetch_array($result);
}

//Ermitteln der Anzahl der Einträge
$sql1 = "SELECT check FROM $tabellenname WHERE check=1";
$result1 = mysql_query($sql1,$link);
$max = mysql_num_rows($result1);

?>

das funktioniert auch prima, weiter gehts dann hier:

php im <body>-Bereich 2. Teil:
PHP:
<html>
<head><title>test</title></head>
<body>

----
<?php

for($i=0;$i<count($ergebnis);$i++)

{
  $anz = mysql_result($result,$i,'id');
  echo "<center><table border=0 width=181 cellspacing=1 cellpadding=0 bgcolor=#85C2E5><tr><td align=center><table border=0 cellspacing=0 cellpadding=3 width=180 bgcolor=#ffffff>";
  echo "<tr><td class=head bgcolor=#85C2E5 alig=left> ".$ergebnis[$i][head]."</td></tr>";
  echo "<tr><td align=left class=a bgcolor=#ffffff> ".$ergebnis[$i][ktext]."</td></tr>";
  echo "<tr><td class=a align=left bgcolor=#ffffff> ".$ergebnis[$i][text1]."</td></tr>";
  echo "<tr><td class=aa align=left bgcolor=#ffffff> ".$ergebnis[$i][preis]."</td></tr>";
  echo "<tr><td class=b align=right bgcolor=#ffffff>";
  echo "<SCRIPT LANGUAGE='Javascript'>

function popup(){win=window.open('daten_ausgabe-komplett.php?id=$anz','Artikel','width=550,height=570,resizeable=yes,scrollbars=no');}</SCRIPT>" ;
  echo "<a href='javascript:popup()'>mehr...</a></td></tr></table></td></tr></table></center>";

}

//Ausgeben der Links vor und zurück
echo "<center><table border=0 width=180><tr><td align=left>";
if($start>=$anzeigen){echo "<a href='".$PHP_SELF."?limit=".$start."&back=1'>Zur&uuml;ck</a>";}
echo "</td><td align=right>";
if($start+$anzeigen<$max){echo "<a href='".$PHP_SELF."?limit=".$start."&vor=1'>Weiter</a>";}
echo "</tr></table></center>";

?>

<br /><br />
</body>
</html>
Vielleicht kann mir da jemand helfen? Wäre echt klasse!
Danke!!!
 
Zuletzt bearbeitet von einem Moderator:
Das Problem ist, dass Du für jede einzelne ID eine eigene Popup-Funktion erstellst. Änder das Script doch so ab, dass Du die ID mit PHP erst in den Link übergibst und dann mit JS ausliest:

Code:
<?php
echo "<a href=\"javascript:popup($anz)\">...</a>";
?>
<script language="JavaScript">
<!--

function popup(id)
{
  win = window.open("daten_ausgabe-komplett.php?id=" + id, "Artikel", "width=550, height=570, resizeable=yes, scrollbars=no");
}
//-->
</script>

Und nebenbei solltest Du das JavaScript auch nach möglichkeit schon weiter oben deklarieren, damit es schon geladen ist, wenn der Body-Bereich angezeigt wird. ;)

PS: Bitte beim nächsten Mal Gebrauch von den Code-Tags hier im Forum machen, um den Quelltext zu strukturieren. :)
 
danke, funktioniert!

Vielen Dank Lirion, funktioniert prima!

Allerdings mußte ich im php-Script 'javascript' als ein Wort schreiben und die Kommentare <!-- ... //--> in der function popup() weglassen.

Super, danke nochmals ; )
 
Das ist Lirion schon klar, der Forumparser ist daran schuld - er zerhackstückelt Javascript in Java und script. Die Kommentare sind aber eigentlich richtig ... :)
 

Neue Beiträge

Zurück