2012-12-22 9 views
6

W zasadzie chciałbym przekazać zmienną PHP get z linku do Javascript, dzięki czemu mogę otworzyć nowe, mniejsze okno z odpowiednią treścią z wartości przekazanej pod adres URL. Próbowałem zrobić to poniżej i nie mogłem Naprawdę doceniam twoją pomoc. Poniższy kod generuje hiperłącza obrazków, z których każdy ma identyfikatory z bazy danych, więc po kliknięciu obrazu powinno zostać otwarte nowe okno, ale identyfikator powinien zostać przekazany do metody javascript window.open ... Próbowałem to zrobić z AJAX, aby załadować zawartość zgodnie ze zmienną get, ale nie mogłem tego zrobić !!Jak mogę przekazać zmienne URL GET URL, aby otworzyć okno z Javascriptem?

<?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

dlaczego nie 'while ($ row = $ result-> FETCH_ASSOC()) {}' ?? –

+0

ostatni pasujący nawias klamrowy znajduje się na końcu skryptu. Chciałbym otworzyć okno z przekazaną zmienną. –

Odpowiedz

2

Nie zapomnij zacytować adresu URL w funkcji Javascript open. Ponadto, czy rozważałeś użycie wyjścia printf()?

$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 oznacza dziesiętny i %s przedstawia łańcuch do sznura (stąd $link). Kolejna wskazówka: jeśli nie masz żadnego konkretnego powodu, aby użyć pętli for, użycie pętli while spowoduje, że twój kod będzie czystszy i krótszy.

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

TY JESTEŚ GENIUSEM ... DZIĘKUJĘ !!!! Naprawdę mnie uratowałeś ... Jak mogę przyjąć twoją odpowiedź ... Chciałbym, żebyśmy pozostali w kontakcie .. Jestem z Los Angeles, CA –

+0

Jak mogę otworzyć to okno z 200 i 100? –

+0

jak ustawić to okno na szerokość 100 i wysokość 200 .. oddzielone otwarte okno? Chciałbym mieć ten efekt z kodu, który już mi dałeś .. –

0

Kiedy skrypt renderuje HTML na stronie parametr do window.openURL jest nie są renderowane jako string.

Co czyni Twój kod aktualnie na stronie:

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

URL profile.php?id={some_id} jest nie ciąg kiedy jest analizowany na kliencie.

Spróbuj tego:

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

które nie działało w ogóle –

+0

@GuyRwayitare To dziwne. Wszystko, co zrobiłem, to dodanie cytatów do twojego adresu URL w wywołaniu JS. Czy otrzymujesz błąd? Rozwiązanie firmy inhan powyżej jest czystsze, ale zasadniczo jest takie samo. –

+0

brak błędu, strona się nie otwiera .. –