Php ile div içeriğini post etmek

Kodla Büyü

freemce

Site Gezgini
Mesajlar
35
Php ile div içeriğini başka sayfaya gönderip, o sayfada excel yada word e nasıl aktarabilirim?
 
problemi parçala bence
Önce post işini hallet sonra excel işini

Div içeriğinden kastınız ne ?
Tarayıcı ekranındaki saufadan bir bölümmü. Yoksa sunucuda oluşmuş bir html string mi.

Eğer tarayıcıda bir div alanı ise bunu javascript ile alıp sunucuda dönüşüm işi yapacak php scriptine post edin.
 
soruları aktar butonu ile veritabanından soruları alıyorum ve dive aktarıyorum.
daha sonra göster butonu bu soruları ile excel veya worda gondermek istiyorum.
 

Ekli dosyalar

  • div.jpg
    div.jpg
    97.2 KB · Görüntüleme: 97
soruları div e aktarma işini sanırım ajax kullanmadan yapıyorsun.
server deki div içine soruları aktaran kodları yeni bir dosya olarak kaydet.
mesela
domain.com/worde.php?id=1246
şeklinde olsun.
sonra veritabanından çektiyin veriyi herhangi bir ilave yapmadan direk echo ile yaz (php ise echo tabi)



<?php

header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment; filename=document_name.doc")

echo "sorular buraya gelecek."
echo "sorular buraya gelecek."
echo "sorular buraya gelecek."

?>




Tabi sayfaı daha düzegün görmek için word belgesinin HTML olarak kaydedilmiş halini kullana bilirsin


https://www.codeproject.com/Questions/297486/Dynamically-generate-a-MS-Word-document-using-HTML

HTML:
<html

    xmlns:o='urn:schemas-microsoft-com:office:office'

    xmlns:w='urn:schemas-microsoft-com:office:word'

    xmlns='http://www.w3.org/TR/REC-html40'>
    <head><title>Time</title>
    <xml>
        <w:worddocument xmlns:w="#unknown">
            <w:view>Print</w:view>
            <w:zoom>90</w:zoom>
            <w:donotoptimizeforbrowser />
        </w:worddocument>
    </xml>
    <style>
        @page Section1
        {size:8.5in 11.0in;
         margin:1.0in 1.25in 1.0in 1.25in ;
         mso-header-margin:.5in;
         mso-footer-margin:.5in; mso-paper-source:0;}
        div.Section1
        {page:Section1;}
    </style>
</head>
<body lang=EN-US style='tab-interval:.5in'>
    <div class="Section1">
<h1>Hello Word!</h1>
    </div>
</body>
</html>


Yok ben daha iyi birşeyler istiyorum diyorsan

https://github.com/PHPOffice
 
hocam yardımınız için teşekkürler. problemi çözdüm.
anasayfa bu şekildeydi.

<form action="yaz.php" method="post" id="my_form">
<h3>Ders</h3>
<select id="ders">
<option value="seçim yapılmadı">Lütfen Ders Seçiniz</option>
<?php
$query = mysql_query("SELECT * FROM dersler order by dersid");
while ($row = mysql_fetch_array($query))
{
$dersid= $row['dersid'];
$dersadi=$row['dersadi'];
echo '<option value='.$dersid.'>'.$dersadi.'</option>';
}



?>

</select>

<h3>Modul</h3>
<select id="modul">
<option value="seçim yapılmadı">Lütfen Modul Seçiniz</option>
</select>

<h3>Konu</h3>
<select id="konu">
<option value="seçim yapılmadı">Lütfen Konu Seçiniz</option>
</select>
<br>
<h3 id="sorusayisiyazisi">Soru Sayısı</h3>
<input type="text" name="adettext" id="adet" value="3"><br>
<p><input type="button" id="getir" value="Soruları Getir"/></p>
<table width="600" border="0" id="soruhazirlatablosu">
<tr>
<td width="120" class="saga"><b>Soruyu Yazınız:</b></td>
<td><textarea name="sorucumle" id="sorucumle" cols="60" rows="4"></textarea></td>
</tr>
<tr>
<td width="" class="saga"><b>A) </b></td>
<td><textarea name="asecenegi" id="asecenegi" cols="60" rows="1"></textarea></td>
</tr>
<tr>
<td width="" class="saga"><b>B) </b></td>
<td><textarea name="bsecenegi" id="bsecenegi" cols="60" rows="1"></textarea></td>
</tr>
<tr>
<td width="" class="saga"><b>C) </b></td>
<td><textarea name="csecenegi" id="csecenegi" cols="60" rows="1"></textarea></td>
</tr>
<tr>
<td width="" class="saga"><b>D) </b></td>
<td><textarea name="dsecenegi" id="dsecenegi" cols="60" rows="1"></textarea></td>
</tr>
</table>
<input type="button" id="ekle" value="ekle" name="ekle"/></p>
<p id="uyari"></p>

<input type="submit" id="wdy" value="Word Dosyasına Yaz" name="submit">
<p><div id="sorular" name="soru1"></div></p>

</form>
*************************
//jquery sayfası

$(document).ready(function(){
$("#my_form").on("submit", function () {
var hvalue = $('#sorular').html();
$(this).append("<input type='hidden' name='soru1' value=' " + hvalue + " '/>");

});
});

******************************
yaz.php sayfasınıda alttaki gibi yaptım.
<html>

<style>
.soru1
{
margin:auto;

}
</style>
<body>
<div name="soru1" class="soru1">
<?php
echo $_POST['soru1'];
?>
</div>

</body>

</html>
<?php
//$h1=header("Content-Type: application/vnd.ms-excel");
//$h2=header("Content-disposition: attachment;filename=s.xls");
header("Content-type: application/msword");
header("Content-Disposition: attachment; filename=s.doc");

?>
 
şimdi bir problemim daha var . alttaki $_SESSION['b'] yi anasayfadaki word dosyasına basınca nasıl yok edebilirim.
PHP:
<?php
include("ayar.php");
mysql_query("SET NAMES UTF8");

$konuid=$_POST["konuid"];
$adet=$_POST["yazilansorusayisi"];

$query = @mysql_query("SELECT * FROM soru where konuid='$konuid' order by rand() limit $adet ");
    session_start();
        //$_SESSION['a']=1;
    
    while ($row = @mysql_fetch_array($query))
    {        @$_SESSION['b']=$_SESSION['b']+1;
            $x=$_SESSION['b'];
            $soru=$row["sorucumle"];
            $asecenegi=$row["asecenegi"];
            $bsecenegi=$row["bsecenegi"];
            $csecenegi=$row["csecenegi"];
            $dsecenegi=$row["dsecenegi"];
    
        echo $x. ") ".$soru."<br>"."A) ".$asecenegi."<br>"."B) ".$bsecenegi."<br>"."C) ".$csecenegi."<br>"."D) ".$dsecenegi."<br><br>";
        $x=$x+1;
    }
        @$_SESSION['b']=$x-1;
    
?>
 
Geri
Üst