2012-03-26 33 views
12

Tôi có mã này.chèn tiếng vọng vào phần tử html cụ thể như div có id hoặc lớp

<html> 
<head> 
<style type="text/css"> 
body{background:#666666;} 
div{border:1px solid red;} 
</style> 
</head> 
<body> 
<?php 

$con = mysql_connect("localhost","root",""); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("juliver", $con); 

$result = mysql_query("SELECT * FROM hi"); 

while($row = mysql_fetch_array($result)) 
{ 

echo '<img src="'.$row['name'].'" />'; 
echo "<div>".$row['name']."</div>"; 
echo "<div>".$row['title']."</div>"; 
echo "<div>".$row['description']."</div>"; 
echo "<div>".$row['link']."</div>"; 
echo "<br />"; 
} 

mysql_close($con); 

?> 
</body> 
</html> 

mã trên hoạt động.

bây giờ, tôi muốn chèn này

echo '<img src="'.$row['name'].'" />'; 
echo "<div>".$row['name']."</div>"; 
echo "<div>".$row['title']."</div>"; 
echo "<div>".$row['description']."</div>"; 
echo "<div>".$row['link']."</div>"; 
echo "<br />"; 

vào div quy định hoặc thành phần khác trong html, ví dụ, tôi sẽ chèn này

echo '<img src="'.$row['name'].'" />'; 

vào các yếu tố html.

Tôi không biết cách thực hiện việc này, hãy giúp tôi. Cảm ơn

Juliver

+0

Bạn muốn chèn * những gì * và * trong đó *? Vui lòng sửa đổi câu hỏi của bạn – Phil

+0

bạn cần đảm bảo rằng các khóa đó tồn tại trong mảng $ row với isset ($ row ['something']) trước khi sử dụng nó –

Trả lời

2

tham chiếu cơ bản.

$sql = "INSERT INTO MyGuests (firstname, lastname, email) 
VALUES ('John', 'Doe', '[email protected]')"; 
if ($conn->query($sql) === TRUE) { 
    echo "New record created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 
0

bạn đã thử này ?:

$string = ''; 
    while($row = mysql_fetch_array($result)) 
    { 
    //this will combine all the results into one string 
    $string .= '<img src="'.$row['name'].'" /> 
       <div>'.$row['name'].'</div> 
       <div>'.$row['title'].'</div> 
       <div>'.$row['description'].'</div> 
       <div>'.$row['link'].'</div><br />'; 

    //or this will add the individual result in an array 
/* 
    $yourHtml[] = $row; 
*/ 
    } 

sau đó bạn echo $ Tring đến nơi bạn muốn nó được

<div id="place_here"> 
    <?php echo $string; ?> 
    <?php 
    //or 
    /* 
     echo '<img src="'.$yourHtml[0]['name'].'" />;//change the index, or you just foreach loop it 
    */ 
    ?> 
</div> 
+0

Lưu ý rằng: toàn bộ chuỗi được nối. Tôi không chắc chắn nếu bạn muốn in riêng nó. – adedoy

1

không có cách nào cụ thể nhắm mục tiêu một phần tử với php, bạn có thể nhúng mã php giữa thẻ div hoặc sử dụng jquery sẽ dài hơn.

+0

ahmm .. Tôi đoán cách tốt nhất là jquery máng hoặc javascript hoặc ajax là tốt, bạn có thể cho một điều về làm thế nào để làm điều đó trên jquery xin vui lòng? –

2

Bạn có thể viết mã php trong một tệp khác và đưa nó vào đúng nơi bạn muốn.

AJAX cũng được sử dụng để hiển thị nội dung HTML được PHP tạo thành một thẻ HTML được chỉ định.

Sử dụng jQuery:

$.ajax({url: "test.php"}).done(function(html) { 
    $("#results").append(html); 
}); 

Trên mã sẽ thực hiện test.php và kết quả sẽ được hiển thị trong phần tử với id kết quả.

0

Bạn có thể lặp lại nó bằng cách lấy lại dữ liệu

while($row = mysql_fetch_assoc($result)){ 
//another html element 
<div>$row['name']</div> 
<div>$row['title']</div> 
//and so on 
} 

hoặc bạn cần phải đặt nó trên biến và gọi hiển thị lại nó trên phần tử html khác

$name = $row['name']; 
$title = $row['title'] 
//and so on 

sau đó đặt nó trên phần tử khác, nhưng nếu bạn muốn gọi tất cả dữ liệu của từng id, bạn cần phải thực hiện mã đầu tiên

0

Cũng từ mã của bạn, rõ ràng rằng $ row ['name'] là vị trí của hình ảnh trên tập tin, hãy thử thêm thẻ div như thế này

echo '<div>' .$row['name']. '</div>' ; 

và làm tương tự cho người khác, cho tôi biết nếu nó hoạt động bởi vì bạn biết rằng một trong những đoạn mã của bạn được đưa ra kết quả mong muốn vì vậy hãy thử này và nếu div có một số specifier lớp sau đó làm điều này

echo '<div class="whatever_it_is">' . $row['name'] . '</div'> ; 
1

Những điều duy nhất tôi có thể nghĩ đến là

  1. bao gồm các file
  2. thay thế các yếu tố w file ithin sử dụng preg_match_all
  3. sử dụng các biến giao

tôi gần đây đã được sử dụng str_replace và thiết lập văn bản trong phần HTML như vậy

{{TEXT_TO_REPLACE}} 

sử dụng file_get_contents(), bạn có thể lấy dữ liệu html và sau đó tổ chức nó như thế nào bạn thích.

đây là một bản demo

myReplacementCodeFuntion(){ 
    $text = '<img src="'.$row['name'].'" />'; 
    $text .= "<div>".$row['name']."</div>"; 
    $text .= "<div>".$row['title']."</div>"; 
    $text .= "<div>".$row['description']."</div>"; 
    $text .= "<div>".$row['link']."</div>"; 
    $text .= "<br />"; 
    return $text; 
} 

$htmlContents = file_get_contents("myhtmlfile.html"); 
$htmlContents = str_replace("{{TEXT_TO_REPLACE}}", myReplacementCodeFunction(), $htmlContents); 
echo $htmlContents; 

và bây giờ là một tập tin bản demo html:

<html> 
<head> 
<style type="text/css"> 
body{background:#666666;} 
div{border:1px solid red;} 
</style> 
</head> 
<body> 
{{TEXT_TO_REPLACE}} 
</body> 
</html> 
+0

Tôi đã sử dụng phtml (5 năm sau), điều này làm cho việc này trở nên dễ dàng hơn. Bạn có thể sử dụng điều này ở giữa html: Và để thực hiện một foreach bạn có thể làm điều này: Công cụ vòng lặp, sau đó Adsy2010

1

Không có cách nào mà bạn có thể làm điều đó trong PHP khi HTML đã được tạo ra. Những gì bạn có thể làm là sử dụng JavaScript hoặc jQuery:

document.getElementById('//ID//').innerHTML="HTML CODE"; 

Nếu bạn phải làm điều đó khi URI của bạn thay đổi bạn có thể lấy URI và sau đó chia nó và sau đó chèn HTML trong kịch bản tự động:

var url = document.URL; 
// to get url and then use split() to check the parameter 
1

nếu yo muốn đặt trong một div như i có cùng một công việc và tôi làm điều đó như

<div id="content> 
<?php 
while($row = mysql_fetch_array($result)) 
{ 
echo '<img src="'.$row['name'].'" />'; 
echo "<div>".$row['name']."</div>"; 
echo "<div>".$row['title']."</div>"; 
echo "<div>".$row['description']."</div>"; 
echo "<div>".$row['link']."</div>"; 
echo "<br />"; 
} 
?> 
</div> 
0

Bạn phải đặt div với nháy đơn xung quanh nó. ' ' số Div phải ở giữa báo giá đơn. Tôi sẽ xóa nó với một ví dụ:

<?php 
     echo '<div id="output">'."Identify".'<br>'.'<br>'; 
     echo 'Welcome '."$name"; 
     echo "<br>"; 
     echo 'Web Mail: '."$email"; 
     echo "<br>"; 
     echo 'Department of '."$dep"; 
     echo "<br>"; 
     echo "$maj"; 
     '</div>' 
?> 

hy vọng sẽ hữu ích.

0

Bạn có thể thêm trực tiếp bằng kết hợp php và javascript.

Bên trong PHP gọi JAVASCRIPT

echo "document.getElementById ('divId') innerHTML = '112'
.";

Các vấn đề liên quan