WinFuture-Forum.de: Popup Fenster Mit Php öffnen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Popup Fenster Mit Php öffnen


#1 Mitglied ist offline   DAAC 

  • Gruppe: Mitglieder
  • Beiträge: 10
  • Beigetreten: 09. Oktober 05
  • Reputation: 0

geschrieben 29. Juli 2006 - 18:58

Hallo erstmal,
ich habe ein problem mit meinem popup fenster. Es geht um eine seite mit groß und kleinkunden.
Die kleinkunden bekomen einen standard eintrag und bei großkunden soll ein popup fenster aufgehen wo wesentlich mehr informationen stehen.

folgende funktionen sind gegeben:

in der output.php ist die funktion:
PHP:

function do_einkauf_bra_body()
$braag_array = get_brancheng($katnr);
$braa_array = get_branchen($katnr);
display_brancheng($braag_array);
display_branchen($braa_array);



die function für get branchen und get_brancheng befindet sich in der br_fns.php

PHP:

function get_branchen($katnr)
{
if (!$katnr || $katnr == '')
return FALSE;
$conn = db_connect();
$result = mysql_query("select * from branchen
where katnr='$katnr' and kundeg<198 order by 'kundeg' DESC,'name' ");
if (!$result)
return FALSE;
$num_branchen = mysql_num_rows($result);
if ($num_branchen == 0)
return FALSE;
$result = db_result_to_array($result);
return $result;
}

function get_brancheng($katnr)

{
if (!$katnr || $katnr == '')
return FALSE;
$conn = db_connect();
$result = mysql_query("select * from branchen where
katnr='$katnr' and kundeg>198 order by 'kundeg' DESC,'name' ");
if (!$result)
return FALSE;
$num_brancheng = mysql_num_rows($result);
if ($num_brancheng == 0)
return FALSE;
$result = db_result_to_array($result);
return $result;
}



Die funktionen display_branche und display brancheg befinden sich auch in der output.php:

PHP:

function display_branchen($braa_array)
{

if (!is_array($braa_array)) {
echo '<br />In dieser Kategorie gibt es im Augenblick keine Einträge.<br />';
} else {
// Tabelle anlegen

foreach ($braa_array as $row) {
$url = 'einkaufdet.php?isbn=' . ($row['isbn']);
echo '
<tr>
<td class="hghkkrmu" width="100" height="50" align="center">';
if (@file_exists('../bilder/' . $row['isbn'] . '.gif')) {
$bran = '<img src='../bilder/' . ($row['isbn']) . '.gif' border=0 />';



do_html_url($url, $bran);

} else {
echo ' ';
}
echo '</td>
<td class="hghkkrmu" width="300" align="left">';
$bran = $row['name'];
do_html_url($url, $bran);
echo '</td></tr>';
}

}

}



function display_brancheng($braag_array)
{
if (!is_array($braag_array))
{
echo '<br />In dieser Kategorie gibt es im Augenblick keine Einträge.<br />';
} else {
foreach ($braag_array as $row)
{
$url = 'einkaufdet.php?isbn=' . ($row['isbn']);
echo '
<tr>
<td width="100" height="50" align="center">';
if (@file_exists('../bilder/' . $row['isbn'] . '.gif'))
{
$bran = '<img src='../bilder/' . ($row['isbn']) . '.gif' border=0 />';
do_html_url($url, $bran);

} else
{
echo ' ';
}
echo '</td> <td width="300" align="left">';
$bran = $row['name'];
do_html_url($url, $bran);
echo '</td></tr>';
}
}
}



Die informationen werden aus der datenbank an die einkaufdet weitergeleitet mit der entsprechenden isbn (positionsnr.).

Wie bekomme ich in der einkaufdet.php durch die if anweisung mein popup fenster auf?

$isbn = $_GET['isbn'];
if ($isbn == 579) {

?
}


Dieser befindet sich im output.php


var attribdan="location=no,menubar=no,toolbar=no,status=no";
attribdan+=",resizable=no,scrollbars=no,width=600,height=
600";

var subwindow=0;

function ClosePopUp()

{
if (!subwindow)
return;
if (subwindow.closed)
return;
subwindow.close();
}

function PopUpdan()
{
ClosePopUp()
subwindow=window.open("kundeg/kundesoundso.htm","popup",attribdan);
subwindow.moveTo(10,50);
}

Ich hoffe das dieses hier nicht zuviel auf einmal ist, ich weis aes aber nicht wie ich es sonst erklären soll.

Bedanke mich im voraus!
0

Anzeige



#2 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.263
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 29. Juli 2006 - 19:08

dein popup fenster wird ja über javascript aufgerufen. also muss der aufruf für das popup einfach innerhalb der geschweiften klammer stehen. da wo deine fragezeichen sind. da es sich um javascript und nicht um php handelt, musst du entweder den php-code an der stelle unterbrechen.

...
$isbn = $_GET['isbn'];
if ($isbn == 579) { ?>

<!-- hier das javascript für den popupaufruf -->

<?php  }
...

oder du gibst das javascript per "echo" aus. das kommt letztendlich aufs gleiche raus.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#3 _Fenix_

  • Gruppe: Gäste

geschrieben 29. Juli 2006 - 19:13

Ich persönlich finde einen Link mit target=blank angenehmer als jedes Popup, weil ich dann selbst aussuchen kann, ob ich ihn sehen will und er sicher nicht geblockt wird von meinem Browser.
Außerdem ist das westentlich einfacher zu realisieren.
0

#4 Mitglied ist offline   DAAC 

  • Gruppe: Mitglieder
  • Beiträge: 10
  • Beigetreten: 09. Oktober 05
  • Reputation: 0

geschrieben 29. Juli 2006 - 19:25

erstmal vielen dank für deine antwort gitarremann.

es funktioniert aber nicht.

so habe ich es versucht:

<script type="text/javascript">
<!--


var attribdan="location=no,menubar=no,toolbar=no,status=no";
attribdan+=",resizable=no,scrollbars=no,width=600,height=
600";

var subwindow=0;

function ClosePopUp()

{
if (!subwindow)
return;
if (subwindow.closed)
return;
subwindow.close();
}

function PopUpdan()
{
ClosePopUp()
subwindow=window.open("kundeg/dancomp.htm","popup",attribdan);
subwindow.moveTo(10,50);
}
//-->
</script>
<?php
if ($isbn == 579) { ?>

<script type="text/javascript">
<!--


var attribdan="location=no,menubar=no,toolbar=no,status=no";
attribdan+=",resizable=no,scrollbars=no,width=600,height=
600";

var subwindow=0;

function ClosePopUp()

{
if (!subwindow)
return;
if (subwindow.closed)
return;
subwindow.close();
}

function PopUpdan()
{
ClosePopUp()
subwindow=window.open("kundeg/kundesoundso.htm","popup",attribdan);
subwindow.moveTo(10,50);
}
//-->
</script>

<?php
}
else {
do_nav_header(); usw.
0

#5 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.263
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 29. Juli 2006 - 19:28

ja das könnte ich auch noch ergänzen. davon abgesehen, dass pop-ups nicht schön sind, könnte es auch zu problemen mit popup-blockern kommen. was die bedienung der seite dann ganz schön beeinträchtigt. ansonsten fällt mir noch ein, dass man dieses target nicht mehr verwendet, weil es dem user überlassen sein soll, wo sich sein angeklickter link öffnet. deshalb gibts unter xhtml strict auch schon gar kein target-attribut mehr. (find ich persönlich aber auch nicht so doll. zur offensichtlichen unterscheidung zwischen internen und externen links find ich das gar nicht mal so schlecht.) hab da ne andere lösung gefunden aber das geht langsam zu weit vom thema wech.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#6 Mitglied ist offline   DAAC 

  • Gruppe: Mitglieder
  • Beiträge: 10
  • Beigetreten: 09. Oktober 05
  • Reputation: 0

geschrieben 29. Juli 2006 - 19:38

ok ihr habt mich auch überredet, weg von popup.
wie kann ich es realisieren mit target blank. es mus in function display_brancheng($braag_array)
$url = 'einkaufdet.php?isbn=' . ($row['isbn']);
stehen.
habe es bis jetzt nicht hinbekommen und kann ich diesem fenster auch eine größe angeben?
target blank kenne ich nur aus html und kann es dort realisieren. hierbei geht es um die isbn(positionsnr.). die daten werden anhend dieser nr. in einkaufdet.php übergeben. wo mus ich target="blank " eingeben?
0

#7 Mitglied ist offline   DAAC 

  • Gruppe: Mitglieder
  • Beiträge: 10
  • Beigetreten: 09. Oktober 05
  • Reputation: 0

geschrieben 29. Juli 2006 - 19:50

uuppss, habe den fehler gefunden. target blank mus in der funktion function do_html_URL($url, $name)
stehen und es funzt.

es geht mir jetzt nur noch ob ich die größe noch ändern kann.

aber das ist wieder ein anderes thema.

jungs vielendank für euere hilfe
0

#8 _Fenix_

  • Gruppe: Gäste

geschrieben 31. Juli 2006 - 15:51

Größe ändern kannst du in dem neuen Fenster mit Java Script mit window.outerWidth und outerHeight. Aber das ist auch nicht unbedingt schön, vorallem bei tabbed browsing.
http://de.selfhtml.org/javascript/objekte/...htm#outer_width

@ Gitarremann: Wie kann man dann ohne target bei Frameset Navleisten dafür sorgen, dass im anderen Frame geladen wird?

Dieser Beitrag wurde von Fenix bearbeitet: 31. Juli 2006 - 15:52

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0