2012-12-22 7 views
6

Also im Grunde möchte ich eine PHP get-Variable von einem Link zu Javascript übergeben, so dass ich ein neues, kleineres Fenster mit dem entsprechenden Inhalt aus dem Wert an die URL übergeben kann. Ich habe versucht, das unten zu tun und ich konnte nicht Ich würde deine Hilfe wirklich schätzen. Der folgende Code erzeugt Bildhyperlinks, die jeweils ihre IDs von der Datenbank haben. Wenn also auf das Bild geklickt wird, sollte ein neues Fenster geöffnet sein, aber die ID sollte an das JavaScript-Fenster übergeben werden. Open-Methode ... Ich habe versucht, das zu tun mit AJAX, um den Inhalt entsprechend der Get Variable zu laden, aber ich konnte es nicht tun !!Wie kann ich PHP GET URL-Variablen übergeben, um ein Fenster mit Javascript zu öffnen?

<?php 
require('../database/connect.php'); 
database_connect(); 
$query = "select * from Entertainers"; 
$result = $connection->query($query); 
$row_count =$result->num_rows; 

for($i = 1; $i <= $row_count; $i++) 
    { 
    $row = $result->fetch_assoc(); 


?> 
<?php echo "<a href='' onclick='window.open(profile.php?id=".$row['ID'].")'><img src ='../".$row['Picture']."' width='100' height='100' /> </a>"; } ?> 
+0

warum nicht 'while ($ row = $ result-> fetch_assoc()) {}' ?? –

+0

Die letzte passende geschweifte Klammer ist am Ende des Skripts .. Ich würde gerne das Fenster mit der übergebenen Variablen öffnen. –

Antwort

2

Vergessen Sie nicht, die URL in der Javascript open Funktion zu zitieren. Haben Sie darüber hinaus in Erwägung gezogen, printf() für die Ausgabe zu verwenden?

$link = 
'<a href="" onclick="window.open(\'profile.php?id=%d\')">' 
. '<img src="../%s" width="100" height="100" /></a>' . PHP_EOL; 

for($i = 1; $i <= $row_count; $i++) { 
    $row = $result->fetch_assoc(); 
    printf($link,$row['ID'],$row['Picture']); 
} 

%d stellt eine Dezimalzahl und %s stellt eine Zeichenkette in der obigen Zeichenfolge (daher die $link). Noch ein Tipp: Wenn Sie keinen besonderen Grund haben, die for-Schleife zu verwenden, können Sie mit einer while-Schleife Ihren Code sauberer und kürzer machen.

while ($row = $result->fetch_assoc()) { 
    printf($link,$row['ID'],$row['Picture']); 
} 
+0

SIE SIND EIN GENIUS .. THAANK YOU !!!! Du hast mich wirklich gerettet .. Wie kann ich deine Antwort akzeptieren ... Ich möchte, dass wir in Kontakt bleiben .. Ich komme aus Los Angeles, CA –

+0

Wie kann ich das geöffnete Fenster mit 200 und 100 ?? –

+0

wie kann ich das Fenster eine Breite von 100 und Höhe von 200 .. ein getrenntes geöffnetes Fenster machen ?? Ich möchte diesen Effekt von dem Code haben, den Sie mir bereits gegeben haben. –

0

Wenn Ihr Skript auf der Seite der HTML macht die URL Parameter window.open ist nicht als string gemacht zu werden.

Was zur Zeit des Code auf der Seite macht:

<a href='' onclick='window.open(profile.php?id={some_id})'><img src ='../".$row['Picture']."' width='100' height='100' /> </a>"; } ?> 

Die URL profile.php?id={some_id} ist nicht eine Zeichenfolge, wenn es auf dem Client analysiert wird.

Versuchen Sie folgendes:

<?php echo "<a href='' onclick=\"window.open('profile.php?id=" . $row['ID'] . "');\"><img src ='../".$row['Picture']."' width='100' height='100' /> </a>"; ?> 
+0

das hat überhaupt nicht funktioniert –

+0

@GuyRwayitare Das ist seltsam. Alles, was ich getan habe, war, Zitate um Ihre URL im JS-Aufruf hinzuzufügen. Erhalten Sie einen Fehler? Inhans Lösung ist sauberer, aber es ist im Wesentlichen das Gleiche. –

+0

kein Fehler, die Seite öffnet sich einfach nicht. –

Verwandte Themen